关系模型基础
关系模型为人们提供了单一一种描述数据的方法:一个称之为关系的二维表 例如: Movies表:
title | year | length | genre |
---|---|---|---|
Gone with the wind | 1939 | 231 | drama |
Star Wars | 1977 | 124 | sciFi |
Wayne’s World | 1992 | 95 | comedy |


接下来将通过Movies关系来介绍关系模型中的一些基本术语 关系模型的基本概念和基本术语共有十三个,它们分别是:
关系(Relation)
:一个关系对应着一个二维表,二维表就是关系名。属性(Attribute)
:关系的列名称为属性。属性的个数称为关系的元
或度
。列的值称为属性值
。上表中的属性分别是title、year、length和genre-
模式
:关系名和其他属性集合的组合称为这个关系的模式(schema /ˈski:mə/) 上表中的关系模式可以像如下表示:Movies(title,year,length,genre)
元组(Tuple)
:在二维表中的一行,称为一个元组。-
分量(component)
:每个元组均有一个分量对应于关系的每个属性 例如,在上表中,第一个元组具有四个分量 Gone with the wind、 1939、231、drama 。 若要单独表示一个元组,而不是把它作为关系的一部分时,常用逗号分开各个分量,并用圆括号括起来,如(Gone with the wind,1939,231,drama )
域(Domain)
:属性值的取值范围为值域。关系模型要求元组的每个分量具有原子性,即它必须属于某种元素类型,如integer或string,而不能是记录、集合、列表、数组或其他任何可以被分解成更小分量的组合类型。 假定与关系的每个属性相关联的是一个域,即一个元素类型,关系中任意一元组的分量值必须属于对应列的域。例如,在上表中,关系Movies中四个分量对应的域分别是string、integer、integer、string。Movies(title:string,year:integer,length:integer,genre:string)
键(码)
:如果在一个关系中存在唯一标识一个实体的一个属性或属性集称为实体的键,即使得在该关系的任何一个关系状态中的两个元组,在该属性上的值的组合都不同。候选键(候选码)
:若关系中的某一属性的值能唯一标识一个元组如果在关系的一个键中不能移去任何一个属性,否则它就不是这个关系的键,则称这个被指定的候选键为该关系的候选键或者候选码。