表的设计原则:
1.在结构良好的表中,每个决定因子都必须是候选键。2.非结构良好的表应分解成结构良好的两个或多个表。
结构良好的表是满足Boyce-Codd范式(BCNF)的表。
满足第一范式(first normal form 1NF)的表的特征:
-行包含实体的数据
-列包含实体属性的数据
-表中的单元格存储单个值
-每列的所有实体类型一致
-每列具有唯一名称
-列的顺序任意
-行的顺序任意
-任意两行互不重复
规范化过程:
1.标识表的所有候选键。
2.标识表的所有函数依赖。
3.检查函数依赖的决定因子。如果某决定因子不是候选键,则表的结构就不好。此时:
a.把函数依赖的列放在它自己的新表中。
b.把函数依赖的决定因子作为新表的主键。
c.将决定因子的副本作为原表的外键。
d.在新表和原表之间创建参照完整性约束。
4.根据需要,多次重复步骤3,直至每个表的决定因子都是候选键。