文档详情

数据库系统第十一章.ppt

发布:2017-06-16约8.05千字共57页下载文档
文本预览下载声明
第十一章 关系数据库设计理论 数据依赖对关系模式的影响 数据依赖 一个关系内部属性与属性之间的一种约束关系 数据依赖的类型 函数依赖(Functional Dependency,简记为FD) 多值依赖(Multivalued Dependency,简记为MVD) 例:描述学校的数据库: 学生的学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程名(Cname) 成绩(Grade) 关系模式 : Student U,F U ={ Sno, Sdept, Mname, Cname, Grade } 学校数据库的语义: ⒈ 一个系有若干学生, 一个学生只属于一个系; ⒉ 一个系只有一名主任; ⒊ 一个学生可以选修多门课程, 每门课程有若干学生选修; ⒋ 每个学生所学的每门课程都有一个成绩。 属性组U上的一组函数依赖F: F ={ Sno → Sdept, Sdept → Mname, (Sno, Cname) → Grade } 关系模式StudentU, F中存在的问题 ⒈ 数据冗余太大 例:每一个系主任的姓名重复出现 ⒉ 更新异常(Update Anomalies) 例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组 ⒊ 插入异常(Insertion Anomalies) 例,如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。 ⒋ 删除异常(Deletion Anomalies) 例,如果某个系的学生全部毕业了, 我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。 例:职工工资表 数据冗余度大 2. 插入与删除异常 11.2 函数依赖 定义11.1 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。 X称为这个函数依赖的决定属性集(Determinant)。 Y=f(x) 例: Student(Sno, Sname, Ssex, Sage, Sdept) Sno → Sdept 说明: 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。 函数依赖并不一定具有可逆性。 函数依赖中可以包含属性组。 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 在关系模式R(U)中,对于U的子集X和Y 如果X→Y,但Y X,则称X→Y是非平凡的函数依赖; 若X→Y,但Y X, 则称X→Y是平凡的函数依赖; 若X→Y,并且Y→X, 则记为X←→Y; 若Y不函数依赖于X,则记作X→Y。 定义11.2 在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有 X’ → Y, 则称Y完全函数依赖于X,记作X f Y。 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X P Y。 例: 在关系SC(Sno, Cno, Grade)中, 由于: (Sno, Cno) → Grade Sno →Grade,Cno → Grade, 因此:(Sno, Cno) f Grade 定义11.3 在关系模式R(U)中,如果X→Y,Y→Z,且Y ?X,Y→X,则称Z传递函数依赖于X。 注: 如果Y→X, 即X←→Y,则Z直接依赖于X。 例: 在关系Std(Sno, Sdept, Mname)中,有: Sno → Sdept,Sdept → Mname Mname传递函数依赖于Sno 定义11.4 设K为关系模式RU,F中的属性或属性组合。若K f U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。 主属性与非主属性 ALL KEY 定义11.5 关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码 主码又和外部码一起提供了表示关系间联系的手段。 例: 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 11.3 范式 范式是符合某一种级别的关系模式的集合。 关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。
显示全部
相似文档