数据库原理与应用(5)——关系、关系模式、关系数据库与关系数据库模式
一、关系的形式化定义和概念
1、关系上域的定义
- 域(Domain):一组具有相同数据类型的值的集合,又称为值域(用D表示)
- 整数、实数、和字符串的集合都是域
- 域中所包含的值的个数称为域的基数(用m表示)。在关系中用域表示属性的取值范围
2、笛卡尔积(Cartesian Product)
给定一组域D1、D2…Dn,它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同。
D1、D2…Dn的笛卡尔积为
D1 × D2 × Dn = {(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
- 每一个元素(d1,d2,…,dn)中的每一个值di叫做一个分量(Component),di∈Di
- 每一个元素(d1,d2,…,dn)叫做一个n元组,简称元组(Tuple)
- 笛卡尔积D1 × D2 ×… ×Dn的基数M(即元组(d1,d2,…,dn)的个数)为所有域的基数的累乘之积,即M=m1+m2+…+mi。
3、关系
笛卡尔积D1 × D2 ×… ×Dn的任意子集称为定义在域D1、D2…Dn上的n 元关系
R(D1、D2…Dn)
二、关系的相关概念
- 在关系R中,当n=1时,称为单元关系。当n=2 时,称为二元关系,以此类推
- 关系中的每个元素是关系中的元组,通常用t表示,关系中元组个数是关系的基数
- 由于关系是笛卡尔积的子集,因此,也可以把关系看成一个二维表
- 具有相同关系框架的关系称为同类关系
三、关系的性质
一种规范化了的二维表中行的集合
- 每一列中的分量必须来自同一个域,必须是同一类型的数据
- 不同的列可来自同一个域,每一列成为属性,不同的属性必须有不同的名字
- 列的顺序可以任意交换,名字同时换
- 关系中元组的顺序(即行序)可任意
- 关系中每一分量必须是不可分的数据项
四、关系模式
- 关系是笛卡尔积的子集,子集由元组构成,关系模式需要指出元组的结构胶,即由哪些属性构成,属性取自哪一个域,属性与域之间的映射关系
- 现实世界不断变化,关系模式的关系也不断变化,但是关系模式限定了关系的变化可能性,即关系的变化必须满足约束条件
关系模式是对关系的描述
R(U,D,DOM,F) 简记为:R(U)或R(A1,A2,…,An)
- R——关系名
- U——属性集合名
- D——属性所来自的域
- DOM——属性向域的映像集合
- F——属性间数据的依赖关系集合
关系模式和关系的比较
关系模式 | 关系 |
---|---|
型 | 值 |
关系的框架 | 关系的值 |
关系表框架 | 关系表数据 |
对关系结构的描述 | 关系模式在某一时刻的状态或内容 |
静态的、稳定的 | 动态的 |
五、关系数据库与关系数据库模式
1、关系数据库
- 型:关系数据库模式
- 值:关系数据库值
在给定领域中,所有实体以及实体之间的联系所对应的关系集合构成一个关系数据库
在某一状态下对应的关系集合、描述了关系模式的内容、也成关系数据库实例
2、关系数据库模式
- 对关系数据库的描述,由若干域的定义以及在这些域上定义的若干关系模式构成
- 描述了关系数据库的结构和框架