上一页下一页

选择每个表中的列

下一步是选择每个表中的列。这些列描述了表中每个实体的属性。

选择列时的一个很好的经验规则是避免重复的数据。例如,在 Arrow Aircraft 应用程序中,您知道股份持有者姓名一定会与路线数据一起用于回答以下“飞行运作部门”问题:“股份持有者对特定路线的餐饮需求如何?”

一种方法是使股份持有者表和路线表都具有股份持有者的名字和姓氏列。但是,这不但使两个表中的姓名数据重复,而且将在路线表中若干次重复这些数据(在股份持有者每次请求新路线时,都必须在路线表中输入股份持有者的姓名)。此方法将增加数据输入的工作,带来出错的机会,并会危及数据的完整性(在数据库的一部分中进行更改,在数据库的其他部分也必须进行更改)。

一个好得多的解决方案是在一个表(股份持有者表)中仅输入一次股份持有者的名字和姓氏。当需要回答上面的“飞行运作部门”问题时,您可以使用 SQL 表达式将股份持有者表与路线表联接。

确保每个表都有一个主键列。主键列包含的值对于每一行都是唯一的。这使您能够在搜索数据库时准确地找到所需的行。大多数主键列由 ID 号组成,但也可使用自然的主键,例如政府规定的编号或飞机序列号。

经过一番思考后,为 Arrow Aircraft 数据库中的表选择了以下属性和主键:

这是所描述的功能的图片。


  上一页下一页