第六章 关系数据理论

属性间的联系:

一对一联系 设X,Y为关系中的属性或属性组,它们的所有可能取值组成两个集合。如果对于X中的任一具体值Y中至多有一个值与之对应,称X,Y这两个属性之间是一对一联系。

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

多对多联系 在X,Y两个属性值集中,如果任一个值都可以至多和另一个属性值集中多个值对应,反之亦然,则称属性X和Y是m:n关系

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

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

平凡函数依赖与非平凡函数依赖:X→Y,但Y⊈X则称X→Y是非平凡的函数依赖。 X→Y,但Y⊆X 则称X→Y是平凡的函数依赖。 例:在关系SC(Sno, Cno, Grade)中,             非平凡函数依赖: (Sno, Cno) → Grade             平凡函数依赖:     (Sno, Cno) → Sno                                           (Sno, Cno) → Cno

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

传递函数依赖:定义6.3  在R(U)中,如果X→Y(Y⊈X),Y↛X,Y→Z,Z⊈Y, 则称Z对X传递函数依赖(transitive functional dependency)。记为:X → Z。 注: 如果Y→X, 即X←→Y,则Z直接依赖于X,而不是传递函数依赖。 [例] 在关系Std(Sno, Sdept, Mname)中,有: Sno → Sdept,Sdept → Mname, Mname传递函数依赖于Sno

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

关系模式分解的标准:三种模式分解等价的定义: ⒈ 分解具有无损连接性     ⒉ 分解要保持函数依赖     ⒊ 分解既要保持函数依赖,又要具有无损连接性

具有无损连接性的模式分解:关系模式R<U,F>的一个分解 ρ={ R1<U1,F1>,R2<U2,F2>, …,Rn<Un,Fn>}      若R与R1、R2、…、Rn自然连接的结果相等,则称关系模式R的这个分解ρ具有无损连接性(Lossless join) 具有无损连接性的分解保证不丢失信息 无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题

猜你喜欢

转载自blog.csdn.net/Fred_TT/article/details/83590681