14. 数据库设计
这一章我们讲解数据库的设计
着重聚焦于ER模型的设计,还有些解答技巧
不过在讲解ER模型设计之前,我们还需要看下数据库设计过程
自上往下的讲解,我们首先是关于需求分析,这一环境我们需要完成输出数据流图,数据字典,需求说明书这类产物
之下是概念结构设计,这一阶段就是输出ER模型,同时这一阶段和实际的物理数据库无关
之后是逻辑结构设计,这阶段涉及到了关系模式
最后是和实际物理数据库相关的物理设计层次
关于ER模型的细节
我们可以参考之前的范式中讲到的一对一,一对多,多对多,多元的关系
其次,我们看些例题
我们看问题1,对于这个问题一个部门可以有多个员工,所以1应该是 1:n
然后是一个客户可以预定多个房间,所以3是1:n 一个客房可以绑定多次预定,所以还是1对多的关系
然后进行补完上图,主要是权限是个孤岛,而且我们可以分析得知,往往员工和权限是绑定的,所以加上一个1:n的关系
问题3,主要是
首先是员工,员工号是一个,其次是部门号
然后是客房,需要客房号进行补完
之后是客户,需要加上身份证号
最后是预定情况,需要确定哪个人,哪个客房,所以需要身份着和客房号
最后是问题四
一般来说,这种题的标准答案就是增加了查询速度,但是数据会因此冗余
然后另一道题
对于问题一,其实可以从最开始的图得到,一个商场下有多个部门所以应该是 1:m
一个部门有一位经理,所以是1:1
一个部门下有多个员工,所以是 1:m
一个员工对应一个经理
然后是问题2
部门的主键必然是部门编号,a则是商场编号
员工的主键必然是员工编号,b则是部门编号
C则是员工编号和部门编号
最后是问题3
则是员工和紧急联系人的1:m关系
ß