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

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

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

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

相关推荐
YangYang9YangYan29 分钟前
2026 校招审计风控岗位 JD 拆解,工具、专业能力与面试考点
java·大数据·人工智能·数据分析
传奇开心果编程2 小时前
【Rust入门知识点学与练】第24课:Trait 基础
开发语言·学习·rust
wuminyu5 小时前
Kafka中sendfile与mmap实现机制解析
java·linux·c语言·jvm·c++
考虑考虑7 小时前
Java实现hmacsha256加密算法
java·后端·java ee
captain3767 小时前
▲网络原理(2)-TCP
java·服务器·网络·tcp/ip·java-ee
潜心一志7 小时前
HALCON软件——基本架构,算子参数
学习·计算机视觉
MetaLite7 小时前
SpringBoot接口分层规范-外网网关内部服务与参数边界
java·数据库·spring boot
Co_Hui7 小时前
Java 线程状态
java
开心就多写,一点就开心7 小时前
导演视听语言与分镜系统笔记(一):景别系统、机位视点与时空连贯性设计
笔记·aigc·镜头·电影
土司大王8 小时前
LeetCode hot100——35.搜索插入位置:Java 二分模板、左闭右开区间与插入点分析
java·算法·leetcode