数据库设计步骤 1.3.1 数据库设计步骤
& f* A- {# O1 O( S1 ]8 D! M- O 数据库应用系统与其它计算机应用系统相比,一般具有数据量庞大、数据保存时间长、数据关联比较复杂、用户要求多样化等特点。设计数据库的目的实质上是设计出满足实际应用需求的实际关系模型。在Access中具体实施时表现为数据库和表的结构合理,不仅存储了所需要的实体信息,并且反映出实体之间客观存在的联系。) X$ K+ _5 o$ P" M% ?9 P
一、设计原则
7 J( O% D+ `2 ^" \: b8 m 为了合理组织数据,应遵从以下基本设计原则: u R4 r8 X; ^! c5 k+ A3 M
1.关系数据库的设计应遵从概念单一化“一事一地”的原则( ^6 D. R4 L8 x1 h2 u' @
―个表描述一个实体或实体间的一种联系。避免设计大而杂的表,首先分离那些需要作为单个主题而独立保存的信息,然后通过Access确定这些主题之间有何联系,以便在需要时将正确的信息组合在一起。通过将不同的信息分散在不同的表中,可以使数据的组织工作和维护工, m) }- J, g+ \
作更简单,同时也可以保证建立的应用程序具有较高的性能。
, H" O7 u$ ~6 X' F6 u( T 例如,将有关教师基本情况的数据,包括姓名、性别、工作时间等,保存到教师表中。将工资单的信息应该保存到工资表中,而不是将这些数据统统放到一起。同样道理,应当把学生信息保存到学生表中,把有关课程的成绩保存在选课表中。
1 O& s# D% @7 B# m% C4 Z) d' i 2.避免在表之间出现重复字段
% c0 a: w6 P8 Q* v8 e 除了保证表中有反映与其他表之间存在联系的外部关键字之外,应尽量避免在表之间出现重复字段。这样做的目的是使数据冗余尽量小,防止在插入、删除和更新时造成数据的不一致。
$ r( ~6 [$ m: R5 o B3 t7 A 例如,在课程表中有了课程名宇段,在选课表中就不应该有课程名字段。需要时可以通过两个表的联接找到所选课程对应的课程名称。
5 `8 l, z0 _. G 3.表中的字段必须是原始数据和基本数据元素
! K# D7 P! G+ J' q" d- v 表中不应包括通过计算可以得到的“二次数据”或多项数据的组合。能够通过计算从其他字段推导出来的字段也应尽量避免。
3 E6 D% \' H- Z$ U; R! m0 T+ ~ 例如,在职工表中应当包括出生日期字段,而不应包括年龄字段。当需要査询年齡的时候, 可以通过简单计算得到准确年龄。
: b& c# z( g* \4 [$ k6 Y9 z; M 在特殊情况下可以保留计算字段,但是必须保证数据的同步更新。例如,在工资表中出现的“实发工资”字段,其值是通过“基本工资+奖金+津贴-房租-水电费-托儿费”计算出来的。每次更改其他字段值时,都必须重新计算。
9 l' @6 H" C; s+ { 4.用外部关键字保证有关联的表之间的联系 |