- 1、本文档共107页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 关系数据理论;§6.1 问题的提出;关系模型概念回顾;数据完整性约束;对于一个现实问题的关系模式可以表示成:
R ( U,D,DOM ,F )
其中:
R:关系名
U:是属性的集合{A1,A2,…An}
D:属性组U中属性所来自的域
DOM:属性到域的映射DOM
F:是属性集U上的数据依赖的集合。是模式设计的关键。是现实世界中事物的性质相互之间联系的表示;如:Sno?SName, (Sno,Cno)?Grade;例如: 要建立学生的关系模式:
属性组U={Sno、Sdept、Mname、Cno、Grade}
学生数据库的语义:
⒈一个系有若干学生, 一个学生只属于一个系;
⒉一个系只有一名主任;
⒊一个学生可以选修多门课程, 每门课程有若干学生选修;
⒋每个学生所学的每门课程都有一个成绩
从语义上看,属性间有这样的依赖关系:
F={Sno?Sdept,Sdept?Mname,(Sno,Cno)?Grade}
于是就得到了这样一个关系模式:
SLC(U,F)
关系的码:(Sno,Cno);上述关系模式带来的问题;问题⒊ 插入异常:该插的数据插不进去
例,如果一个系刚成立,尚无学生,就无法把这个系及其系主任的信息存入数据库。
问题⒋ 删除异常:不该删除的数据不得不删
例,如果某个系的学生全部毕业了,在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉;问题的根源及解决方法;§6.2 规范化;§6.2.1函数依赖(Functional Dependency);说明:
函数依赖只能根据语义来确定,而不能按定义或语法证明一个函数依赖成立。
例如:学号和姓名
若没有同名的情况下:Sno→Sname, 否则 Sno→Sname
函数依赖是合法关系集上的约束。
函数依赖可以在关系中表示一组属性组的值可唯一确定另一组属性组的值的约束要求。;一些概念和记号;完全函数依赖与部分函数依赖;定义6.3 在关系模式R(U)中,如果X→Y,Y→X,且Y ?X,Y→Z,则称Z传递函数依赖于X。
注: 如果Y→X, 即X←→Y,则Z直接函数依赖于X。
例: 在关系Std(Sno, Sdept, Mname)中,有:
Sno → Sdept, Sdept → Sno , Sdept → Mname
Mname传递函数依赖于Sno;几个概念;定义6.4 设K为关系模式RU,F中的属性或属性组合。若K F U,则K称为R的一个侯选码(Candidate Key),简称码。若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。
定义6.5 关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key),也称外码。
主码和外部码一起提供了表示关系间联系的手段;§6.2.3 范式--NF(Normal Form);;什么叫规范化;第一范式(1NF);第二范式(2NF);关系模式SLC(Sno, Sdept, Sloc, Cno, Grade)不属于2NF存在插入异常,删除异常和修改复杂的问题
插入异常:若插入一条学生记录(Sno=s7,Sdept=PHY,Sloc=BLD2)。由于(Sno,Cno)是关系R的码,插入操作时必须给定码值,但该学生还未选课,插入失败,出现异常。
删除异常:若某学生将现有一条选课信息删除,由于Cno是主属性,因而删除Cno的同时,必须删除整个元组信息,将其它有用信息也一并删除,造成删除异常。
修改复杂:若某学生进行系别的转移,即从一个系转到另一个系,需要修改Sdept分量即可,但实际情况还必须得修改Sloc分量。若学生选修了课程,Sdept和Sloc将被重复存储多次,冗余信息增加,造成修改的复杂化。
? 出现问题的原因是什么?;原因:在关系模式中存在非主属性对码的部分函数 依赖存在
解决的办法是模式分解:
SLC(Sno, Sdept, Sloc, Cno, Grade)
F={Sno?Sdept,Sno?Sloc,(Sno,Cno)?Grade}
Grade是完全依赖与码的,Sdept和Sloc是部分依赖于码的,把部分依赖于码的属性和部分码分离出来
分成:SL(Sno,Sdept,Sloc,Sno?Sdept,Sno?Sloc)
和 SC(Sno,Cno,Grade, (Sno,Cno)?Grade)
SC和SL两个关系模式的每一个非主属性对码都是完全函数依赖,所以都属于2NF ;第二范式(2NF);第三范式(3NF);第三范式(3NF)续;鲍依斯、柯德范式(BCNF) ;例子:R(CITY,ST,ZIP) 城市,街道
您可能关注的文档
最近下载
- 2022急诊胸痛心血管标志物联合检测专家共识(全文).pdf VIP
- 2025年四川高处安装、维护、拆除作业_特种作业证考试复习题库资料(含答案).pdf
- 临床医学专业水平测试评分表.pdf VIP
- 2024年四川省绵阳市中考化学真题卷(含答案与解析).pdf VIP
- 《三位数乘两位数》大单元教学设计 (1).docx VIP
- 2024年四川省绵阳市中考数学真题卷(含答案与解析).pdf VIP
- 生如夏花小清新模板(含音频+视频).pptx VIP
- 2024学年统编版高中语文选择性必修下册《客至》优质课一等奖课件28张.pptx
- Sysmex XN-1000全自动血液分析仪标准操作程序.pdf VIP
- 2025安全生产月主题宣讲课件.pptx
文档评论(0)