




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库课件6db关系数据库理论数据库课件6db关系数据库理论数据库课件6db关系数据库理论数据库课件6db关系数据库理论n关系关系DBDB设计理论(规范化理论)研究的是设计理论(规范化理论)研究的是关系关系模式中各属性之间的数据依赖关系及其对关系模式中各属性之间的数据依赖关系及其对关系模式性能的影响模式性能的影响,探讨,探讨“好好”的关系模式应该的关系模式应该具备的性质,以及达到具备的性质,以及达到“好好”的关系模式的设的关系模式的设计算法。计算法。n规范化理论规范化理论 -解决解决如何设计一个适合的关如何设计一个适合的关系数据库系统系数据库系统的问题的问题数据库课件6db关系数据库理论数据库
2、课件6db关系数据库理论关系的规模关系的规模 1.1.一个关系中信息量与关系的列数成正比一个关系中信息量与关系的列数成正比 信息量信息量 列数列数 一个关系中一个关系中的信息量多的信息量多少才最合适,少才最合适,是不是属性是不是属性越多越好?越多越好? 数据库课件6db关系数据库理论2.2.关系操作关系操作高效:高效: 关系运算关系运算 、 ;单表;单表低效:低效: 、 ;多表;多表增加关系中增加关系中的列数是不的列数是不是可以减少是可以减少联接操作,联接操作,是不是属性是不是属性越多越好?越多越好? 数据库课件6db关系数据库理论3.举例举例1:Class(clno,dept,major)S
3、(sno,sname,sex,birthdate,clno,address)C(cno,cname,score,pcno)SC(sno,cno,p1,p2,p3)max(clno, dept, major sno, sname,sex, birthdate, address cno, cname, score, pcno , p1 ,p2 ,p3) 共共18个属性个属性共共15个属性个属性数据库课件6db关系数据库理论n 数据冗余数据冗余设每个字段设每个字段10 Byte10 ByteS S: 有有 5000050000个记录个记录 500005000060603 310106 6 Byte
4、ByteClassClass:有:有10001000个记录个记录 1000100030303 310104 4 Byte ByteC C:有:有500500个记录个记录 50050040402 210104 4 Byte ByteSCSC:有:有50000500004040个记录个记录 500005000040405050 1 110108 8 Byte Byte共:共:3 310106 63 310104 4 2 210104 4 1 110108 8 = 10305 = 1030510104 4 1.03051.030510108 8 maxmax: 5000050000404015015
5、030030010106 6 3 310108 8同一数据在同一数据在DBDB中多次无控制冗余存放造成的。中多次无控制冗余存放造成的。 Max Max表存在的问题表存在的问题数据库课件6db关系数据库理论n插入异常:合法数据无法入库。插入异常:合法数据无法入库。 关系关系 maxmax码:(码:( sno ,cno sno ,cno ) 一个新生入校时,已是学生,但没有选课,这时不能入库,且一个新生入校时,已是学生,但没有选课,这时不能入库,且查询学生时无法查到。查询学生时无法查到。n删除异常:删除操作造成有效数据的丢失。删除异常:删除操作造成有效数据的丢失。 如:有门课程只有一人选修,此人毕
6、业时,将删除其所有选课如:有门课程只有一人选修,此人毕业时,将删除其所有选课程的信息。这时查询课程信息时将无法得到该课程。程的信息。这时查询课程信息时将无法得到该课程。n修改异常:一个数据的修改,引起数据库中多处数据的更新。修改异常:一个数据的修改,引起数据库中多处数据的更新。将将“数据库原理数据库原理”课程的名称改为课程的名称改为“数据库系统基础数据库系统基础”时,将需时,将需修改多个记录修改多个记录n这些异常现象在有四个表时不会发生,所以数据库结构不是属这些异常现象在有四个表时不会发生,所以数据库结构不是属性越多越好。性越多越好。数据库课件6db关系数据库理论数据库课件6db关系数据库理论
7、n4 4 举例举例2 2考虑为管理职工的工资信息而设计一个关系模式,考虑为管理职工的工资信息而设计一个关系模式,该模式有什么问题?该模式有什么问题?数据库课件6db关系数据库理论数据库课件6db关系数据库理论数据库课件6db关系数据库理论分析可知:这与数据库文件的结构中各属性间的关系分析可知:这与数据库文件的结构中各属性间的关系 有关。有关。sno sno 决定决定 sname , sex, clno, address, dept, majorsname , sex, clno, address, dept, majorClno Clno 决定决定 dept,majordept,majorCn
8、o Cno 决定决定 cname, score, pcnocname, score, pcnosno,cno sno,cno 决定决定 p p1 1 p p2 2 p p3 3数据库课件6db关系数据库理论n体现客观世界的信息体现客观世界的信息 n一个好的关系模式应冗余尽可能少;一个好的关系模式应冗余尽可能少;n一个好的关系模式应避免插入、删除异常;一个好的关系模式应避免插入、删除异常;n异常原因是关系模式中存在不合适的属性间联异常原因是关系模式中存在不合适的属性间联系;系;n解决策略是消去不合适联系解决策略是消去不合适联系 ;n方法采用模式分解消去不合适的属性间联系。方法采用模式分解消去不合
9、适的属性间联系。负面影响负面影响 :需要通过表连接做相关信息查询,系统开销大!数据库课件6db关系数据库理论数据库课件6db关系数据库理论数据库课件6db关系数据库理论 函数依赖的定义:函数依赖的定义:称称X X为决定因素。为决定因素。数据库课件6db关系数据库理论例如:例如:SDCSDC(SNO(SNO(学号学号),Sname(),Sname(姓名姓名),Sage(),Sage(年龄年龄),Sdept(),Sdept(系别系别) ),Dean(Dean(系主任系主任) ),CNOCNO(课程号),(课程号),GradeGrade(成绩)(成绩)SDCSDC中的函数依赖:中的函数依赖:SNOS
10、NO Sname Sname SNOSNO Sage Sage SNOSNOSDEPTSDEPT,SDEPT SDEPT DEAN, DEAN,(SNO,CNOSNO,CNO) GRADE GRADE数据库课件6db关系数据库理论数据库课件6db关系数据库理论数据库课件6db关系数据库理论根据函数依赖的定义,可找出下面规律:根据函数依赖的定义,可找出下面规律:n 在一个关系模式中,如属性在一个关系模式中,如属性X X,Y Y有有1 1:1 1联系,联系, 则存在函数依赖则存在函数依赖XYXY、YXYX,可记作,可记作X XY Yn X X、Y Y是是1 1:m m联系,则存在联系,则存在YXY
11、X,但,但XYXYn X X、Y Y是是n:mn:m联系,则联系,则X X、Y Y之间不存在任何函数依赖之间不存在任何函数依赖数据库课件6db关系数据库理论数据库课件6db关系数据库理论n检验:检验:ACAC?CACA?ABDABD?n辨识:辨识:n模式上成立的依赖:依赖在模式的模式上成立的依赖:依赖在模式的所有关系实例所有关系实例上都上都成立成立数据库课件6db关系数据库理论A AB B,A AC C,B BC CA A(B(B,C)C),(A(A,B)B)C C关系模式上的函数依赖是语义范畴的概念,我们只能根据语义关系模式上的函数依赖是语义范畴的概念,我们只能根据语义来确定函数依赖!来确定
12、函数依赖!数据库课件6db关系数据库理论n平凡的平凡的函数依赖与函数依赖与非平凡的非平凡的函数依赖函数依赖n如果如果X XY Y,且,且Y Y X X,则称,则称X XY Y为为平凡平凡的函数依赖。的函数依赖。即:如果对于函数依赖即:如果对于函数依赖 A A1 1A A2 2AAn n A Ai i, A Ai i是是A A中的一中的一个,则该函数依赖就是平凡的函数依赖个,则该函数依赖就是平凡的函数依赖SNOSNOSNOSNO是平凡的函数依赖是平凡的函数依赖n如果如果X XY Y,且,且Y Y X X,则称,则称X XY Y为为非平凡非平凡的函数依赖。的函数依赖。 如:如: snosnosna
13、mesname,sno sno sname sname 即:即:B B中中至少至少有一个属性不在有一个属性不在A A中中说明:对任何说明:对任何R R,一些平凡函数依赖总是成立的。,一些平凡函数依赖总是成立的。 数据库课件6db关系数据库理论数据库课件6db关系数据库理论关系模式关系模式SDCSDC(SNO SNO ,Sname Sname ,Sage,SDeptSage,SDept,DEANDEAN,CNO,GRADECNO,GRADE)主码:主码:(SNoSNo,CNoCNo)函数依赖:函数依赖: (SNo(SNo,CNoCNo) GradeGrade Sno Sno SName SNam
14、e,(Sno(Sno,Cno)Cno) SName SName Sno Sno SDept SDept,(SnoSno,CnoCno)SDeptSDept SDept SDept DEAN DEAN fpp数据库课件6db关系数据库理论数据库课件6db关系数据库理论提问:找出提问:找出SDCSDC(SNO,Sname,Sage,SDeptSNO,Sname,Sage,SDept,DEANDEAN,CNOCNO,GRADEGRADE)中的传递函数依赖。)中的传递函数依赖。提问:找出关系模式提问:找出关系模式 ( (工号、姓名、级别、工资工号、姓名、级别、工资) )中的中的传递依赖。传递依赖。直接
15、直接x zx z传递传递数据库课件6db关系数据库理论数据库课件6db关系数据库理论f f数据库课件6db关系数据库理论n定义定义n主码主码:若:若R(U , F)R(U , F)有多个候选码,则可以从中选有多个候选码,则可以从中选定一个作为定一个作为R R的主码。的主码。n主属性主属性:包含在每一个候选码中的属性,:包含在每一个候选码中的属性,称作主属性。称作主属性。n非主属性非主属性:不包含在每一个候选码中的属:不包含在每一个候选码中的属性,称作非主属性。性,称作非主属性。n全码全码:关系模式的码由整个属性组构成。:关系模式的码由整个属性组构成。数据库课件6db关系数据库理论SNO SNO
16、 SNAME SNAME,(,(SNOSNO,CNOCNO) SNAMESNAMEP P找出下面关系模式的主码:找出下面关系模式的主码: SDC(SNO , SNAME , Sage,SDEPT , Dean , CNO , GRADE)SDC(SNO , SNAME , Sage,SDEPT , Dean , CNO , GRADE)函数依赖:函数依赖:(SNO(SNO,CNO)CNO) GRADE GRADEf f(SNO,CNO)(SNO,CNO) (SNO,SNAME,SDEPT, (SNO,SNAME,SDEPT, Dean Dean ,CNO,GRADE),CNO,GRADE)所以
17、,(所以,(SNOSNO,CNOCNO)是该关系模式的码。)是该关系模式的码。f fSNO SNO SDEPT SDEPT,(SNOSNO,CNOCNO) SDEPTSDEPTp pp pSDEPTSDEPT Dean Dean ,SNOSNO Dean Dean ,(SNO(SNO,CNO) CNO) SDEPT SDEPT数据库课件6db关系数据库理论数据库课件6db关系数据库理论数据库课件6db关系数据库理论关系模型中的关系模式至少是关系模型中的关系模式至少是 1NF1NF数据库课件6db关系数据库理论数据库课件6db关系数据库理论数据库课件6db关系数据库理论分量是否需要再分,与具体应
18、用有关。如果用到分量是否需要再分,与具体应用有关。如果用到值的一部分,则需要进一步分割。值的一部分,则需要进一步分割。如果只是查询出生日期,则它满足如果只是查询出生日期,则它满足1NF1NF。如果查询两人生日是否相同,则只比较月、日,如果查询两人生日是否相同,则只比较月、日,需要将生日分解,就不满足需要将生日分解,就不满足1NF1NF。数据库课件6db关系数据库理论关系模式关系模式SDC(SNO , SNAME , SDEPT , Dean , CNO , GRADE)SDC(SNO , SNAME , SDEPT , Dean , CNO , GRADE)码:(码:(SNO,CNO)数据库课
19、件6db关系数据库理论关系模式关系模式SDCSDC 1NF1NF,但它有如下,但它有如下不良特性:不良特性:插入异常插入异常:若学生没有选课,则他的个人信息及所:若学生没有选课,则他的个人信息及所在系的信息就无法插入。在系的信息就无法插入。删除异常删除异常:若删除学生的选课信息,则有关他的个:若删除学生的选课信息,则有关他的个人信息及所在系的信息也随之删除了。人信息及所在系的信息也随之删除了。更新异常更新异常:如果学生转系,若他选修了:如果学生转系,若他选修了k k门课,则需门课,则需要修改要修改k k条记录。条记录。数据冗余数据冗余:如果一个学生选修了:如果一个学生选修了k k门课,则有关门
20、课,则有关他的所在系的信息重复。他的所在系的信息重复。数据库课件6db关系数据库理论数据库课件6db关系数据库理论n改造改造1.1.分解:非主属性有两种,一种完全依赖于码,一分解:非主属性有两种,一种完全依赖于码,一种部分依赖于码。将种部分依赖于码。将SDCSDC分解为:分解为:学生与课程的联系:学生与课程的联系:SC(SC(SNO , CNOSNO , CNO , Grade) , Grade) 学生实体:学生实体:SDM(SDM(SNOSNO , , SNAMESNAME ,SDEPT , DEAN) SDEPT , DEAN) 2.2.分析分解后的函数依赖:分析分解后的函数依赖:SCSC
21、: 2 2NFNFSDMSDM:SNOSNOSNAMESNAME,SNOSNOSDEPTSDEPT, SDEPT SDEPT DEANDEAN,SNOSNODEAN DEAN (SNO(SNO,CNO)CNO) GRADE GRADEf f(SNO) (SNO) (SNAMESNAME,SDEPTSDEPT,DEANDEAN)f f数据库课件6db关系数据库理论效果效果: :解决了部分插入异常和更新异常解决了部分插入异常和更新异常数据库课件6db关系数据库理论F=(A,B) C,B Df数据库课件6db关系数据库理论n依赖关系:依赖关系:(SNO,CNO) -Grade(SNO,CNO) -G
22、radenSNO-SDEPT (SNO,CNO)-SDEPTSNO-SDEPT (SNO,CNO)-SDEPTnSNO-SLOC (SNO,CNO)-SLOCSNO-SLOC (SNO,CNO)-SLOCf fp pp pSnoSnoCnoCnoGradeGradeSdeptSdeptSlocSloc数据库课件6db关系数据库理论数据库课件6db关系数据库理论数据库课件6db关系数据库理论n模式分解模式分解 SC(SNO,CNO,G)SC(SNO,CNO,G) S_L(SNO,SDEPT,SLOC)S_L(SNO,SDEPT,SLOC)n分解后的函数依赖图分解后的函数依赖图SnoSnoCnoC
23、noGradeGradeSCSCS_LS_LSnoSnoSdeptSdeptSlocSloc数据库课件6db关系数据库理论数据库课件6db关系数据库理论分析分析SDM(SNO , SDM(SNO , SNAME ,SNAME , SDEPT , DEAN)SDEPT , DEAN)n不良特性不良特性n插入异常:如果系中没有学生,则有关插入异常:如果系中没有学生,则有关系的信息系的信息就无法插就无法插入入SDMSDMn删除异常:如果学生删除异常:如果学生全部全部毕业了,则在删除学生信息的同毕业了,则在删除学生信息的同时有关时有关系的信息系的信息也随之删除了也随之删除了n更新异常:如果学生转系,不
24、但要修改更新异常:如果学生转系,不但要修改SDEPTSDEPT,还要修改,还要修改DeanDean,如果换系主任,则该系每个学生元组都要做相应修,如果换系主任,则该系每个学生元组都要做相应修改改n数据冗余:每个学生都存储了所在系的系主任的信息数据冗余:每个学生都存储了所在系的系主任的信息n说明说明: :若若R R 2NF2NF,则,则R R仍然具有增、删、改的异常!仍然具有增、删、改的异常!数据库课件6db关系数据库理论数据库课件6db关系数据库理论传递传递SDM 3NF数据库课件6db关系数据库理论snoSdeptDean数据库课件6db关系数据库理论2.2.将将SDM(SNO,SDM(SN
25、O,SNAME,SAGESNAME,SAGE,SDEPT,DEAN)SDEPT,DEAN)分解为:分解为:学生实体:学生实体:STUDENT(STUDENT(SNOSNO ,SNAME,SAGE,SDept) ,SNAME,SAGE,SDept) 系的实体:系的实体:DEPT(DEPT(SDeptSDept , DEAN) , DEAN)分解后分解后 3 3NFNF? STUDENTSTUDENT 3 3NF NF DEPT DEPT 3 3NFNF 数据库课件6db关系数据库理论数据库课件6db关系数据库理论1 1:若:若R1NFR1NF,且其候选码为单个属性,且其候选码为单个属性, 则则R
26、2NFR2NF2 2:若:若R2NFR2NF,且至多存在一个非主属性,且至多存在一个非主属性, 则则R3NFR3NF3 3:任何二元关系模式必为:任何二元关系模式必为3NF3NF。数据库课件6db关系数据库理论快速热身快速热身关系模式R(A,B,C,D),码为AB,给出它的一个函数依赖集,使得R属于2NF而不属于3NFF=(A,B) C,C Df数据库课件6db关系数据库理论数据库课件6db关系数据库理论数据库课件6db关系数据库理论n示例示例 STC(S , T , C)STC(S , T , C),每位老师只教授一门课,每门课有,每位老师只教授一门课,每门课有若干老师。某学生选定一门课,就
27、对应一位老师。则若干老师。某学生选定一门课,就对应一位老师。则它的一组函数依赖为:它的一组函数依赖为: T T C C (S S,T T) C; C;(S S,C C) T T候选码为?候选码为? ( ( S S,T)T)和和 (S(S,C)C)n思考思考STC STC 3NF 3NF ? yes! yes! S SC CT TS ST TC CSTCSTC非主属性:无非主属性:无数据库课件6db关系数据库理论数据库课件6db关系数据库理论nSTC(S , T , C)STC(S , T , C)的的不良特性不良特性( (并非所有并非所有3NF3NF都都存在不良特性存在不良特性) )n插入异常
28、:如果没有学生选修某位老师的任课,则该插入异常:如果没有学生选修某位老师的任课,则该老师担任课程的信息就无法插入;学生未选修课程,老师担任课程的信息就无法插入;学生未选修课程,则无则无C C和和T T信息,学生信息进入不了信息,学生信息进入不了DBDB。n删除异常:删除学生选课信息,会删除掉老师的任课删除异常:删除学生选课信息,会删除掉老师的任课信息信息n更新异常:如果老师所教授的课程有所改动,则所有更新异常:如果老师所教授的课程有所改动,则所有选修该老师课程的学生元组都要做改动选修该老师课程的学生元组都要做改动n数据冗余:每位学生都存储了有关老师所教授的课程数据冗余:每位学生都存储了有关老师所教授的课程的信息的信息数据库课件6db关系数据库理论pt数据库课件6db关系数据库理论数据库课件6db关系数据库理论s sc ct ts st tc csct3NFsct3NF,sctBCNFsctBCNFstc(s,t,c)stc(s,t,c)/学生,教师,课程学生,教师,课程tctc/每位教师只上一门课每位教师只上一门课s,cs,ct t s,ts,tcc/每门课有若干位教师每门课有若干位教师T T C C,而,而T T不含有码不含有码数据库课件6db关系数据库理论数据库课件6db关系数据库理论数据库课件6db关系数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 博物馆钢结构工程施工组织设计
- XX站森林草原灭火救援预案
- 2025年长春市房屋租赁合同
- 编藤家具项目投资定位及实施方案
- 《2025智能系统开发与维护合同》
- 2025年一月抗寒潮鸡舍租赁供暖燃料储备责任附件
- 2025项目工程师聘用合同(标准版)
- 2025建设项目委托招标代理合同范本
- 2025年白山从业资格证考试答案货运
- 2025年沈阳道路货运驾驶员从业资格证考试题库完整
- GB/T 39802-2021城镇供热保温材料技术条件
- GB/T 2792-2014胶粘带剥离强度的试验方法
- GB/T 21566-2008危险品爆炸品摩擦感度试验方法
- GB/T 215-2003煤中各种形态硫的测定方法
- GB/T 17492-2012工业用金属丝编织网技术要求和检验
- GB/T 17207-2012电子设备用固定电容器第18-1部分:空白详细规范表面安装固体(MnO2)电解质铝固定电容器评定水平EZ
- GB/T 16886.7-2001医疗器械生物学评价第7部分:环氧乙烷灭菌残留量
- 国开电大《人员招聘与培训实务》形考任务4国家开放大学试题答案
- 铁路职工政治理论应知应会题库
- 中考复习确定二次函数的解析式课件
- 音乐歌曲网上搜课件
评论
0/150
提交评论