数据库标准化:从键开始

ZDNet软件频道 时间:2002-08-27 作者:BUILDER.COM |  我要评论()
本文关键词:
数据库的标准化是数据库设计的一个基本的前提,因为它去除了数据之间模糊不清的关系并有益于保持数据的完整性。在这篇文章中,我会讲述与数据库标准化相关的键的理念。
数据库的标准化是数据库设计的一个基本的前提,因为它去除了数据之间模糊不清的关系并有益于保持数据的完整性。在我们深入研究标准化组成的五个常规形式之中的前三种之前,我要阐述一下键在数据库之中所扮演的角色。

在数据库计划开发的设计阶段,建构者要对实体(客户,货单,产品等)和这些实体之间如何互相联系进行描绘。这种描绘提供了所有Relational Database Management Systems (RDBMS)设计的基础。一般而言,每一个实体都应该有他自己唯一的标识符,这就是主键。在图A中,位于employee表格之中的emp_id就是主键。外来键建立了实体与实体之间的联系,外来键包含另一个表格的主键键值。在图A中,雇员实体中有一个job_id是与jobs表格相关的。

主键和外来键的关系构成了整体参照的基础,这就是说非空外来键必须作为一个实际的主键值存在于所涉及的表格之中。

图 A

The employee table

基数(Cardinality)

在图A中,注意有多个雇员可以共享相同的job类型。基数就是用来表达这种关系类型的术语。基数描述了在主键和外来键表格之中实体的事件之间的数字关系。当在主键表格之中的一个实例恰好可以与外来键表格中的一行相关联时,将出现一种一对一的关系。基数中最后一种类型是多对多的关系。图B中是我们的一个例子,titleauthor表格模拟了一种情况,这里一个title可以有多个authors,而一个author也可能有多个titles。

图 B

The titleauthor table

图C中显示了一个SQL声明,它可以返回所有带有多个authors的titles的ids。

图 C

SQL语句

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134