问题的提出
关系模式由五部分组成,是一个五元组:R(U, D, DOM, F)
R是符号化的元组语义
U为一组属性
D为属性组U中的属性所来自的域
DOM为属性到域的映射
F为属性组U上的一组数据依赖
D、DOM与模式设计关系不大,只用到三元组:R<U,F>
二维表每个分量必须是不可分开的数据项,满足了这个条件的关系模式就属于:第一范式(1NF)
数据依赖
1.是一个关系内部属性与属性之间的一种约束关系
2.通过属性间值的相等与否体现出来的数据间相互联系
3.是现实世界属性间相互联系的抽象
4.是数据内在的性质
5.是语义的体现。
主要类型:
◼函数依赖(简记为FD)
◼多值依赖(简记为MVD)
某些模式的函数依赖可能存在某些不好的性质,比如:
(1)数据冗余
有些数据重复出现,这会浪费大量的存储空间
(2)更新异常
由于数据亢余,系统需要很大代价维护数据库完整性,否则将会面临数据不一致的风险
(3)插入异常
由于某些数据初始值缺失等,无法执行插入功能
(4)删除异常
可能连带删除有用的其他信息
规范化
函数依赖
==定义:==设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是平凡的函数依赖。
若X→Y,则X称为这个函数依赖的决定因素
若X→Y,Y→X,则记作X←→Y。
若Y不函数依赖于X,则记作 x ↛ y x \not\rightarrow y x→y。
完全函数依赖与部分函数依赖
在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有 X’ ↛ Y \not\rightarrow Y