SQL 设计良好的表的属性。
示例
真正的关系数据库必须超越将数据扔到几个表中并编写一些SQL语句来提取数据的能力。
最好的一个错误设计的表结构将减慢查询的执行速度,并可能使数据库无法按预期运行。
一个数据库表不应被视为另一个表。它必须遵循一组规则才能被认为是真正的关系。从学术上讲,区分是一种“关系”。
关系表的五个规则是:
每个值是原子的;每行每个字段中的值必须是一个值。
每个字段都包含相同数据类型的值。
每个字段标题都有一个唯一的名称。
表中的每一行必须至少具有一个值,以使其在表中的其他记录中唯一。
行和列的顺序没有意义。
符合以下五个规则的表:
规则1:每个值都是原子的。 Id,Name,DOB和Manager仅含有一个单一的值。
规则2:Id仅包含整数,Name包含文本(我们可以添加为四个字符或更少的文本),DOB包含有效类型的日期,并Manager包含整数(我们可以添加对应于管理器表中主键字段的数字)。
第3条:Id,Name,DOB和Manager在表格内唯一的标题名称。
规则4:包含该Id字段可确保每个记录与表中的任何其他记录都不同。
设计不良的表格:
规则1:第二个名称字段包含两个值-2和1。
规则2:DOB字段包含日期和文本。
规则3:有两个字段称为“名称”。
规则4:第一条记录和第二条记录完全相同。
规则5:这条规则没有违反。