按照数据模型的三个要素,关系模型主要由关系数据结构、关系操作集合和关系完整性约束三部分组成。
一、关系
- 关系模型的数据结构非常简单,只包含单一的数据结构——关系。
- 在用户看来,关系模型中的数据逻辑结构是一张扁平的二维表。
- 关系模型的数据结构简单却能够表达丰富的语义。
- 在关系模型中,显示世界的实体以及实体间的各种联系均用单易的结构类型即关系来表示。
- 关系模型是建立在集合代数的基础上的
下面从集合论的角度给出关系数据结构的形式化定义
1.域(Domain)
一组具有相同数据类型的值的集合
2.笛卡尔积(Cartesian Product)
域上面的一种集合运算
定义:
设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成有序对,所有这样的有序对组成的集合叫做A与B的笛卡尔积,记作AxB.
笛卡尔积的符号化为:
A×B={(x,y)|x∈A∧y∈B}
例如,A={a,b}, B={0,1,2},则
A×B={(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}
B×A={(0, a), (0, b), (1, a), (1, b), (2, a), (2, b)}
注意:
按照定义,关系可以是一个无限的集合。由于笛卡尔积不满足交换律,所以按照数学定义,需要给予如下的限定和扩充
- 无限关系在数据库系统中是无意义的。
- 通过为关系的每个列附加一个属性名的方法取消关系元组的有序性
3.关系(Relation)
定义:
D1,D2,……,Dn中有关系的行形成的一个子集称为 D1,D2,……,Dn的一个关系,用R( D1,D2,……,Dn)表示,R表示关系名,n表示关系的元或目
性质:
- 同一列的数据类型必须一致
- 同一关系中,不同列可以有相同的数据类型,但列名必须不一样
- 同一关系中,任意两行不能重复,且元组(行)的排行不分先后顺序
- 同一关系中,列的排列不分先后顺序
- 关系中属性不可再分,满足原子性
列的名称:
- 码:唯一确定一个元组。一个关系必须有一个码。
- 候选码:在关系中能唯一标识元组的属性或属性集
- 主属性:候选码的各个属性
- 主码:用户选作元组标识的候选码
- 全码:关系的所有属性是这个关系的候选码
二、关系模式
在关系数据库中,关系模式是型,关系是值,关系模式是对关系的描述
关系模式的表示:
R(U,D,dom,F),R表示关系名;
U是组成该关系的属性名集合;
D是属性组U中属性来自的域;
dom是属性向域的映像关系;
F是属性间的数据依赖关系集合。
简记:
R(U)或者R(A1,A2,A3…An)
例如:
学生情况(姓名,班级,学号,身份证号等)
三、关系数据库
采用关系模式的数据库
在关系模型中,实体以及实体间的联系都是用关系来表示的。
在一个给定的应用领域中,所有的实体以及实体之间的联系的关系的集合构成一个关系数据库。