数据库笔记第六章

                                            第六章 关系数据理论

6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 *6.4 模式的分解 6.5 小结

关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式

数据库逻辑设计的工具──关系数据库的规范化理论

 

关系模式由五部分组成,是一个五元组:

            R(U, D, DOM, F)

关系名R是符号化的元组语义

U为一组属性

D为属性组U中的属性所来自的域

DOM为属性到域的映射

F为属性组U上的一组数据依赖

 

由于D、DOM与模式设计关系不大,因此在本章中把关系模式看作一个三元组:R

当且仅当U上的一个关系r满足F时,r称为关系模式R的一个关系

作为二维表,关系要符合一个最基本的条件:每个分量必须是不可分开的数据项。满足了这个条件的关系模式就属于第一范式(1NF)

 

一对一联系

设X,Y为关系中的属性或属性组,它们的所有可能取值组成两个集合。如果对于X中的任一具体值Y中至多有一个值与之对应,称X,Y这两个属性之间是一对一联系。 例:在读者关系中,借书证号是唯一的,如果读者没有重名的,姓名与借书证号两个属性之间是1:1联系。姓名可以确定借书证号,借书证号也可以确定姓名。

 

一对多联系

如果属性值集合X中的任一个具体值,至多与Y中的一个值相对应,而Y中的任一个具体值却可以和X中的多个值相对应,则称两个属性间从X到Y为m:1的联系或从Y到X是1:m的联系。 注意:这里指的是属性值个数的多少,而不是具有相同属性值的有多少个元组,二者正好相反。

例:在图书关系中,一本书有若干副本,它们有相同的书名、作者、分类号等,但每本书有唯一的总编号。书名与总编号之间是1:m,即同一个书名,有多个总编号与之对应。

 

多对多联系

在X,Y两个属性值集中,如果任一个值都可以至多和另一个属性值集中多个值对应,反之亦然,则称属性X和Y是m:n关系。 例:在借阅关系中,一个读者可以借多本书,即同一个借书证号有若干个图书总编号与之对应。由总编号标识的一本书在不同日期可以被不同的读者借阅。

 

数据依赖

是一个关系内部属性与属性之间的一种约束关系

通过属性间值的相等与否体现出来的数据间相互联系

是现实世界属性间相互联系的抽象

是数据内在的性质

是语义的体现

 

 

数据依赖的主要类型

函数依赖(Functional Dependency,简记为FD) 多值依赖(Multi-Valued Dependency,简记为MVD)

 

关系模式Student中存在的问题:

(1)数据冗余 浪费大量的存储空间 每一个系主任的姓名重复出现,重复次数与该系所有学生的所有课程成绩出现次数相同。

(2)更新异常(Update Anomalies) 数据冗余 ,更新数据时,维护数据完整性代价大。 某系更换系主任后,必须修改与该系学生有关的每一个元组。

(3)插入异常(Insertion Anomalies) 如果一个系刚成立,尚无学生,则无法把这个系及其系主任的信息存入数据库。

(4)删除异常(Deletion Anomalies) 如果某个系的学生全部毕业了, 则在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。

 

规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。

 

定义6.1  设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r 中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。

 

若X→Y,则X称为这个函数依赖的决定因素(Determinant)。 若X→Y,Y→X,则记作X←→Y。 若Y不函数依赖于X,则记作X↛Y。

在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有 X’ ↛ Y, 则称Y对X完全函数依赖,记作X → Y。 若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X → Y

 

设K为R中的属性或属性组合。若K → U,则K称为R的一个候选码(Candidate Key)。 如果U部分函数依赖于K,即K → U,则K称为超码      (Surpkey)。候选码是最小的超码,即K的任意一个真子集都不是候选码。 若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。

主属性与非主属性 包含在任何一个候选码中的属性 ,称为主属性          (Prime attribute) 不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute) 全码:整个属性组是码,称为全码(All-key)

 

范式是符合某一种级别的关系模式的集合。 关系数据库中的关系必须满足一定的要求。满足   不同程度要求的为不同范式。 范式的种类:  第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 第五范式(5NF)  

你可能感兴趣的:(笔记总结,数据库)