4.2.3 确定表中的字段
确定了表之后,还需进一步确定在每张表中要保存哪些详细信息。为了确定表的字段,首先需要决定在表中了解有关人、物或事件的哪些信息。
确定字段时,还必须遵循如下设计原则:
1.每个字段直接和表的主题相关
必须确保一张表中的每个字段直接描述该表的主题。描述另一个主题的字段应属于另一张表。例如,包含学生、课程和成绩信息的表(表4-1)中含有3个主题,即学生、课程及成绩,故应该分解为3张表:学生表(表4-2)、课程表(表4-3)和成绩表(表4-4)。
表4-2 分离出来的学生表
表4-3 分离出来的课程表
表4-4 分离出来的成绩表
2.不要包含可推导得到或需计算的数据字段
一般不必把计算结果存储在表中。例如,在教师表中有了“出生年月”字段,就不必有“年龄”字段,因为“年龄”可以通过当前日期和“出生年月”的差求得。
3.收集所需的全部信息
确保所需的信息都已包含在表中,或者可以由表中字段推导出来。但又不是多多益善,所需信息的多少应根据实际应用的需要而定。因为一个事物涉及的属性很多,要有所取舍。例如,对于学生而言,有许多属性,如姓名、性别、学号、系名、年级、出生年月、籍贯、家庭住址、家长姓名、爱好等等,是否要把这些属性都放到学生表中呢?很显然,没有必要这样做,只要把与教学管理有关的属性放到学生表中就行了(如表4-2)。
4.要以最小的逻辑单位存储信息
如果一个字段中结合了多种信息,以后要获取单独的信息就很困难,应尽量把信息分解成比较小的逻辑单位(关系型数据库要求字段是原子的)。
5.每张表都必须明确主关键字
例如,课程表中主关键字是“课程代号”字段,学生表中的主关键字为“学号”字段,而成绩表的主关键字含有“课程代号”和“学号”两个字段。利用主关键字可连接多张表中的数据,把相关的数据组合起来。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。