资源描述:
《关系数据库规范化理论与数据库设计大全》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、7.1知识点7.1.1关系模式的设计问题给出一组数据,如何构造一个适合于它们的数据库模式,这是数据库设计的闷题。关系数据库没计理论主要包括三个方面的内容:数据依赖,范式,模式没计方法。其屮数据依赖起着核心作用。把现实问题的所有属性组成一个关系模式,记为R(U),它由属性集U和U上成立的数据完整性约束集组成。关系I•是关系模式R(U)的当前值,是一个元组的集合。这里的关系模式和关系一般称为泛关系模式和泛关系。川一个关系模式的集合P={Rl,R2,.,Rk}來代替R(U),其中每个Ri(l
2、性是U的子集。这里的P称为数据库模式。对数据库模式的每一个关系模式赋予一个当前值,就得到一个数据库实例(简称数据库)。泛关系模式存在的存储异常问题有:数据冗余,更新异常,插入异常,删除异常。7.1.2数据依赖数据依赖是可以作为关系模式的収值的任何一个关系所必须满足的一种约朿条件,是通过一个关系中数据间值的相等与否体现出来的相互关系。它是现实世界属性间相互联系的抽象,是数据P、j在的性质,也是语义的体现。人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖和多值依赖。7.1.3函数依赖设R(Al
3、,A2,An)是一个关系模式,X和Y是{Al,A2,An}的子集,若只文本框:考纲要求1.关系数裾库的规范化理论。2.数据库设计的目标、内容和方法。要关系I•是关系模式R的可能取值,则I•中不可能有两个元组在X中的属性值相等,而在Y中的属性值不等,则称“X函数决定Y”,或“Y函数依赖于X”,记作X—Y。非平凡函数依赖若X—Y,但Y.X,则称X—Y为非平凡的函数依赖。完全函数依赖在关系模式R中,如果X—Y,并且对于X的任何一个真子集X’,都有Y不函数依赖于X’,则称Y对X完全函数依赖,记做。YXf.-
4、*.不完全函数依赖若X->Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记做YXp.->.传递函数依赖在关系模式R中,如果X—Y而且X不函数依赖于Y,(Y.U..?..?..?..?..?...X),Y-Z,则称Z对X传递函数依赖。7.1.4多值依赖多值依赖的定义是:设R是属性集U上的一个关系模式,X、Y是U的子集,ZHJ-X-Y。若在R的任一关系r中,只要存在元组t,s,使得t[X]=s[X],就必然存在元组v(co,v可以与s,t相同),使得o)[X]=v[X]=t[X]=s[X],而o)
5、[Y]=v[Y],s[Z]=s[Z],v[Y]=s[y],v[Z]=t[Z],则称Y多值依赖于X,记做X——Y。7.1.5函数依赖的逻辑蕴含设F是关系模式R的一个函数依赖集,X、Y是R的属性子集,如果从F中的函数依赖能够推出X—Y,则称F逻辑蕴涵X—Y。被F逻辑蕴涵依赖的全体构成的集合,称为F的闭包,记为F+。7.1.6码设有关系模式R(Al,A2,.,An),F是R上的函数依赖集,X是{Al,A2,.,An}的一个子集。如果X—Al,A2.,AnGF+,且不存在X的真子集Y,使得Y->A1,A2.
6、,An成立,则称X是R的一个候选码。包含在任何一个候选码屮的属性称为主属性,不包含在任何码中属性称为非主属性或非属性。7.1.7Armstrong公理系统Armstrong公理系统包括三条推理规则:自反律:若Y,则X—Y为F所逻辑蕴含。UX..增广律:若X->Y*F所逻辑蕴含,且,则XZ—YZ为F所逻辑蕴含。UZ.传递律:若X—Y及Y—Z为F所逻辑蕴含,则X—Z为F所逻辑蕴含。由这三条推理规则还可以推出三条有用的规则:合并规则:由X—Y,X—Z,有X—YZ。伪传递规则:由X->Y,WY-Z,有XW-
7、>Z。分解规则:由X—Y及,有X—Z。YZ.7.1.8范式第一范式(1NF)关系模式需要满足一定的条件,不同程度的条件称做不同的范式。最低要求的条件是元组的每个分量必须是不可分的数据项,这叫做第一范式,简称1NF,是最基本的规范化。第二范式(2NF)若关系模式RE1NF,且每一个非主属性完全函数依赖于码,则RE2NF。2NF就是不允许关系模式的属性之间有这样的函数依赖X—Y,其屮X是码的真子集,Y是非主属性。即不允许有非主属性对码的部分函数依赖。第三范式(3NF)若关系模式RE2NF,且每一个非主属
8、性都不传递依赖于码,则RE3NF。3NF就是不允许关系模式的属性之间有这样的非平凡函数依赖X—Y,其中X不包含码,Y是非主属性。Boyce-Codd范式(BCNF)若关系模式RE1NF,且对于每一个非平凡的函数依赖X—Y,都有X包含码,则REBCNFOBCNF是3NF的进一步规范化,即限制条件更严格。3NF不允许有X不包含码,Y是非主属性的非平凡函数依赖X—Y。BCNF则不管Y是主属性还是非主属性,只要X不包含码,就不允许有X-*Y这样的非平凡函数依赖。因此,若RGB