在数据库计划开发的设计阶段,建构者要对实体(客户,货单,产品等)和这些实体之间如何互相联系进行描绘。这种描绘提供了所有Relational Database Management Systems (RDBMS)设计的基础。一般而言,每一个实体都应该有他自己唯一的标识符,这就是主键。在图A中,位于employee表格之中的emp_id就是主键。外来键建立了实体与实体之间的联系,外来键包含另一个表格的主键键值。在图A中,雇员实体中有一个job_id是与jobs表格相关的。
主键和外来键的关系构成了整体参照的基础,这就是说非空外来键必须作为一个实际的主键值存在于所涉及的表格之中。
图 A
在图A中,注意有多个雇员可以共享相同的job类型。基数就是用来表达这种关系类型的术语。基数描述了在主键和外来键表格之中实体的事件之间的数字关系。当在主键表格之中的一个实例恰好可以与外来键表格中的一行相关联时,将出现一种一对一的关系。基数中最后一种类型是多对多的关系。图B中是我们的一个例子,titleauthor表格模拟了一种情况,这里一个title可以有多个authors,而一个author也可能有多个titles。
图 B
图C中显示了一个SQL声明,它可以返回所有带有多个authors的titles的ids。