版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统概论数据库系统概论An Introduction to Database System第六章第六章 关系数据理论关系数据理论6.1 问题的提出6.2 规范化6.3 数据依赖的公理系统*6.4 模式的分解6.5 小结l关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式 数据库逻辑设计的工具关系数据库的规范化理论一、概念回顾一、概念回顾二、关系模式的形式化定义三、什么是数据依赖四、关系模式的简化定义五、数据依赖对关系模式影响l 关系:描述实体、属性、实体间的联系。 从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。l 关系模式:用来定义关系。l 关系数据库:基于
2、关系模型的数据库,利用关系来描述现实世界。 从形式上看,它由一组关系组成。l 关系数据库的模式:定义这组关系的关系模式的全体。一、概念回顾二、关系模式的形式化定义二、关系模式的形式化定义三、什么是数据依赖四、关系模式的简化定义五、数据依赖对关系模式影响关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F)R: 关系名U: 组成该关系的属性名集合D: 属性组U中属性所来自的域DOM:属性向域的映象集合F: 属性间数据的依赖关系集合一、概念回顾二、关系模式的形式化定义三、什么是数据依赖三、什么是数据依赖四、关系模式的简化定义五、数据依赖对关系模式影响1. 完整性约束的表现形式p限
3、定属性取值范围:例如学生成绩必须在0-100之间p定义属性值间的相互关连(主要体现于值的相等与否),这就是数据依赖,它是数据库模式设计的关键2. 数据依赖p是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系p是现实世界属性间相互联系的抽象p是数据内在的性质p是语义的体现3. 数据依赖的类型p函数依赖(Functional Dependency,简记为FD)p多值依赖(Multi-valued Dependency,简记为MVD)p其他一、概念回顾二、关系模式的形式化定义三、什么是数据依赖四、关系模式的简化定义四、关系模式的简化定义五、数据依赖对关系模式影响l关系模式R(U, D, D
4、OM, F) 简化为一个三元组:R(U, F)l当且仅当U上的一个关系r 满足F时,r称为关系模式 R(U, F)的一个关系一、概念回顾二、关系模式的形式化定义三、什么是数据依赖四、关系模式的简化定义五、数据依赖对关系模式影响五、数据依赖对关系模式影响例:描述学校的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程名(Cname)成绩(Grade)单一单一的关系模式的关系模式 : Student U Sno, Sdept, Mname, Cname, Grade 学校数据库的语义: 一个系有若干学生, 一个学生只属于一个系; 一个系只有一名主任; 一个学生可以选修
5、多门课程, 每门课程有若干学生选修; 每个学生所学的每门课程都有一个成绩。 属性组U上的一组函数依赖F:F Sno Sdept, Sdept Mname, (Sno, Cname) Grade SnoCnameSdeptMnameGrade 数据冗余太大p浪费大量的存储空间 例:每一个系主任的姓名重复出现 更新异常(Update Anomalies) 数据冗余 ,更新数据时,维护数据完整性代价大。例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组 插入异常(Insertion Anomalies)p该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息
6、存入数据库。 删除异常(Deletion Anomalies)p不该删除的数据不得不删例,如果某个系的学生全部毕业了, 我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。结论: Student关系模式不是一个好的模式。 “好”的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。原因:由存在于模式中的某些数据依赖引起的解决方法:通过分解关系模式来消除其中不合适的数据依赖。6.1 问题的提出6.2 6.2 规范化规范化6.3 数据依赖的公理系统*6.4 模式的分解6.5 小结l示例:考虑为管示例:考虑为管理职工的工资信理职工的工资信息而设计一个关息而设计一个关系模式系模
7、式l问题:麻烦问题:麻烦!麻烦麻烦! 好好麻烦麻烦! 唉,剪不断,理还乱!唉,剪不断,理还乱!信息的不可表示问题信息的不可表示问题插入异常插入异常:如果没有职工具有:如果没有职工具有8 8级工,则级工,则8 8级工的工资数额就难以插入;级工的工资数额就难以插入;删除异常删除异常:如果仅有职工赵明具有:如果仅有职工赵明具有4 4级工资,如果将赵明删除,则有关级工资,如果将赵明删除,则有关4 4级工的工资数额信息也随之删除了。级工的工资数额信息也随之删除了。信息的冗余问题信息的冗余问题数据冗余数据冗余:职工很多,工资级别有限,每一级别的工资数额反复存储;:职工很多,工资级别有限,每一级别的工资数额
8、反复存储;更新异常更新异常:如果将:如果将5 5级工资的工资数额调为级工资的工资数额调为620620,则需要找到每个具有,则需要找到每个具有5 5级级工资的职工,逐一修改。工资的职工,逐一修改。职工级别工资赵明4500钱广5600孙志6700李开5600周祥6700工资级别450056006700哇,哇,原来生活可以原来生活可以如此简单如此简单 职工 级别 赵明 4 钱广 5 孙志 6 李开 5 周祥 6 l有关学生的关系模式有关学生的关系模式S(S# , SN , SD , DEAN , C# , G)S#SNSDDEANC#GS01杨 明D01思 齐C0190S02李 婉D01思 齐C01
9、87S01杨 明D01思 齐C0292S03刘 海D02述 圣C0195S04安 然D02述 圣C0278S05乐 天D03省 身C0182l 快速热身快速热身1 1:它存在哪些问它存在哪些问题?题?l 望闻问切:不望闻问切:不良的良的数据依赖数据依赖 规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。6.2.1 6.2.1 函数依赖函数依赖6.2.2 6.2.2 码码6.2.3 6.2.3 范式范式6.2.4 2NF6.2.4 2NF6.2.5 3NF6.2.5 3NF6.2.6 BCNF6.2.6 BCNF6.2.
10、7 6.2.7 多值依赖多值依赖6.2.8 4NF6.2.8 4NF6.2.9 6.2.9 规范化小结规范化小结一、函数依赖一、函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作XY。 X称为这个函数依赖的决定属性集(Determinant)。 Y=f(x) 1. 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的
11、所有关系实例均要满足的约束条件。2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 例如“姓名年龄”这个函数依赖只有在不允许有同名人的条件下成立3. 数据库设计者可以对现实世界作强制的规定。例: Student(Sno, Sname, Ssex, Sage, Sdept) 假设不允许重名,则有:Sno Ssex,Sno Sage , Sno Sdept, Sno Sname, Sname Ssex, Sname SageSname Sdept但Ssex Sage若XY,并且YX, 则记为XY。 若Y不函数依赖于X, 则记为XY。一、函数依赖二、平凡函数依赖与非平凡函数依赖二、平
12、凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖在关系模式R(U)中,对于U的子集X和Y,如果XY,但Y X,则称XY是非平凡的函数依赖若XY,但Y X, 则称XY是平凡的函数依赖例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) Grade 平凡函数依赖: (Sno, Cno) Sno (Sno, Cno) Cno 对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明, 我们总是讨论非平凡函数依赖。一、函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依
13、赖四、传递函数依赖定义6.2 在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X,都有 X Y, 则称Y完全函数依赖于X,记作X f Y。 若XY,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X P Y。例: 在关系SC(Sno, Cno, Grade)中, 由于:Sno Grade,Cno Grade, 因此:(Sno, Cno) f Grade 一、函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖四、传递函数依赖定义6.3 在关系模式R(U)中,如果XY,YZ,且Y X,YX,则称Z传递函数依赖于X。注: 如果YX, 即XY,则Z直接
14、依赖于X。例: 在关系Std(Sno, Sdept, Mname)中,有:Sno Sdept,Sdept Mname Mname传递函数依赖于Sno定义6.4 设K为关系模式R中的属性或属性组合。若K f U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个做为主码。(Primary key)。主属性与非主属性ALL KEYl主属性与非主属性 包含在任何一个候选码中的属性 ,称为主属性(Prime attribute) 不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute) l全
15、码 整个属性组是码,称为全码(All-key) 例2 关系模式S(Sno,Sdept,Sage),单个属性Sno是码, SC(Sno,Cno,Grade)中,(Sno,Cno)是码例3 关系模式R(P,W,A) P:演奏者 W:作品 A:听众 一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key 定义6.5 关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码。如在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(S
16、no,Sdept,Sage)的码,则Sno是关系模式SC的外部码 主码和外部码一起提供了表示关系间联系的手段。6.2.1 6.2.1 函数依赖函数依赖6.2.2 6.2.2 码码6.2.3 6.2.3 范式范式6.2.4 2NF6.2.4 2NF6.2.5 3NF6.2.5 3NF6.2.6 BCNF6.2.6 BCNF6.2.7 6.2.7 多值依赖多值依赖6.2.8 4NF6.2.8 4NF6.2.9 6.2.9 规范化小结规范化小结l范式是符合某一种级别的关系模式的集合。l关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。l范式的种类: 第一范式(1NF) 第二范式(2
17、NF) 第三范式(3NF) BC范式(BCNF)第四范式(4NF)第五范式(5NF)1NF2NF3NF4NFBCNF5NFl各种范式之间存在联系:l某一关系模式R为第n范式,可简记为RnNF。l一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。NF5NF4BCNFNF3NF2NF1l1NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。l第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。l但是满足第一范式的关系模式并不一定是一个好的关系模式。例: 关系模式 SLC(Sno, Sdept,
18、Sloc, Cno, Grade) Sloc为学生住处,假设每个系的学生住在同一个地方。l函数依赖包括: (Sno, Cno) f Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept SlocSLC的码为(Sno, Cno)l SLC满足第一范式。l 非主属性Sdept和Sloc部分函数依赖于码(Sno, Cno)SnoCnoGradeSdeptSlocSLC(1) 插入异常假设Sno95102,SdeptIS,SlocN的学生还未选课,因课程号是主属性,因此该学生的信息无法插入SLC。(2) 删除异常 假定某
19、个学生本来只选修了3号课程这一门课。现在因身体不适,他连3号课程也不选修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。(3) 数据冗余度大 如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储了10次。(4) 修改复杂 例如学生转系,在修改此学生元组的Sdept值的同时,还可能需要修改住处(Sloc)。如果这个学生选修了K门课,则必须无遗漏地修改K个元组中全部Sdept、Sloc信息。l原因 Sdept、 Sloc部分函数依赖于码。l解决方法 SLC分解为两个关系模式,以消除这些部分函数依赖 SC(Sno, Cno, Grade) SL(Sno, Sdep
20、t, Sloc)函数依赖图:SnoCnoGradeSCSLSnoSdeptSlocl2NF的定义定义6.6 若关系模式R1NF,并且每一个非主属性都完全函数依赖于R的码,则R2NF。例:SLC(Sno, Sdept, Sloc, Cno, Grade) 1NF SLC(Sno, Sdept, Sloc, Cno, Grade) 2NF SC(Sno, Cno, Grade) 2NF SL(Sno, Sdept, Sloc) 2NF l采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。l将一个1NF关
21、系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。例:2NF关系模式SL(Sno, Sdept, Sloc)中l函数依赖: SnoSdept SdeptSloc SnoSlocSloc传递函数依赖于Sno,即SL中存在非主属性对码的传递函数依赖。函数依赖图:SLSnoSdeptSlocl解决方法 采用投影分解法,把SL分解为两个关系模式,以消除传递函数依赖: SD(Sno, Sdept) DL(Sdept, Sloc)SD的码为Sno, DL的码为Sdept。SD的码为Sno, DL的码为Sdept。SnoSdeptSDSdeptSlocDLl3NF的定义定义定义6.
22、76.7 关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z Y), 使得XY,YZ成立, Y X,则称R 3NF。n若R R3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。例:2NF关系模式S-L(Sno, Sdept, Sloc)中 函数依赖: SnoSdept Sdept Sno SdeptSloc 可得: SnoSloc,即S-L中存在非主属性对码的传递函数依赖,S-L 3NF传递传递l 如果R3NF,则R也是2NF。l 采用投影分解法将一个2NF的关系分解为多个3NF的关系,可以在一定程度上解决原2NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。l
23、 将一个2NF关系分解为多个3NF的关系后,并不能完全消除关系模式中的各种异常情况和数据冗余。l定义定义6.8 6.8 设关系模式R1NF,如果对于R的每个函数依赖XY,若Y不属于X,则X必含有候选码,那么RBCNF。l等价于:每一个决定属性因素都包含码例5 关系模式C(Cno,Cname,Pcno)nC3NFnCBCNF例6 关系模式S(Sno,Sname,Sdept,Sage)n假定S有两个码Sno,SnamenS3NF。nS BCNFl示例STC(S# , T# , C#),T# C#,每位老师只教授一门课(S#,T#) C#(S#,C#) T#,某学生选定一门课,就对应一位老师(S#,
24、T#),(S#,C#)为候选码。l思考STC 3NF ?l不良特性 插入异常:如果没有学生选修某位老师的任课,则该老师担任课程的信息就无法插入 删除异常:删除学生选课信息,会删除掉老师的任课信息 更新异常:如果老师所教授的课程有所改动,则所有选修该老师课程的学生元组都要做改动 数据冗余:每位学生都存储了有关老师所教授的课程的信息l症由:主属性对码的不良依赖例7关系模式SJP(S,J,P) 函数依赖:(S,J)P;(J,P)S (S,J)与(J,P)都可以作为候选码,属性 相交 SJP3NF, SJPBCNF 例8在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。 函数依赖:
25、 (S,J)T,(S,T)J,TJ (S,J)和(S,T)都是候选码 JSJTSTSTJ中的函数依赖中的函数依赖lSTJ3NF 没有任何非主属性对码传递依赖或部分依赖lSTJBCNF T是决定因素,T不包含码解决方法:将STJ分解为二个关系模式: SJ(S,J) BCNF, TJ(T,J) BCNF 没有任何属性对码的部分函数依赖和传递函数依赖SJSTTJTJl 由BCNF的定义,非平凡的FD: X Y非主属性非主属性主属性主属性含码含码K,或,或X即码即码l可以证明下述结论, 一个满足BCNF的关系模式有:p所有非主属性对每一个码都是完全函数依赖, 即, 若RBCNF, 则R2NF。p所有的
26、主属性对每一个不包含它的码也是完全函数依赖。p没有任何属性完全函数依赖于非码的任何一组属性。p若RBCNF, 则必有R3NF; 反之不一定成立。lR BCNF R 3NFl如果R3NF,且R只有一个候选码 R BCNF R 3NF充分不必要充分必要 设有关系模式设有关系模式 R U= A , B , C , D , E F=ABC, BD, CE, ECB, ACB l 要讨论范式,首先确定码。要讨论范式,首先确定码。R的候选码的候选码: AB, AC; 主属性主属性: A, B, C; 非主属性非主属性: D, E。l R BCNF EC B的决定因素的决定因素EC不包含码。不包含码。l R
27、 3NF 存在非主属性存在非主属性E对码对码AB的传递依赖:的传递依赖: ABC , CAB , CE, E C l R 2NF 存在非主属性存在非主属性D对码对码AB的部分依赖的部分依赖 AB D。l R 1NFP 关系模式关系模式 R U= A , B , C , D , E F=ABC, BD, CE, ECB, ACB pR的候选码的候选码: AB, AC。pR 1NF。n将将 R规范化规范化(分解分解)为为 BCNF 模式集:模式集: R1(A, B, C; AB C, AC B) BCNF R2(B, D; B D) BCNF R3(B, C, E; C E, EC B) BCNF
28、6.2.1 6.2.1 函数依赖函数依赖6.2.2 6.2.2 码码6.2.3 6.2.3 范式范式6.2.4 2NF6.2.4 2NF6.2.5 3NF6.2.5 3NF6.2.6 BCNF6.2.6 BCNF6.2.7 6.2.7 多值依赖多值依赖6.2.8 4NF6.2.8 4NF6.2.9 6.2.9 规范化小结规范化小结l提出问题: 设有关系模式 TEACH(C, T, B) 一门课程可由多个教员担任,一门课程使用相同的一套参考书。每个教员可以讲授多门课程, 每种参考书可以供多门课程使用n没有函数依赖n全码(C, T, B) n属于BCNF课课 程程 C教教 员员 T参参 考考 书书
29、 B 物理物理 数学数学 计算数学计算数学李李 勇勇王王 军军 李李 勇勇张张 平平 张张 平平周周 峰峰 普通物理学普通物理学光学原理光学原理 物理习题集物理习题集 数学分析数学分析微分方程微分方程高等代数高等代数 数学分析数学分析 表表6.16.1普通物理学普通物理学光学原理光学原理物理习题集物理习题集普通物理学普通物理学光学原理光学原理物理习题集物理习题集数学分析数学分析微分方程微分方程高等代数高等代数数学分析数学分析微分方程微分方程高等代数高等代数李李 勇勇李李 勇勇李李 勇勇王王 军军王王 军军王王 军军李李 勇勇李李 勇勇李李 勇勇张张 平平张张 平平张张 平平 物物 理理物物 理
30、理物物 理理物物 理理物物 理理物物 理理数数 学学数数 学学数数 学学数数 学学数数 学学数数 学学 参考书参考书B教员教员T课程课程C lTeaching模式中存在的问题 (1)数据冗余度大:有多少名任课教师,参考书就要 存储多少次。 (2)插入操作复杂:当某一课程增加一名任课教师 时,该课程有多少本参照书,就必须插入多少 个元组。例如物理课增加一名教师刘关,需要插入三个元组: (物理,刘关,普通物理学) (物理,刘关,光学原理) (物理,刘关,物理习题集)(3) 删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组(4) 修改操作复杂:某一门课要修改一本参考书
31、,该课程有多少名教师,就必须修改多少个元组 l 产生原因存在多值依赖定义5.10 设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且ZUXY,多值依赖 XY成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关 例 Teaching(C, T, B) 对于C的每一个值,T有一组值与之对应,而不论B取何值l 关系模式R(U),X、Y、ZU,Z=UXY,对于R(U)的任一关系r,若r中存在元组t、s,使得tX = sX,那么就必然存在元组w,v (w, v可以与t、s相同),使得: wX = vX = tX = sX wY =
32、tY, wZ = sZ vY = sY, vZ = tZ则称则称Y Y多值依赖于多值依赖于X X,记作,记作X X Y Y。l 定义的意思是:若tX = sX,则交换t和s元组的Y值所得到的两个新元组v和w 必在关系R中。p设设 关系模式关系模式 R ( X Y Z ) 成立成立 XY。 若存在元组若存在元组 t = s = 交换交换t和和s元组的元组的Y值所得到的两个新值所得到的两个新元组元组v和和w 必在关必在关系系R中中p例例 Teaching表,表,C T t=(物理物理, 李勇李勇, 普物普物) 存在存在 v=(物理物理, 李勇李勇, 普物普物) s=(物理物理, 李勇李勇, 光学光
33、学) w=(物理物理, 李勇李勇, 光学光学) 则必存在元组则必存在元组 v = w = t=(物理物理, 李勇李勇, 题集题集) 存在存在 v =(物理物理, 王军王军, 题集题集) s=(物理物理, 王军王军, 普物普物) w =(物理物理, 李勇李勇, 普物普物) p例如例如,TEACH关系上,成立CT。元组 t=(C1, T1, B1)和 s=(C1, T2, B2)在C上的值相等,则交换它们在T上的值,得到的元组v=(C1, T2, B1)和 w=(C1, T1, B2) 必定也在TEACH关系中。p若XY,UXY=,则称XY为平凡的多值依赖。 l 下面的关系:ABCa1b1c1a1
34、b1c2a2b1c1a2b1c3 用多值依赖的定义验证用多值依赖的定义验证: : C CB B 成立否?成立否? C CA A 成立否成立否?ABCa1b1c1a2b1c1tsABCa2b1c1a1b1c1ts A B C a1 b1 c1 a1 b1 c2 a1 b1 c3 a2 b1 c1 a2 b1 c2 a2 b1 c3 应是应是 b1与集合与集合a1, a2和和c1,c2,c3全搭配构成元组全搭配构成元组 B BC C 成立否成立否? 若要成立,需加入哪些元组?若要成立,需加入哪些元组? 例例2 2 关系模式关系模式WSC(W,S,C) 即即 ( (仓库,保管仓库,保管员,商品员,商
35、品) ) 每个仓库有若干保管员, 有若干种商品。 每个保管员保管所在仓库的所有商品, 每种商品被所有的保管员保管。WSCW1S1C1W1S1C2W1S1C3W1S2C1W1S2C2W1S2C3W2S3C4W2S3C5W2S4C4W2S4C5p按照多值依赖的定义,对于W的每一个值Wi, S有一个完整的集合与之对应而不论C取何值,所以 WS。同理,有WC。(1)多值依赖具有对称性 若XY,则XZ,其中ZUXY 多值依赖的对称性可以用完全二分图直观地表示出来。(2)多值依赖具有传递性 若XY,YZ, 则XZ -Y XiZi1 Zi2 ZimYi1 Yi2 Yin 物物 理理普通物理学普通物理学 光学
36、原理光学原理 物理习题集物理习题集李勇李勇 王军王军(3)函数依赖是多值依赖的特殊情况。 若XY,则XY。(4)若XY,XZ,则XY Z。(5)若XY,XZ,则XYZ。(6)若XY,XZ,则XY-Z,XZ -Y。l1. 1. 元组区别元组区别 函数依赖规定某些元组不能出现在关系中,也称为相等产生依赖 多值依赖要求某种形式的其它元组必须在关系中,称为元组产生依赖l2. 2. 有效性与属性集范围区别有效性与属性集范围区别 XY的有效性与属性集范围有关 。 XY 在 U 上成立 XY 在属性集 W(XY W U)上成立; XY 在属性集 W(XY W U)上成立,但在 U上不一定成立。 若在R(U)
37、上,XY在属性集W(XY W U)上成立,则称XY为R(U) 的嵌入型多值依赖 XY的有效性仅决定于X、Y属性集上的值,只要在X、Y属性集上成立, 则它在任何属性集W(XY W U)上都成立。l 3. 3. 分解性上的区别分解性上的区别 若XY在R(U)上成立,则对于任何Y Y,均有XY 成立。 若XY在R(U)上成立,则不能断言对于Y Y,是否有XY 成立。A B在在ABC上成立,上成立,而在而在 ABCD上不成立。上不成立。元组不够。元组不够。MVD的的有效性与属性集有效性与属性集范围有关,范围有关,在小的范围在小的范围内成立,而在大的范围内成立,而在大的范围内不一定成立内不一定成立 -
38、嵌入型嵌入型的。的。ABC成立,但成立,但AB 不成立。不成立。MVD没有分解性。没有分解性。ABCDa1b1c1d1a1b1c2d1a1b2c1d2a1b2c2d2ABCDa1b1c1d1a1b1c1d2a1b2c2d1a1b2c2d2l 示例,百货商店将顾客的订货直接从供应商的仓库运到顾客所在地,定义一关系存储所有商品的可能的运输源和目的地,以便规划运输方案。 运货路径(顾客名,顾客地址,商品名,供应商名,供应商地址) Key=(商品名,顾客名,供应商名) FD: 顾客名顾客地址, 供应商名供应商地址 MVD: 商品名(顾客名,顾客地址) 商品名(供应商名,供应商地址)l 可能的关系:商品
39、名 顾客名 顾客地址 供应商名 供应商地址彩电 张三 10号 王A 100号. 李四 20号 王A 100号. 张三 10号 刘B 200号. 李四 20号 刘B 200号.VCD 张三 10号 王A 100号. 林一 30号 王A 100号. 张三 10号 文C 300号. 林一 30号 文C 300号6.2.1 6.2.1 函数依赖函数依赖6.2.2 6.2.2 码码6.2.3 6.2.3 范式范式6.2.4 2NF6.2.4 2NF6.2.5 3NF6.2.5 3NF6.2.6 BCNF6.2.6 BCNF6.2.7 6.2.7 多值依赖多值依赖6.2.8 4NF6.2.8 4NF6.2.9 6.2.9 规范化小结规范化小结l 定义6.10 关系模式R 1NF,如果对于R的每个非平凡多值依赖XY(YX),X都含有码,则称R4NF。l 说明:1. 定义中的F是数据依赖集, 包括FD和MVD; 当F只包含FD时, 4NF的定义就是BCNF的定义。2. 4NF是BCNF的推广, 适用于具有多值依赖的关系模式。3. 4NF的定义就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖的存在。4. 由定义可知, 若XY 是平凡的多值依赖, 则不要求X包含码。5. 由定义可知
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 少先队座谈会领导发言稿
- 某服装公司价格管控优化方案
- 我国资本账户开放对经济增长的门槛效应:理论、实证与策略研究
- 我国证券发行审核法律制度的深度剖析与转型路径
- 口腔正畸室制度规范标准
- 住院医师规范化培养制度
- 卫衣加工厂规范管理制度
- j驾校档案管理制度
- 养殖场规范防疫管理制度
- 2026年工业机器人公司市场竞品(同类机器人)分析管理制度
- 2025年贵州事业编a类考试真题及答案
- 2026绍兴理工学院招聘32人备考题库及答案详解(考点梳理)
- 2026上海市事业单位招聘笔试备考试题及答案解析
- GB/T 21558-2025建筑绝热用硬质聚氨酯泡沫塑料
- 长期照护师内部技能考核试卷及答案
- 2025年中考英语复习必背1600课标词汇(30天记背)
- 2025小红书7月家居家装行业月报
- 城镇排水管道检测培训考核试题(附答案)
- 煤矿机电运输安全知识培训课件
- 《中华文化系列之云南甲马》少儿美术教育绘画课件创意教程教案
- Unit 2 单元测试提升卷(解析版)
评论
0/150
提交评论