表的每一行都是独立的,并且不依赖于同一个表的任何其他行。因此,表中的行的顺序在模型中不重要。即使将表的所有行打乱成具有随机顺序,模型也应该依旧正确。
在实现数据库之后,可以告知数据库服务器按特定顺序存储行以提高效率,但该顺序并不影响模型。
在每一行中,某些列必须包含唯一的值。如果没有任何一列具有此属性,那么作为一个整体的某一组列的值在每一行中必须不同。
表中的列的顺序在模型中是没有意义的。即使将各列重新排列,模型也应该依旧正确。
在实现数据库之后,那些使用星号来表示所有列的程序和存储查询取决于列的最终顺序,但该顺序不影响模型。
列只可以包含单个的值,而不能包含列表或重复组。必须将组合值分离到单独的列中。例如:如果您决定将人员的名和姓看作独立的值,就像本章中的示例显示的那样,那么姓名必须位于独立的列中,而不能位于单个 name 列中。
同一个表中的两列不能共享同一个名称。然而,可以有多个包含相似信息的列。例如:电话号码簿示例中的 name 表包含子女姓名的列。可以将每个列命名为 child1 和 child2,等等。
列必须包含具有相同数据类型的信息。例如:标识为整数的列必须只包含数字信息,而不能包含名称中的字符。
如果您以前只使用过作为数组或顺序文件组织的数据,那么这些规则似乎不太自然。然而,关系数据库理论指出仅利用遵循这些规则的表、行和列就可以表示所有类型的数据。当您有了少许经验之后,您就会下意识地遵循这些规则了。