关系数据结构及形式化定义

域(Domain):一组具有相同数据类型的值的集合。
例:
整数、实数、
介于某个取值范围的整数
长度指定长度的字符串集合
介于某个取值范围的日期
{‘男’,‘女’}
元组:笛卡儿积中的一个元素、关系(表)中的一行、概念模型中的一个实体、现实世界中的某一具体事物
属性
主属性:候选码的诸属性
非主属性:不隶属任何候选码的属性
码(候选码、主码、全码)

给定一组域D1,D2,…,Dn,允许其中某些域是相同的。D1,D2,…,Dn的笛卡儿积笛卡儿积(Cartesian Product)为:
D1×D2×…×Dn={(d1,d2,…,dn)|diDi,
i=1,2,…,n}
注:所有域的所有取值的一个组合,不能重复

关系数据结构及形式化定义
笛卡儿积的表示方法:
笛卡儿积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。

关系(relation):D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为 R(D1,D2,…,Dn)。
注: 关系名:R ,
关系的目或度(Degree):n,
单元关系(n=1)和二元关系(n=2)

关系是笛卡儿积的有限子集。无限关系在数据库系统中是无意义的。
笛卡儿积不满足交换律,即
(d1,d2,…,dn )≠(d2,d1,…,dn )
但关系满足交换律,即
(d1,d2 ,…,di ,dj ,…,dn)=(d1,d2 ,…,dj,di ,…,dn) (i,j = 1,2,…,n)
解决方法:为关系的每个列附加一个属性名以取消关系元组的有序性。

三种关系形态
基本关系(基本表或基表):实际存在的表,是实际存储数据的逻辑表示。
查询表:查询结果对应的表。
视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

基本关系的性质(1)
①列是同质的(Homogeneous):每一列中的分量是同一类型的数据,来自同一个域。
②不同的列可出自同一个域:其中的每一列称为一个属性,不同的属性要给予不同的属性名。
③关系中列的位置具有顺序无关性
基本关系的性质(2)
④关系具有元组无冗余性:即关系中的任意两个元组不能完全相同。
⑤关系中元组的位置具有顺序无关性:即元组的顺序可以任意交换。
⑥关系中每个分量必须取原子值:即每个分量都必须是不可分的数据项。

关系模式的定义:
关系模式可以形式化地表示为: R(U,D,dom,F)
R 关系名
U 组成该关系的属性名集合
D 属性组U 中属性所来自的域
dom 属性向域的映象集合
F 属性间的数据依赖关系集合

在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。

“关系模式”为型,“关系”为值

关系数据库的型称为关系数据库模式,是对关系数据库的描述。
若干域的定义
在这些域上定义的若干关系模式

关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常简称为关系数据库。

关系模型的存储结构
表文件
表文件的具体存储方式对用户透明