一个关系模型的逻辑结构是一张二维表格,即关系。在关系数据模型中,实体集以及实体集间的各种联系均用关系表示。下面介绍关系模型中使用的一些基本概念。
关系(Relation)即一个二维表格。
表(关系)的每一列必须有一个名字,称为属性(Attribute)。
表(关系)的每一行称为一个元组(Tuple)。
表(关系)的每一属性有一个取值范围,称为域(Domain)。域是一组具有相同数据类型的值的集合。
关键字又称主属性,可以唯一地标识一个元组(一行)的一个属性或多个属性的组合。可以起到这样作用的关键字(Key)有两类:主关键字(Primary Key)和候选关键字(Candidate Key)。
(1)主关键字
一个关系中只能有一个主关键字,用以唯一地标识元组,简称为关键字。
在Access数据库中,这个能唯一标识每个记录的字段称为表的主键,同时也是使用主键将多个表中的数据关联起来,从而将数据组合在一起。例如,学生表中的学号,客户表中的客户ID、供应商ID等。
(2)候选关键字
一个关系中可以唯一地标识一个元组(一行)的一个属性或多个属性的组合。一个关系中可以有多个候选关键字。
有的时候,关系中只有一个候选关键字,把这个候选关键字定义为主关键字后,关系中将没有候选关键字。
关系中不应该存在重复的元组(表中不能有重复的行),因此每个关系都至少有一个关键字。可能出现的一种极端情况是:关键字包含关系中的所有属性。
如果某个关系中的一个属性或属性组合不是所在关系的主关键字或候选关键字,但却是其他关系的主关键字,对这个关系而言,则称其为外部关键字(Foreign Key)。
关系模式(Relational Schema)是对关系数据结构的描述,简记为
关系名(属性1,属性2,属性3,…,属性n)
表2-1是一个关系,关系名是仓库,此关系具有4个属性:仓库号,仓库名,地点,面积。其关系模式是:仓库( 仓库号 ,仓库名,地点,面积)。关系的关键字是仓库号,因此仓库号不能有重复值,同时不能为空。
表2-1 “仓库”关系
(续)
综上所述,可以得出如下结论。
1)一个关系是一个二维表格。
2)二维表格的每一列是一个属性。每一列有唯一的属性名。属性在表中的顺序无关紧要。
3)二维表格的每一列数据的数据类型相同,数据来自同一个值域。不同列的数据也可以来自同一个值域。
4)二维表格中每一行(除属性名行)是一个元组,表中不能有重复的元组(元组是唯一的),用主关键字来保证元组的唯一性,例如表2-1中的“仓库号”。元组在表中的顺序无关紧要。
数据模型中概念之间的对应关系如表2-2所示。
表2-2 数据模型中概念之间的对应关系