请选择 进入手机版 | 继续访问电脑版

12360技术网 - 专业IT技术发表平台

 立即注册  找回密码
查看: 4385|回复: 5

E-R模型向关系模型转换

[复制链接]

18

主题

22

帖子

168

积分

注册会员

Rank: 2

积分
168
发表于 2020-1-16 19:56:15 | 显示全部楼层 |阅读模式
E-R模型向关系模型转换

1.为E-R图中的每个实体建立一张表。
2.为每张表定义一个主键(如果需要,可以向表添加一个没有实际意义的字段作为该表的主键)
3.增加外键表示一对多关系。
4.建立新表表示多对多关系。
5.为字段选择合适的数据类型。
6.定义约束条件(如果需要)。
7.评价关系的质量,并进行必要的改进。

使用规范化减少数据冗余

冗余的数据需要额外的维护,并且容易导致“数据不一致”、“插入异常”以及“删除异常”等问题的发生。

场景一:插入异常。添加一学生信息(学号2012006,姓名张三丰,居住地北京,邮编10000)
场景二:修改复杂。将课程号为5的课程名修改为“高等数学”
场景三:删除异常。将学号为2012005的学生信息删除,但“居住地”与“邮编”的对应关系保留
规范化是通过最小化数据冗余来提升数据库设计质量的过程,规范化是基于函数依赖以及一系列范式定义的,最为常用的是第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。
函数依赖:对应于属性组合X的不同值, Y属性必有不同的取值,则称X决定Y,或称Y函数依赖于X。记为:X→Y。
完全函数依赖和部分函数依赖:如果X→Y成立,但对X的任意真子集X1,都有X1→Y不成立,称Y完全函数依赖于X,否则,称Y部分函数依赖于X。
传递函数依赖:设X,Y,Z是关系表R的不同属性集,若X→Y(并且Y→X不成立),Y→Z,称X传递决定Z,或称Z传递函数依赖于X。
第一范式
如果一张表内同类字段不重复出现,该表就满足第一范式的要求。
第二范式
一张表在满足第一范式的基础上,如果每个“非关键字”字段都完全函数依赖于主键,那么该表满足第二范式的要求。
第三范式
如果一张表满足第二范式的要求,并且不存在“非关键字”字段函数依赖于任何其他“非关键字”字段,即不满足传递函数依赖,那么该表满足第三范式的要求。
避免数据经常发生变化

统计学生的个人资料时,如果读者是一名数据库开发人员,应该让学生上报年龄信息,还是让学生上报出生日期?一个人年龄每隔一年就要执行“加1”操作,但是出生日期不会随着时间的推移而变化。
对于“选课系统”中如何确保每一门课程选报学生的人数,不超过人数上限?
方案一:在“课程表 ”中增加一个字段用于标记每一门课程剩余的学位,其初始值设置为课程的人数上限,每选进来一个学生就减1,当值为0时,表示已满。
  1. course(course_no, course_no,course_name,up_limit,description,status,teacher_no, available)
复制代码
方案二:数据库表无需进行任何更改,而是通过“课程人数上限”减去“选课choose”表中统计得出的“已选学生人数”字段的值 。
方案一是增加了冗余字段“available”,但能方便几百名学生同时查询哪些课程已满;但是如果几百学生同时选课、调课、退课的话,“available”字段值会时刻发生变化,这不利于数据维护也容易出现数据不一致。反过来,方案二无需维护冗余数据,也不用担心数据不一致,但却不利于数据查询。
                                                                                                                                       
                                                    
  • 点赞                        1                        
  • 收藏                        
  • 分享                                                                                                                        
  •                                                         
                                      
    • 文章举报                           
                                                
                                                                        
                                            
                                                        Dwell_hls                                                                发布了144 篇原创文章 · 获赞 29 · 访问量 1万+                                                                                            私信                                                            关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




上一篇:DM达梦数据库表空间学习分享--lable1
下一篇:第一次 机房收费系统——登录窗体
回复

使用道具 举报

0

主题

11

帖子

241

积分

中级会员

Rank: 3Rank: 3

积分
241
发表于 2020-1-16 19:58:34 | 显示全部楼层
这东西我收了!谢谢楼主![www.12360.co]
回复

使用道具 举报

0

主题

5

帖子

115

积分

注册会员

Rank: 2

积分
115
发表于 2020-1-17 01:39:56 | 显示全部楼层
这个帖子不回对不起自己![www.12360.co]
回复

使用道具 举报

0

主题

6

帖子

136

积分

注册会员

Rank: 2

积分
136
发表于 2020-1-22 19:21:26 | 显示全部楼层
其实我一直觉得楼主的品味不错!呵呵![www.12360.co]
回复

使用道具 举报

21

主题

28

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2020-1-25 04:39:31 | 显示全部楼层
楼主,大恩不言谢了![www.12360.co]
回复

使用道具 举报

0

主题

14

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
发表于 6 天前 | 显示全部楼层
楼主,我太崇拜你了![www.12360.co]
社区不能没有像楼主这样的人才啊!
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12360技术网

GMT+8, 2020-2-18 05:33 , Processed in 0.129636 second(s), 27 queries .

本网站内容收集于互联网,Www.12360.Co不承担任何由于内容的合法性及健康性所引起的争议和法律责任。 欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。

© 2019-2020 Www.12360.Co

快速回复 返回顶部 返回列表