ER图(把ER模型转换为关系模式、关系范式概念)
2023-04-18 16:08:52 时间
关于ER模型的转换,我们只需要记住三个转换准则:
1:1、1:N、M:N
二元联系:
(1)一对一关系(One to One)
映射规则一:当转换为关系模型时,在两个实体任选一个添加另一个实体的主键即可。
例子:
校里一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。当转换为关系模式时,我们可以在班长关系中添加班级的主键(班级号);或者在班级关系中添加班长的主键(学号)。
(2)多对一关系(Many to one)
映射规则:保留多边(Many-side)E1的所有属性 + 一边(one-side)的主键 + 关系自身的属性到一个扩展(extended)的E1表中。
即当转换为关系模型时,在N端添加另一端的主键和联系的属性。
为什么这么映射?
可以减少数据库的冗余,因为如果是把STUDENT的主键添加到STAFF表中,由于一个STAFF可以对应多个学生,这样子就会出现很多冗余的数据。
一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。
当转换为关系模式时,我们得在学生关系中添加班级的主键(班级号)。
(3)多对多关系(Many to Many)
映射规则:取关系两端的实体的主键 + 关系本身的属性
当转换为关系模型时,需要将联系转换为实体,然后在该实体上加上另外两个实体的主键,作为联系实体的主键,然后再加上该联系自身带的属性即可。
如图(c)情况,当我们转换成关系模式时,我们要把“联系名”转换为实体模式,添加另外两个实体的主键,这两个主键合起来为“联系名”的主键,然后添加该联系自带的属性即可。
习题:
相关文章
- mapboxGL轨迹展示与播放
- 妙解RIP协议和OSPF协议的优缺点,建议收藏!
- 句法依存分析背景 基本概念 及常用方法
- 高可用性和高可靠性的规划与设计
- 数据分析八大模型:人货场模型
- iOS开发:突发!上架遇到NSBluetoothAlwaysUsageDescription被拒问题
- 黑客工具-Armitage
- Kali Linux 命令大全
- NAT 穿透是如何工作的:技术原理及企业级实践
- 支付对账系统序章:千万级数据对账怎么这么难?
- 不要再封装各种 Util 工具类了,这个开源项目,真的太好用了!
- ThreadLocal比FastThreadLocal慢在哪里?
- 9种提高 GitHub 国内访问速度的方案
- 日常记录(16)SystemVerilog
- MIT博士用概率编程让AI和人类一样看三维|NeurIPS 2021
- 推荐系统炼丹笔记7:负样本的艺术
- 90后华人教授夫妇斩获IEEE最佳论文和ACM Demo冠军!团队1年连发4篇Nature子刊
- 与曹原再合作,90后哈佛博后1年狂发3篇Nature及子刊
- 黑客帝国真的可以!这100万个「活体人脑细胞」5分钟学会打游戏
- 让训练更长序列模型成为可能-Sequence Parallelism