文档介绍:第4章关系数据库设计理论
数据依赖
范式
关系模式的分解
数据依赖
关系模式中的数据依赖
数据依赖对关系模式的影响
有关概念
返回首页
关系模式中的数据依赖
关系是一张二维表,它是所涉及属性的笛卡尔积的一个子集。从笛卡尔积中选取哪些元组构成该关系,通常是由现实世界赋予该关系的元组语义来确定的。元组语义实质上是一个N目谓词(其中N是属性集中属性的个数)。使该N目谓词为真的笛卡尔积中的元素(或者说凡符合元组语义的元素)的全体就构成了该关系。
关系模式是对关系的描述,为了能够清楚地刻画出一个关系,它需要由五部分组成,即应该是一个五元组:
R(U, D, DOM, F)
其中:R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。
返回本节
数据依赖对关系模式的影响
关系数据库设计理论的中心问题是数据依赖性。所谓数据依赖是实体属性值之间相互联系和相互制约的关系,是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。
现在人们已经提出了许多类型的数据依赖,其中函数依赖(Functional Dependency,简称为FD)和多值依赖(Multivalued Dependency,简称为MVD)是与数据库设计理论中最重要的两种数据依赖类型。
从上述事实可以得到属性组U上一组函数依赖F():
F={Cardid→Class, Class→Maxcount,(Bookid, Cardid, Bdate)→Sdate}
如果仅仅考虑函数依赖这一种数据依赖,就得到一个描述“学校图书管理”的关系模式Book<U, F>。但这个关系模式存在4个问题
(1)存在较大数据冗余(Date Redundancy)。
(2)更新异常(Update Anomalies)。
(3)插入异常(Insertion Anomalies)。
(4)删除异常(Deletion Anomalies)。
返回本节
有关概念
(1)函数依赖是指关系模式R的所有元组均要满足的约束条件,而不仅仅指R中某个或某些元组满足的约束条件特例。
(2)函数依赖并不一定具有可逆性。例如一般认为Cardid→Class,即由于读者的卡号具有惟一性,因此读者的卡号可确定读者的类型,而反之则不行。
(3)若X→Y,则X称为这个函数依赖的决定属性集(Determinant)。
(4)函数依赖和别的数据之间的依赖关系一样,是语义范畴的概念。
(5)数据库设计者可以对描述现实世界的关系模式作强制性的规定。
(6)若X→Y,并且Y→X,则记为X←→Y。
(7)若Y不函数依赖于X,则记为X Y。
对于任意一种关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此在本章中,若不特别声明,总是讨论非平凡函数依赖。