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

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

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

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

相关推荐
晨曦中的暮雨40 分钟前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
学长毕设2 小时前
基于SpringBoot的青少年编程学习平台系统-附源码
spring boot·学习·青少年编程
文丑颜不良啊2 小时前
LeetCode876~900题目解析
java·leetcode
aloha_7893 小时前
Java 基础、集合、异常与 JUnit 5 速查
java·junit·sqlserver
知守观3 小时前
设计模式实战:从真实老项目中看标准模板方法与工厂的落地
java·spring·设计模式
独隅3 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
Wang's Blog4 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
SL_staff4 小时前
JVS私有化文档系统上线避坑指南:5大运维与业务协同断点及检测加固实践
java·开源·全栈
FinelyYang5 小时前
考试系统简答题 AI 阅卷:覆盖度驱动、异步评分与人机协同落地实践
java·大数据·人工智能
hhhjhl5 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言