软考--软件设计师--下午题数据库设计
数据库设计提问1、实体联系图2、逻辑结构设计的(a)(b)空缺及完整性的约束关系3、主键跟外键总结:提问通常都是问:补充实体联系图补充逻辑结构设计的(a)(b)空缺及完整性的约束关系分析关系模式的主键跟外键最后一道题看情况1、实体联系图多重度:联系的类型可分为: 一对一(1:1) &
提问
通常都是问:
- 补充实体联系图
- 补充逻辑结构设计的(a)(b)空缺及完整性的约束关系
- 分析关系模式的主键跟外键
- 最后一道题看情况
1、实体联系图
多重度:联系的类型可分为:
一对一(1:1)
一对多(1:n)/ 1:*多对多 (n:m) / * : *
多重度:0,1就代表0或者1个,*就代表至少一个联系名:通常题目会说可以用联系1,联系2,联系3替代,如果没有说你就看一下题目使用什么表达的
提问,举例子说明一下
判断多重度分三步
题目说: 每个部门有多名员工,每个员工只能隶属于一个部门
当我们判断部门与员工之间多重度的时候
1、我们先把写一个部门,对应多名员工,部门:员工 =1:n
2、再去判断一个员工只属于一个部门,员工:部门 = 1:1
3、再把两个合并起来,部门:员工 = 1 :n
这里补充一点就是,经理是员工的一种,员工是超类,经理是子类,可以理解是继承关系,然后经理就用上面那种表示,连接的线上有一个圈圈,一个矩形两边有竖线,研发员、业务员、主管都是子类
还有一种就是弱实体(一个实体必须依赖于另一个实体存在),用两个矩形框表示
下面的成绩单就是学生的弱实体
2、逻辑结构设计的(a)(b)空缺及完整性的约束关系
一个一个比对
分公司还缺经理、部门缺主管号,分公司编号、员工缺隶属部门、岗位
(a)经理
(b)主管号,分公司编号
(c)隶属部门、岗位
这道题目恰好结果就是这个,但是我们在进行转换成逻辑结构设计的时候,要关注多重度
1对1:将一个实体的主键增加到另一个实体的关系模式里面
1对多:将一个实体的主键增加到多的那个实体的关系模式里面
多对多:将他们之间的联系本身转成一个实体,然后增加多对多两个实体的主键
培训是连接新入职员工和课程的,并且是多对多关系,将联系变成一个实体
培训(课程号、新入职员工、成绩)之所以会有成绩,是因为题目中的描述,培训的时候会取得成绩,成绩本身就是培训的属性
小总结:分两步,一个是跟文中比对看看缺啥,第二个看多重度
3、主键跟外键
完整性的约束关系:其实就是要你写出他们的主键跟外键
补充
数据库完整性约束:
1. 分为实体完整性:定义主键
2. 参照完整性:外键
3. 用户自定义完整性:属性约束
主键是唯一标识每一个元组的,就是我根据主键只能找到唯一信息,如果题目明确说明唯一标识,就说明这是主键,如果没有你要关注他是否是复合主键
分公司编号主键:分公司编号
部门关系主键:部门号
员工关系:员工号
外键,我们在找外键的时候,看关系模式,有哪些是别的关系模式里面的,就可以理解为外键,如果是本身自带的属性就不算外键,比如我们刚才上面说的那个成绩本身就是培训的属性,成绩就不算外键
比如员工号里面的隶属部门
他其实对应的就是部门号里面的内容
所以员工号的外键就是部门号
总结:
实体联系图:判断联系跟多重度
关系模式:一对一,看多重度
主外键:看关系模式,也可以对比多重度
文中的内容几乎每一句都有用,所以再看题目的时候一定要仔仔细细观察
觉得还可以的就点个赞吧
更多推荐
所有评论(0)