1 / 11

第 3 章 关系规范化基础

第 3 章 关系规范化基础. 关系规范化基础. 数据依赖 关系规范化 第一范式 第二范式 第三范式 BC 范式. 数据依赖. 数据依赖 包括 函数依赖和多值依赖 ,我们这本书只讨论有关函数依赖的内容。 函数依赖 涉及到 平凡 函数依赖、 非平凡 函数依赖、 完全 函数依赖、 局部(部分) 函数依赖、 直接 函数依赖和 传递 函数依赖等概念。

gage-pierce
Download Presentation

第 3 章 关系规范化基础

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. 第3章 关系规范化基础

  2. 关系规范化基础 • 数据依赖 • 关系规范化 • 第一范式 • 第二范式 • 第三范式 • BC范式

  3. 数据依赖 • 数据依赖包括函数依赖和多值依赖,我们这本书只讨论有关函数依赖的内容。 • 函数依赖涉及到平凡函数依赖、非平凡函数依赖、完全函数依赖、局部(部分)函数依赖、直接函数依赖和传递函数依赖等概念。 • 函数依赖的定义:设一个关系为R(U),X和Y为属性集U上的子集,若对于元组中X上的每个值都有Y上的一个惟一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,记作X→Y,称X为决定因素。

  4. 平凡与非平凡函数依赖的定义:设一个关系为R(U),X和Y为属性集U上的子集,若X→Y,且X不包含Y,则称X→Y 为非平凡函数依赖,否则,若X包含Y,则称X→Y 为平凡函数依赖。 • 完全与部分函数依赖的定义:设一个关系为R(U),X和Y为属性集U上的子集,若X→Y,同时X的一个真子集X’也能够函数决定Y,即X’→Y,则称X部分函数决定Y,或Y部分函数依赖于X,记作X-P→Y。否则若不存在X的一个真子集X’,使得X’也能够函数决定Y,则称X完全函数决定Y,或Y完全函数依赖于X,记为X-f→Y。

  5. 传递与直接函数依赖的定义:一个关系为R(U),X,Y和Z为属性集U上的子集,其中X→Y, Y→Z,但Y→X且Y不包含Z,则存在X→Z,称此为传递函数依赖。 否则称X→Z为直接函数依赖。 • 设一个关系为R(U),X,Y和Z为属性集U上的子集,若X→Y,则存在XZ→YZ和XZ→Y。

  6. 函数依赖的一些常用规则 • 自反性:若X包含Y,则存在X→Y。 • 增广性:若X→Y,则存在XZ→YZ。 • 传递性:若X→Y和Y→Z则存在X→Z。 • 合并性:若X→Y和X→Z则存在X→YZ。 • 分解性:若X→Y且Y包含Z,则存在X→Z。 • 伪传递性:若X→Y和WY→Z则存在WX→Z。 • 复合性:若X→Y和Z→W则存在XZ→YW。 • 自增性:若X→Y,则存在WX→Y。

  7. 最小函数依赖集的定义:设一个关系为R(U),X和Y为U的子集,若X→Y,并且为完全非平凡函数依赖,同时Y是单属性,则称X→Y为R的最小函数依赖。由R中所有最小函数依赖构成R的最小函数依赖集,其中不含有冗余的传递函数依赖。最小函数依赖集的定义:设一个关系为R(U),X和Y为U的子集,若X→Y,并且为完全非平凡函数依赖,同时Y是单属性,则称X→Y为R的最小函数依赖。由R中所有最小函数依赖构成R的最小函数依赖集,其中不含有冗余的传递函数依赖。 • 候选码的定义:设一个关系为R(U),X为U的一个子集,若X能够函数决定U中每个属性,并且X的任何真子集都不能函数决定U中的每个属性,则称X为关系R的一个候选码。 • 根据一个关系模式的语义,能够求出它的最小函数依赖集,从而能够得到各属性间的函数依赖关系,以及得到所有的候选码。

  8. 关系规范化 • 第一范式是一个关系的最低规范化级别,它确保关系中的每个属性都是单值属性,即不是复合属性。 • 第二范式消除了关系中所有非主属性对候选码的部分依赖。若关系中的每个候选码都是单属性,则符合第一范式的关系自然也达到第二范式。 • 第三范式消除了关系中所有非主属性对候选码的部分和传递依赖。

  9. BC范式消除了关系中所有属性对候选码的部分和传递依赖。若一个关系达到了第三范式,并且它只有单个候选码,或者它的每个候选码都是单属性,则该关系自然也达到BC范式。BC范式消除了关系中所有属性对候选码的部分和传递依赖。若一个关系达到了第三范式,并且它只有单个候选码,或者它的每个候选码都是单属性,则该关系自然也达到BC范式。 • 关系规范化的过程就是概念单一化和逐步分解关系的过程,就是把属性间存在的部分和传递依赖逐步转化为关系之间1对1或1对多联系的过程。

  10. 通过关系的规范化能够逐步消除数据冗余和操作异常,从而提高数据的共享度,提高插入、删除修改数据安全性、一致性、单一性和灵活性。但规范化程度越高,查询时愈需要进行多个关系之间的连接操作,从而增加了一些查询的复杂性。通过关系的规范化能够逐步消除数据冗余和操作异常,从而提高数据的共享度,提高插入、删除修改数据安全性、一致性、单一性和灵活性。但规范化程度越高,查询时愈需要进行多个关系之间的连接操作,从而增加了一些查询的复杂性。 • 对于一般应用来说,通常是规范化到第三范式就可以了。

  11. 实例分析: • 假设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={ A→B,C→D, C→E },则该关系的候选码为什么?该关系属于第几范式,请简要地说明理由。若要规范化到高一级的范式,则将得到什么样的关系。 • 解答:该关系的候选码为(A,C)。 • 因为该关系中存在有非主属性对候选码的部分函数数依赖,即A→B,C→D, C→E,其中B,C和E只依赖于候选码的部分A或C,所以该关系只属于第一范式。 • 若要规范化到高一级的范式,则需要将关系R根据属性对候选码的部分依赖拆分成三个关系,它们分别为: R1(A,B)和R2(C,D,E), R3(A,C),这三个关系达到了BC范式的要求。

More Related