1 / 113

第五章 关系数据库理论 ( 6 学时)

数据库原理和语言. 第五章 关系数据库理论 ( 6 学时). 主讲:曹志英 副教授 大连海事大学计算机科学与技术学院 研究方向:软件工程与理论 • 数据库与信息系统 电话: 84729625 Email : CZY_SOPHY@163.COM. 学习要点. 通过本章的学习,应该重点掌握:. ( 1 )函数依赖及 Armstrong 公理系统; ( 2 )为什么要对模式进行分解,如何分解? ( 3 )如何判断关系模式达到几范式? ( 4 )如何求属性的闭包及如何求最小函数依赖集?. 章节目录. §5.1 问题的提出

levia
Download Presentation

第五章 关系数据库理论 ( 6 学时)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库原理和语言 第五章关系数据库理论(6学时) 主讲:曹志英 副教授 大连海事大学计算机科学与技术学院 研究方向:软件工程与理论•数据库与信息系统 电话:84729625 Email:CZY_SOPHY@163.COM

  2. 学习要点 通过本章的学习,应该重点掌握: (1)函数依赖及Armstrong公理系统; (2)为什么要对模式进行分解,如何分解? (3)如何判断关系模式达到几范式? (4)如何求属性的闭包及如何求最小函数依赖集?

  3. 章节目录 §5.1 问题的提出 §5.2 规范化(Normalization) §5.3 数据依赖的公理系统

  4. §5.1 问题的提出 §5.1.1 规范化问题的提出 • 在现实世界中,进行数据处理,关键是: • 针对一个具体问题应该如何构造一个适合于它的数据模式, • 即构造合理的数据逻辑结构这就需要理论指导。 • 采用关系模型讨论这个问题的理由: • 由于关系模型有严格数学理论基础 • 并且可以向别的数据模型转换 • 从而,形成了数据库逻辑设计的一个有力工具关系数据库的规范化理论。

  5. 规范化理论虽然是以关系模型为背景,但是它对于一般的数据库设计同样具有理论上的意义。规范化理论虽然是以关系模型为背景,但是它对于一般的数据库设计同样具有理论上的意义。 • 关系模式: R(U,D,dom,F)一个五元组 • 其中: • 影响关系模式设计合理性的主要因素为U和F,即: • 属性 • 属性间依赖关系, 所以,可以简化为R(U,F);

  6. 数据依赖 • 是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系。 • 是数据内在的性质,是一种语义体现; • 是现实世界中属性间相互联系的抽象;表示数据间存在的一种限制或制约关系。 • 根据人们对事物的理解判定依赖关系。 • 数据依赖有多种类型,最重要的是 • 函数依赖(Functional Dependency,简称FD) • 多值依赖(Multivalued Dependency,简称MVD) • 关系数据库的规范化理论主要包括三个方面的内容: • 函数依赖 • 范式(Normal Form) • 模式设计 • 其中,函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。

  7. 5.1.2 关系模式的存储异常问题 • 数据库的逻辑设计为什么要遵循一定的规范化理论? • 什么是好的关系模式? • 某些不好的关系模式可能导致哪些问题? • 实例:(P171)现在要建立一个数据库,来描述学生(Student)的一些情况。

  8. Student SNo SDept MN CName G • 面临的对象有: • 学生(用学号SNo描述) • 系(用系名SDept描述) • 系负责人(用其姓名MN描述) • 课程(用课程名CName描述) • 成绩(G) • 如果用一个关系模式来描述,则得到: • U={ SNo,SName,SDept,MN,CName,G }

  9. G SNO CName SDept MN • 由现实世界可得知: • 一个系有若干学生,但一个学生只属于一个系。 • 一个系只有一名(正职)负责人。 • 一个学生可以选修多门课程,每门课程有若干学生选修。 • 每个学生学习每一门课程都有一个成绩。 • 于是,得到属性组U上的一组函数依赖: F={ SNOSdept ,SDept MN,(SNO,CName) G } 图5.1 Student数据库的函数依赖图示

  10. Student SNo SDept MN CName G 冗余! G SNO CName SDept MN • 若只考虑函数依赖这一种数据依赖,就得到: • 一个描述学校的数据库模式S<U,F>, • 它由一个单一的关系模式构成。

  11. 这样的关系模式,有如下三个毛病: (1)插入异常: • 如果一个系刚成立,尚无学生, • 或者虽然有学生,但尚未安排课程, • 那么就无法把这个系及其负责人的信息存入数据库。 (2)删除异常: • 如果某个系的学生全部毕业了, • 在删除该系学生选修课的同时,把这个系及其负责人的信息也丢了。 (3)冗余太大: • 每一个系负责人的姓名要与该系每一个学生的每门功课的成绩出现的次数一样多, • 这样,一方面浪费存储,另一方面系统要付出很大的代价来维护数据库的完整性, • 比如某系负责人更换后,就必须逐一修改每一个元组。

  12. S<U,F> 表达模式 S SNo SDept Student 分解为 SG SNo SDept MN CName G SNo CName G D SDept MN • 改进:把这个单一的模式改造,分成3个关系模式。 • S(SNo,SDept,SNoSDept) • SG(SNo,CName,G ,(SNo,CName) G) • D(SDept,MN,SDeptMN) • 为什么产生异常? • 模式中的函数依赖存在不好的性质; • 或者说,数据模式组织不合理。 • 效果: • 这三个模式都不会发生异常 • 冗余也得到控制。 • 是一个好的关系数据库模式

  13. 结论:一个好的关系模式应该具备以下四个条件:结论:一个好的关系模式应该具备以下四个条件: • 尽可能少的数据冗余。 • 没有插入异常。 • 没有删除异常。 • 没有更新异常。 • 注意: 一个好的关系模式并不是在任何情况下都是最优的,要从实际设计的目标出发进行设计。

  14. §5.2 规范化(Normalization) • 作用:规范化理论使数据库设计方法走向完备。 • 起源:1971年E.F.Codd提出。 • 定义:如何按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模式转变为好的关系数据库模式,这就是关系的规范化。 • 数据库模式的好坏和关系中各属性间的依赖关系有关,因此,我们先讨论属性间的依赖关系,然后再讨论关系规范化理论。

  15. §5.2.1 函数依赖 §5.2.2 码:用函数依赖的概念来定义码。 §5.2.3 范式(Normal Form)-NF §5.2.4 多值依赖 §5.2.5 4NF

  16. §5.2.1 函数依赖 • 定义1:设R(U)是属性集U上的关系模式。X,Y是U的子集, • 若对于R(U)的任意一个可能的关系r,r 中不可能存在两个元组t,s • 在X上的属性值相等,即t[X]=s[X]; • 而在Y上的属性值不等,即t[Y]s[Y]; • 则称X函数确定Y或Y函数依赖于X,记作:XY。

  17. f(xi) Y X xi y xj f(xj) • 或者换个通俗的话 • 对于X的一个值,只有唯一的Y值与之对应, • 则称 XY。 x f(x)=y

  18. 函数依赖是一个语义范畴的概念,如: • 姓名 年龄,姓名 出生日期,姓名 籍贯 • 只能在姓名唯一的假设前提下成立。 • 当我们确定关系模式R中的某个函数依赖时, 是指R的所有可能关系r都必须满足这个函数依赖; 反之, 如果R中只要有一个关系r不满足这个函数依赖, 我们就认为R不存在这个函数依赖。 • 函数依赖只能从属性含义上加以说明, 而不能在数学上加以证明。 • 只有数据库设计者才能决定是否存在某种函数依赖。 这就使得数据库系统可以根据设计者的意图来维护数据库的完整性。

  19. XY,但Y X,则称X  Y是非平凡的函数依赖。(一般情况下都讨论的是非平凡依赖)。 • 若Y不函数依赖于X,记作X Y。 • 例如:关系模式R12={学号(S#),课程号(CB),课程名(CN) ,学期数(T),学分(CG),成绩(G)}中的函数依赖可表示为: CB→T; (S#, CB)→G; CB→CN; CB→CG; (S#, CB, CN)→G等等。 • 几个记号和术语: • X  Y,但X  Y ,则称X  Y是平凡的函数依赖。 • 若X  Y,则X叫做决定因素(Determinant)。 • 若X  Y,Y  X,则记作XY。

  20. 在R(U)中,如果XY,并且对于X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖。记作:在R(U)中,如果XY,并且对于X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖。记作: 定义2:完全依赖和部分依赖 • 若XY,但Y不完全函数依赖于X (只依赖于X的一部分),则称Y对X部分函数依赖,记作: • 例如: 关系模式R12={S#, CB, CN, T, CG, G}中, CB→T说明T完全函数依赖于CB; 又因为(S#, CB)→G, (S#, CB, CN)→G, 则G部分依赖于(S#, CB, CN)。 • 在实际的一个关系表中: • 如果主码只有一个属性,则基本上是完全函数依赖。 • 如果主码由若干个属性组成,则可能存在部分依赖,也可能是完全依赖。

  21. SNo SName SDept SAge 在关系S 学号 姓名 系 年龄 S( SNO,SName, SDept,SAge)中 实例1 存在以下函数依赖: lSNo  SName (若无重名) lSNo SDept lSNo SAge

  22. SNo CNo G 在关系S 学号 课程号 成绩 S( SNO,CNo, G)中 SNO SNO CNo G CNO CNO G SNO F G ( SNO ,CNo) 是决定因素 实例2 • 在这里,单个属性不能作为决定因素,但属性的组合可以作为决定因素,即:

  23. 实例3 • PJTP(*工程编号,工程名称,*零件编号,零件名称,规格型号,数量 ) (零件编号,工程编号) 工程名称 工程名称 工程编号 (工程编号,零件编号) 零件名称,规格型号 零件编号 零件名 数量 (工程编号,零件编号) 数量 (零件编号,工程编号,规格型号)

  24. R(U)中,如果XY(Y X), Y X , Y  Z , 则称Z对X传递函数依赖。 • 加上条件Y X是因为如果Y  X ,则 XY,实际上是 ,是直接函数依赖,而不是传递函数依赖。 定义3: 传递依赖 例如: 关系模式R={A, B, C, D}, 其上的函数依赖集F={A→B, B→C, A→C, AB→D}, 则A→C为传递函数依赖。

  25. • 若 ,但不存在K的真子集K’,使得 则K为R的候选码(Candidate Key), §5.2.2 码:用函数依赖的概念来定义码。 • 定义4:设K为R(U,F)中属性或属性组合。 • 若候选码为多个,则选定其中的一个为主码(Primary Key)。 • 主属性(Prime attribute) • 非主属性(Non Prime attribute)或非码属性(Non-Key-attribute) • 全码(all key):关系模式中,整个属性组是码。 • 定义5: 外码 • 关系模式R 中属性或属性组X并非R 的码,但X是另一个关系模式的码,则X是R的外部码(Foreign Key),也称外码。

  26. §5.2.3 范式(Normal Form)-NF • 必要性:关系数据库中 • 关系要满足一定要求; • 满足不同层要求的关系,为不同范式。 • 范式的提出: • 1971~1972年,E.F.Codd系统地提出1NF,2NF,3NF。 • 1974年,Codd和Boyce又共同提出了一个新范式BCNF。 • 1976年,Fagin提出4NF。 • 后来又提出了5NF。 • 范式表示关系的某一级别, • 现在把范式理解为符合某一种级别的关系模式的集合, • 则R为第几范式,可写成 R  xNF。

  27. 1NF 2NF 3NF BCNF 4NF 5NF 各种范式之间有如下关系 5NF  4NF  BCNF  3NF  2NF  1NF • 一个高一级的范式,必须属于低一级范式。 • 一个低一级范式的关系模式,通过模式分解,可以转化为若干个高一级范式的关系模式集合。这种过程就叫规范化。 • 规范化的基本思想是消除关系模式中的数据冗余,消除数据依赖中的不合适的部分,解决数据插入、删除异常。

  28. 工号 姓名 出生时间 …… 受奖情况 获奖时间 奖励称号 获奖等级 奖励部门 复合数据项 一、1NF 第一范式 • 关系模式中每一个分量,必须是不可分的数据项, • 满足了这个条件的关系模式,就属于第一范式(1NF),即: • 关系模式中不存在复合数据项; • 是平坦的数据结构。 • 例,职工档案(非规范的)

  29. 工号 工号 工号 工号 姓名 姓名 出生时间 获奖时间 姓名 …… 出生时间 获奖时间1 奖励称号 奖励称号1 …… 出生时间 获奖等级1 获奖等级 奖励部门1 获奖时间 获奖时间2 …… 奖励部门 奖励称号2 奖励称号 获奖等级2 奖励部门2 获奖时间3 获奖等级 奖励称号3 获奖等级3 奖励部门 奖励部门3 获奖时间4 奖励称号4 获奖等级4 奖励部门4 …… …… 001 张三 19650403 19920401 市劳模 大连市 001 张三 19650403 19920401 科技进步奖 一等 大连市 表A. 横向冗余法报表实例 001 张三 19650403 19920401 科学发明 一等 辽宁省 …… …… …… …… 表B. 纵向冗余法报表实例 人们在处理这个问题的时候,不规范的作法是------采用: (1)横向冗余法(例如,表A) (2)纵向冗余法(例如,表B) 化为1NF,将上述关系拆开成两个表,即把组合项拿出来单独形成一个表:

  30. 二、2NF 第二范式 • 从2NF开始,判断非主属性与主属性间关系 • 定义6:若R  1NF,且每一个非码属性完全函数依赖于码,则R 2NF。 • 书中例子: P175 ,非2NF。 • 2NF定义:如果一个规范化的数据结构,它所有的非关键字数据元素都完全函数依赖于整个关键字,我们称它是第二规范化形式(Second Normal Form)的数据结构,简称第二范式(2NF)。 • 推论1:一个规范化的数据结构,如果其关键字仅由一个数据元素组成或其全体属性均为主属性,那么它必然属于2NF。 • 推论2:如果关键字是由若干个属性组成,要判别所有的非关键字与关键字的函数依赖关系,如果存在部分依赖关系,则不属于2NF。

  31. 例如: 描述一个在校大学生的学习情况涉及以下一些属性: 学号(Sno)、 姓名(Sname)、性别(Sex)、 系别(Sdept)、 学籍类型(SL)、 专业(Spec)、 班级(SC)、 课程号(Cno)、 课程名(Cname)、 学期数(T)、 学分(Credit)和成绩(G), 该关系模式R(U,F) 属性集合表示为U={Sno, Sname, Sex, ID, Sdept, SL, Spec, SC, Cno, Cname, T, Credit, G}。 函数依赖集合F={Sno→Sname, Sno→Sex, Sno→Sdept, Sno→SL, Sno→Spec, Sno→SC, Cno→Cname , Cno→T, Cno→Credit, (Sno, Cno)→G} 显然,该关系模式的码为(Sno,Cno)--可丛常识判断,也可从F中求解侯选码。 R∈1NF---所有的属性都是最小的不可分的数据项 R2NF---存在非码属性对码的部分函数依赖关系

  32. 实例一 R中存在以下几个问题: (1) 冗余。 (2) 插入异常。 假如新增一门课程, 其Cno=1011, Cname=多媒体技术, 学分=3, 但因此课程还没有学生选修, 则这样的元组不能插入R的关系中。 (3) 删除异常。 假如有一门课(如课程号为C5)目前只有一位学生选修了, 但这位学生又不选了, 那么 C5这个数据项就要删除。 由于C5是主属性, 删除了C5, 整个元组就不存在了, 也必须删除, 但这样也把不应该删除的信息删除了, 造成删除异常。

  33. 实例一 • 将R化为2NF---消除部分函数依赖关系。 • R可分解为以下三个表: • R1(U1,F1) ----码为Sno 属于2NF • U1={Sno, Sname, Sex, ID, Sdept, SL, Spec, SC} • F1={Sno→Sname, Sno→Sex, Sno→Sdept, Sno→SL, Sno→Spec, Sno→SC} • R2(U2,F2) ----码为Cno 属于2NF • U2={Cno, Cname, T, Credit} • F2={Cno→Cname , Cno→T, Cno→Credit} • R3(U3,F3) ----码为(Sno,Cno) 属于2NF • U3={Sno, Cno,G} • F3={(Sno, Cno)→G} • 对属性集进行分解,对函数依赖集进行分解

  34. 实例二:配件-供应商-库存关系,语义描述: • “配件编号”代表每种配件(名称和规格); • 每种配件的“库存量”、“价格”、“库存占用资金”还和“供应商”有关(即:同一配件,可由不同的供应商供应,其价格、库存量及库存占用资金因供应商不同而不同) 。 • 同一供应商可供应多种配件。 • 这个关系达到1NF,因其所有的属性都是不可分的。 根据语义描述,非关键字与关键字有如下的函数依赖关系。“配件编号+供应商名称”是关键字。 • 函数依赖关系: • 配件编号→配件名称 • 配件编号→规格 • 供应商名称→供应商地址 • 配件编号+供应商名称→价格 • 配件编号+供应商名称→库存量, • 配件编号+供应商名称→库存占用资金 • 因为“配件名称”、“规格”和“供应商地址”并不完全函数依赖于整个关键字。存在非主属性部分函数依赖于关键字,所以它不属于2NF。 *配件编号 配件名称 规格 *供应商名称 供应商地址 价格(厂价) 库存量 库存占用资金

  35. 对这样一个数据结构,可能会有如下毛病。 ① 插入异常 如果汽车配件公司准备引进一种新的汽车配件,知道它的名称和规格,给它规定一个配件编号,想把这种新配件插入到“配件–供应商–库存”数据存贮中去,但是配件公司还没有决定由哪一家供应商提供这种新配件,也就是还没有该配件的供应商数据和库存数据;就无法插入这项新配件的数据(关键字不能为空) 。 ② 删除异常 如果汽车配件公司和某家供应商断绝了业务关系,就没有必要再保存这家供应商的数据,而这家供应商恰恰是某种(或某几种)配件的唯一供应商,当把这家供应商的数据删除时,整个元组也就不存在了,那么这种(或这几种)配件的数据也都丢失了,把不应该删除的数据也删除了。 ③ 修改异常 如果某家供应商的地址发生了变化,需要修改这家供应商的地址;但是有上百种或上千种配件是由这家供应商提供的,那么要逐个地修改“供应商地址”,与这家供应商有关的元组一条也不能遗漏,这就为修改带来了麻烦。

  36. 配件库存配件供应商 * 配件编号 * 配件编号 * 供应商名称 * 供应商名称 配件名称 供应商地址 价格 (厂价) 规格 库存量 库存占用资金 解决办法 • 属于第一范式的数据结构还是一个不好的数据结构,需要进一步把它转换成第二规范化形式,办法是: • 把1NF关系模式通过投影分解转换成2NF关系模式的集合,即对函数依赖关系按决定因素分组,决定因素相同的分为一组,构成一个关系模式。 • 分解时遵循的基本原则就是“一事一地”,让一个关系只描述一个实体或者实体间的联系。 • 因此,“配件-供应商-库存”可以分解成三个数据结构,它们都是属于2NF的数据结构。

  37. 定义7: 关系模式R<U,F>中若不存在这样的码X,属性组Y及非主属性Z(Z Y ),使得 X  Y,(Y X ), YZ成立,则称 R<U,F>  3NF; 三、3NF 第三范式 • 即关系模式中不存在部分依赖和传递依赖关系。 • 3NF定义:如果一个属于第二范式的数据结构,它所有的非关键字数据元素都是彼此函数独立的,换句话说,在所有的非关键字数据元素之间,不存在函数依赖关系,那么我们称它是第三规范化形式(Third Normal Form)的数据结构,简称第三范式(3NF)。

  38. 配件库存 * 配件编号 * 供应商名称 价格 (厂价) 库存量 库存占用资金 配件库存 * 配件编号 * 供应商名称 价格 (厂价) 库存量 例1 3NF

  39. 分派职工任务 职工编号 姓名 工资 工程代号 工程完成日期 职工—工程 * 职工编号 姓名 工资 工程代号 工程 * 工程代号 工程名称 工程完成日期 例2 • 有若干项工程,每项工程都有规定的完工日期,每项工程要由若干人完成,每一个职工只能承担一项工程,每一个职工有固定的工资。 • 那么,可以设计一个称为“分派职工任务”的数据存贮的数据结构。 * 分解成3NF

  40. F X’ A  由于是X的子集 可断之 ,但 X’ X 证明若R3NF,则R必属于2NF,R2NF(用反证法) • 证明: 假设R3NF,R2NF 则 存在属性A,候选码X, A, X  R , 使得 这与题设R  3NF矛盾 并且: 这样在R中就有非主属性A,不满足第三范式的定义, 所以 R3NF

  41. 定义8:关系模式R<U,F>  1NF, • 若XY且Y X 时 X 必含有码, • 则R<U,F> BCNF。 四、BCNF( Boyce Codd Normal Form) • 由Boyce 和Codd 1974年共同提出,对3NF进行扩充、修正。 • 即:关系R中所有的决定因素都是候选码。 • 由BCNF的定义可以得出结论,一个满足BCNF的关系模式有: • 所有的非主属性,对每一个码,都是完全函数依赖。 • 所有的主属性对每一个不包含它的码,也是完全函数依赖。 • 没有任何属性完全函数依赖于非码的任何一组属性。

  42. S S J T 实例 • 非BCNF范式:关系模式STJ(S,T,J)中, • S是学生、 T是老师、 J是课程; • 每个老师只教一门课; • 每门课都有若干老师; • 某一学生选定一门课就对应一个固定的老师。 • 由语义可以得到如下的函数依赖: • ( S,J )T • ( S,T )J • T  J • 函数依赖图示(见右图5.6) T J 图5.6 STJ中的函数依赖

  43.  BCNF 实例分析 • 这个关系的候选码: • ( S,J )和 ( S,T ) • STJ是3NF,因为没有任何非主属性对码传递依赖或部分依赖。 • 但是,存在主属性J 对候选键(S, T)的部分依赖,或者说 T是决定因素,而T不是码,STJ不是BCNF。 • 经BCNF分解后,得到: • ST(S,T) • TJ(T,J )

  44. 对BCNF的分析 • 3NF和BCNF,是在函数依赖的条件下,对模式分解所能达到的分离程度的“测度”。 • BCNF实现了彻底的分离,已消除了插入、删除异常。 • 3NF的分离的“不彻底性”,表现在可能存在主属性对码的部分依赖和传递依赖。

  45. 课程C    教员T     参考书B物理     李 勇       普通物理学           王 军       光学原理                      物理习题集 数学      李 勇       数学分析          张 平       微分方程                      高等代数 ……… §5.2.4 多值依赖 实例:教员,课程,参考书(P178-P179) 学校中某一门课程由多个教员讲授,他们使用相同的一套参考书。每个教员可以讲授多门课程,每种参考书可以供多门课程使用。我们可以用一个非规范化的关系来表示教员T,课程C和参考书B之间的关系:

  46. Teaching • 关系的码是(C,T,B),即A1l_Key。因而TEACHING∈BCNF。 • 但是当某一课程(如物理)增加一名讲课教员(如周英)时,必须插人多个元组: • (物理,周英,普通物理学), • (物理,周英,光学原理), • (物理,周英,物理习题集) • 当某一课程(如数学)去掉一本参考书(如微分方程),则必须删除多个元组。 • 对数据的增删改很不方便, 数据的冗余也十分明显。

  47. 定义: • 设R(U)是属性集U上的一个关系模式,X、Y、Z是U的子集,并且Z=U-X-Y。 • 若对R(U)的任一关系r,对于X的一个给定值x,存在Y的一组值与其对应, • 而Y的这组值又不以任何方式与属性Z 的值相关, • 那么就是说,Y多值依赖于X,记为: XY。 • 当Y的这组值个数为1时, XY就成了XY。

  48. U yi1 yi2 yim Y X f (xi) = (m>1) yi1 yi2 xi yim z Z=U-X-Y XY 多值依赖的示意图

  49. X Y Z 有一组B值 有一组B值 有一组B值 对于一对(x,z)

  50. 多值依赖的另一个等价的形式化的定义 • 在R(U)的任一关系r 中, • 如果存在元组t,s,使得t[X]=s[X], • 那么就必然存在元组w,vr,(w,v可以与s,t相同),使得w[X]=v[X]=t [X], • 而w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z] • (即交换s,t元组的Y值所得两个新元组必在r 中) , • 这里X、Y是U的子集,Z=U-X-Y。 • 称 Y 多值依赖于X,即为 XY。 • 若XY,而Z=U-X-Y=(为空),则称 XY为平凡的多值依赖。

More Related