
1.3.1 数据库设计原则
为了合理组织数据,应遵从以下基本设计原则。
1.关系数据库的设计应遵从概念单一化“一事一地”的原则
一个表描述一个实体或实体间的一种联系。避免设计大而杂的表,首先分离那些需要作为单个主题而独立保存的信息,然后通过Access确定这些主题之间有何联系,以便在需要时将正确的信息组合在一起。通过将不同的信息分散在不同的表中,可以使数据的组织工作和维护工作更简单,同时也可以保证建立的应用程序具有较高的性能。
例如,将有关教师基本情况的数据,包括姓名、性别、工作时间等,保存到教师表中。将工资单的信息应该保存到工资表中,而不是将这些数据统统放到一起。同样的道理,应当把学生信息保存到学生表中,把有关课程的成绩保存在选课表中。
2.避免在表之间出现重复字段
除了保证表中有反映与其他表之间存在联系的外部关键字之外,应尽量避免在表之间出现重复字段。这样做的目的是使数据冗余尽量小,防止在插入、删除和更新时造成数据的不一致。
例如,在课程表中有了“课程名”字段,在选课表中就不应该有“课程名”字段。需要时可以通过两个表的连接找到所选课程对应的课程名称。
3.表中的字段必须是原始数据和基本数据元素
表中不应包括通过计算可以得到的“二次数据”或多项数据的组合。能够通过计算从其他字段推导出来的字段也应尽量避免。
例如,在职工表中应当包括“出生日期”字段,而不应包括“年龄”字段。当需要査询年龄的时候,可以通过简单计算得到准确年龄。
在特殊情况下可以保留计算字段,但是必须保证数据的同步更新。例如,在工资表中出现的“实发工资”字段,其值是通过“基本工资+津贴-水电费”计算出来的。每次更改其他字段值时,都必须重新计算。
4.用外部关键字保证有关联的表之间的联系
表之间的关联依靠外部关键字来维系,使得表结构合理,不仅存储了所需要的实体信息,并且反映出实体之间客观存在的联系,最终设计出满足应用需求的实际关系模型。