软件设计师下午题二 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:隶属部门、岗位

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

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

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

相关推荐
Lhan.zzZ1 小时前
笔记_2026.4.28_004
c++·ide·笔记·qt
wuminyu3 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
其实防守也摸鱼4 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
网络工程小王4 小时前
【LangChain 大模型6大调用指南】调用大模型篇
linux·运维·服务器·人工智能·学习
qq_571099354 小时前
学习周报四十三
学习
callJJ5 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring
小郑加油5 小时前
python学习Day12:pandas安装与实际运用
开发语言·python·学习
wbs_scy5 小时前
Linux线程同步与互斥(三):线程同步深度解析之POSIX 信号量与环形队列生产者消费者模型,从原理到源码彻底吃透
java·开发语言
Yeh2020586 小时前
Filter与Listener笔记
笔记
九成宫6 小时前
Git 与远程仓库实操记录:克隆、配置、分支推送与问题排查
笔记·git·ssh