由于关系实质上是一张二维表,表的每一行称为一个元组,每一列称为一个属性,一个元组就是该关系所涉及的属性集的笛卡儿积的一个元素。关系是元组的集合,因此关系模式要指出元组集合的结构。 一个关系通常由赋予它的元组语义来确定。元组实际上是一个n目谓词(n是属性集中属性的个数),凡是使该n目谓词为真的笛卡儿积中的元素的全体就构成了该关系模式的关系。 定义:对关系的结构描述称为关系模式,它可以形式化的表示为:R(U,D,F) 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,F为属性间的数据依赖关系集合。 例如:关系 系(dept) 表3-1
其中,关系名R为系(dept),属性名集合U为(系名称、系主任、系秘书),在本关系中,三个属性来自两个不同的域:系名称和人。所以D为(系名称,人)。由于系主任属性和系秘书属性出自同一个域,所以要取不同的属性名。 关系模式可以通常只用R(U)或R(U,F)表示。而域名和属性间的映射常常直接说明为属性的类型,长度,精度和取值范围等。 关系是关系模式在某一时刻的状态或内容,一般关系模式是静止、稳定的,而关系则是随时间而变化的。因为关系操作在不断的更新着数据库中的数据。例如,对上面的例子,我们要增加或删除系,就要删除相应的元组。当然,关系模式也可以发生变化。例如,我们想增加或删除属性,这是可能发生的,但是代价很昂贵。例如,在商用数据库系统中,可能有几百万个元组,为了增加一个属性,就要改写每一个元组。 |