关系型数据库中已经讲到,一个关系模型应当是一个五元组。
R(U,D,DOM,F)
这里:
- 关系名R是符号化的元组定义。
- U为一组属性。
- D为属性组U中的属性所来自的域。
- DOM为属性到域的映射。
- F为属性组U上的一组数据依赖。
数据依赖是一个关系内部属性和属性之间的一种约束关系。这种约束关系是通过属性间值的相等与否体现出来的数据间相关的联系。
数据依赖其中最重要的是函数依赖(FD)和多值依赖(MVD)。
6.2 规范化
6.2.1 函数依赖
- 非平凡函数依赖:X→Y,但Y不是X的子集,一般讨论的都是这个
- 平凡函数依赖:X→Y,且Y是X的子集
完全函数依赖和部分函数依赖:
传递函数依赖:
6.2.2 码
定义6.5:关系模式R中属性或属性X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,也成为外码。
6.2.3 范式
评价关系数据库好坏的标准,通常情况下,范式越高越好
规范化:一个低一级的关系模式通过模式分解可以转换为若干个高一级范式的关系模式的集合。
1NF
作为一个二维表,关系要符合一个最基本的条件:每一个分量必须是不可分的数据项,满足了这个条件的关系模式就属于第一范式1NF。
6.2.4 2NF
6.2.5 3NF
6.2.6 BCNF
6.2.8 4NF
6.2.9 规范化总结
规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各个关系模式达到某种程度的“分离”,即“一事一地”的模式设计原则。让一个关系描述一个概念、一个实体或则一个实体之间的联系。若多于一个概念就把它”分离“出去。因此所谓规范化实质上是概念的单一化。