软件设计师下午题二 E-R图

1、E-R图

(1)实体

弱实体是双边矩形:

子实体相当于继承了父类的子类:

父类和子类之间连接的时候;直线+圆圈(有直线就不用管有没有圆圈)

(2)属性

重点是简单属性:不可再分的

复合属性可再分的

超市地址属于复合属性,因为是可再分的。

(3)联系

两个实体之间的联系:

学生 联系 课程

1 : n 表示一个学生对应多个课程

m : 1 表示一个课程可以被多个学生选择

分别将左边的两个关系取并得m,同样的右边的取n,则学生和课程为多对多的关系!!!

两个以上实体的联系:

从上述的表述中可得下面三个实体之间的联系!!!

病人 医生 病房

m n 1 一个病房对应多个病人和多个医生

1 1 1 一个医生负责一个病房,一个病人只属于一个病房

m : n : 1 的关系

2、问题一介绍

补充E-R图中缺失的联系

(1)例题一 2011年下

(2)2014年下半年

(3)2018下

3、问题二介绍

主键在一个元组中只有一个!

外键就是在当前关系中不是主键,但是在别的关系中是主键的属性就是当前关系的外码

(1)一对一关系转换有两种方式

1、再新创建一个联系关系元组,分别存放其余关系的主键

2、将其中一个元组中的主键放到另一个元组中

(2)一对多

一般是将1加入到m(多)的元组中,以多的元组为主

(3)多对多

此时(职工号,设备号)共同作为一个组合去唯一的表示数据

(4)三个实体之间的联系

有 一对多对多 和多对多对多

类似于多对多将实体的主键都拿出来组成一个元组去唯一的表示数据

(5)超类和子类的转换

将父类的主键加到每一个子类中

(6)问题二题型

填空、指出某主键和外键

(7)2011年下

关系归并是1 方归并到 多 方数据中!

子实体与超实体在属性上是等价的!!!

如上所示就是将员工属性归并到托运申请中,将部门属性归并到员工属性中!

a: 部门号 b:客户号 c:客户号、申请号 d:申请号

部门 主键:部门号 外键:经理

员工 主键:员工号 外键:部门号

安排承运 主键:申请号 外键:业务员

(8)2014年下

并给出 部门、配给关系模式的主键和外键

a:超市名称、部门名称 b:员工号、超市名称、部门名称 c:商品号

部门 主键:(超市名称,部门名称) 外键:部门经理

配给 主键:(商品号,业务员,配给时间) 外键:商品号、业务员

主键最好用括号的形式表示,如果该关系模式中包括时间属性,该模式的主键大概率也包含时间属性

外键则只要当前关系模式中的这个属性是别的实体的主键,他就是外键,某属性即有可能是主键,同时也是外键

(9)2018下

a:经理 b:分公司编号、主管号 c:隶属部门、岗位

部门 主键:部门号 外键:分公司编号、主管号

员工 主键:员工号 外键:隶属部门(部门号)

外键最好是别的关系中的主键名称,更稳健!

相关推荐
橙淮5 小时前
并发编程(六)
java·jvm
拽着尾巴的鱼儿5 小时前
springboot openfeign 自定义feign 接口重试机制
java·spring boot·后端
白露与泡影5 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
longxiangam5 小时前
esp-idf 中 mipi dsi 使用的笔记
笔记
喜欢踢足球的老罗5 小时前
从移动开发转型 AI Agent 工程师:我做了一个开源学习系统
人工智能·学习
EntyIU6 小时前
JVM内存与GC笔记
java·jvm·笔记
wuxinyan1236 小时前
工业级大模型学习之路030:Streamlit 企业级智能体前端工作台
前端·学习·streamlit·智能体
XS0301066 小时前
并发编程 六
java·后端
yaoxin5211236 小时前
419. 现代 Java IO 最佳实践 - 写入文本文件
java·windows·python
雪宫街道6 小时前
synchronized 锁的范围:对象锁、类锁与代码块锁
java·jvm·后端·面试