【软件设计师-从小白到大牛】下午题基础篇:第二章 数据库设计

简介: ER模型:是实体联系模型,跟DBMS无关,也就是跟具体的数据库管理系统没有关系。概念结构设计:完成ER模型的建模工作。

章节提要


image.png

一、数据库设计过程

image.png


ER模型:是实体联系模型,跟DBMS无关,也就是跟具体的数据库管理系统没有关系。

概念结构设计:完成ER模型的建模工作。

二、E-R模型

image.png

image.png


一对一:联系可以合并到任何一边。

一对多:联系可以合并到多的那边。

多对多:联系只能作为一个单独的关系模式。

三、答题技巧

image.png


问题一

问题一的题目一般是补充缺失的联系。

做题方法:根据需求描述中的文字(…个…属于/有…个…),判断实体间联系类型,从而补充E-R图中的联系。


弱实体:

(注:下图来自前言中up主视频)

5473d96d037431ff36a7caacf18b8e10_99bf9455d37f4650a185897dc69092d4.png

子实体:

(注:下图来自前言中up主视频)

ac1ae413a0f17770caa235371823d0ed_de48b45236f940c1bb37c466dd2a0b97.png

(注:下图来自前言中up主视频)

63c1d8987ee8a972b1e41937b7e90ad6_7305b649e4d445cf981cc4ba32c9d847.png

实体与实体之间不能直接相连,需通过联系。两个实体与其联系(或更多)整体作为一个聚合实体,也就是特殊的实体。

无法确定联系时可以根据关系模式进行判断。

问题二/三

问题二/三的题目一般是补充关系模式中的属性,以及主键与外键的考察。

做题方法:首先根据需求描述中文字(…信息包括…)来检查关系模式中是否有缺失,然后再根据完整性约束来对关系模式进行检查,从而补充关系模式中的属性;一般(…号)为一个关系模式的主键,如果两个实体之间有联系,要考虑关系模式的转换,根据关系模式的转换原则来判断主、外键。


若题目中存在“不同的A具有不同的B”,说明A能推导出B(即A->B)。

在需求分析中存在的,而在逻辑结构设计阶段关系模式中不存在的,逻辑结构阶段的关系模式中需要补上。然后再考虑联系的转换而导致增加的属性。

(注:下图来自希赛网)

437f4bc0eb2a91ad166930f176b99aa8_10817b3713904b939c3a55646beec5f1.png

(注:下图来自希赛网)

c2b1b47c91b84333f0e77e80647de3f9_0edaf2eadde24b778d3f6e951a07ad4a.png

三个及以上实体之间的关系也是像多对多联系一样转换为一个单独的关系模式(转换方法也类似,将与联系相关的实体的码放入关系模式中,再加上联系本身的属性即可,该关系模式的主键为加入的所有的实体的主键的组合)。填缺少属性时不需要考虑该关系的合并问题。

外键:该属性不是该关系模式的码(主键),而是其他关系的码(主键)。

关系模式中主键有下划线,外键有下划虚线。

完整性约束关系(即求 主键与外键,可以写文字也可以在属性下划线(主键下划线,外键下划虚线))。

判断主、外键时,需求分析结果 中有说明的优先依靠需求分析结果中 “唯一标识” 来判断主键、外键等;不要想当然,有时题目给出的关系模式并不完整,可能没有多对多联系转换成的独立关系模式。

组合主键中的任一其它关系中的主键,单独拎出来就是外键。

问题三/四

问题三/四的题目一般属于拓展类型题型,一般是增加一个实体后在原有E-R图中补充联系、并且给出相应的关系模式。


为E-R图新增实体时,要考虑 新增实体的主键 是什么,以及 新增实体中可能添加的联系转换后的某方实体的主键。

添加属性时,是用椭圆,然后连接到实体上。

若题目中说某个实体与某个实体不存在直接联系,则说明这两个实体之间不需要补充联系。

四、案例分析

1、案例1

image.png

image.png


image.png

image.png

正确答案:

1)员工:部门 = n:1、 客户:客房 = 1:n、 客房:客户= 1:m

2)注:这里将权限视为两种,管理人员权限和服务人员权限

image.png

3)员工号、部门号

客房号

身份证号

岗位

身份证号、客房号

4)缺点:数据冗余,优点:减少连接 查询时间少。


2、案例2

image.png

image.png

image.png


image.png

image.png

正确答案:

1)

image.png

2)a)商场编号、b)部门编号、c)员工编号

主键分别为:部门编号、员工编号、员工编号

外键分别为:商场编号、部门编号、员工编号

3)紧急联系人、员工:紧急联系人=n:1

紧急联系人(员工编号、紧急联系人姓名、紧急联系人联系电话)


目录
相关文章
|
2月前
|
SQL 存储 BI
【软件设计师备考 专题 】数据库语言(SQL)
【软件设计师备考 专题 】数据库语言(SQL)
91 0
|
2月前
|
存储 安全 算法
【软件设计师备考 专题 】数据库的控制功能(并发控制、恢复、安全性、完整性)
【软件设计师备考 专题 】数据库的控制功能(并发控制、恢复、安全性、完整性)
58 0
|
2月前
|
编解码 缓存 数据库
【软件设计师备考 专题 】编写内部设计文档:屏幕设计和数据库设计
【软件设计师备考 专题 】编写内部设计文档:屏幕设计和数据库设计
65 0
|
2月前
|
存储 数据采集 数据挖掘
【软件设计师备考 专题 】数据仓库和分布式数据库基础知识
【软件设计师备考 专题 】数据仓库和分布式数据库基础知识
204 0
|
2月前
|
存储 SQL 缓存
【软件设计师备考 专题 】数据库模型(概念模式、外模式、内模式)
【软件设计师备考 专题 】数据库模型(概念模式、外模式、内模式)
75 0
|
2月前
|
SQL 存储 安全
【软件设计师备考 专题 】数据库管理系统的功能和特征
【软件设计师备考 专题 】数据库管理系统的功能和特征
75 0
|
5月前
|
分布式数据库 数据库
【中级软件设计师】—(针对上午题)数据库知识总结(二十七)
【中级软件设计师】—(针对上午题)数据库知识总结(二十七)
|
5月前
|
SQL 存储 数据库
【中级软件设计师】—(针对上午题)数据库知识总结(二十六)
【中级软件设计师】—(针对上午题)数据库知识总结(二十六)
|
5月前
|
设计模式 测试技术 数据库
【中级软件设计师】—数据库设计和UML考点总结篇(七)
【中级软件设计师】—数据库设计和UML考点总结篇(七)
|
3月前
|
数据采集 SQL 安全
【中级软件设计师】—数据库系统考点总结篇(三)
【中级软件设计师】—数据库系统考点总结篇(三)