目录
关系数据理论
现实世界的数据之间的联系十分复杂,我们应该应该如何通过数据库建立清晰明了的数据间的关系?应该怎样构造数据库模式,构造哪些关系、哪些属性?如何进行规范化?
关系:R(U,D,DOM,F)。其中属性U,数据依赖F是重点。
范式:关系规范性的描述
1NF:基础的二维表:每个数据单元不可再分,都是不可再分的数据项。
在1NF的基础上,我们给出一些名称的理解性定义:
- 函数依赖:关系中某些属性的值由另外一些属性的值决定,来自现实世界的语义。
- 1:1,1:m,m:n
- 平凡、非平凡的函数依赖
- 完全、部分函数依赖
- 传递函数依赖(X推Y,Y推Z,但Y不能推出X)(Z对X是完全函数依赖吗??)
- 数据冗余:表属性“包罗万象”,导致一些数据被重复存储多次
- 更新异常:由于数据冗余,更新时工作量很大
- 插入异常:一些固有的属性被绑定在了其他的属性上,导致在这些属性还未插入时,固有的属性无法存储
- 删除异常:与插入异常一致,删除了一些属性时,其附有的其他属性信息也被删除,无法保存
我们要想办法把复杂的关系分解成简单的、有逻辑