关系数据结构及形式化定义
关系
基础概念
域
一组具有相同数据类型的值的集合;
笛卡尔积
-
例子
关系的组成
关系
$D_1\times D_2\times D_3\times...\times D_n$
的子集叫做域在$D_1,D_2, D_3,...,D_n$
上的关系,表示为:
R(D_1,D_2,D_3,...,D_n)
- R:关系名
- n:关系的目或度
元组
关系中的每个元素是关系中的元组,通常用t表示;
单元关系与二元关系
当n=1时,称该关系为单元关系(Unary relation)或一元关系;
当n=2时,称该关系为二元关系(Binary relation);
关系的表示
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
属性
关系中不同列可以对应相同的域;
为了加以区分,必须对每列起一个名字,称为属性;
n目关系必有n个属性;
码
-
候选码
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码 。 -
全码
关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)。 -
主码
若一个关系有多个候选码,则选定其中一个为主码(Primary key)。 -
主属性
候选码的诸属性称为主属性(Prime attribute);
不包含在任何侯选码中的属性称为非主属性( Non-Prime attribute)或非码属性;
三类关系
-
基本关系
实际存在的表,是实际存储数据的逻辑表示; -
查询表
查询结果对应的表; -
视图表
由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
基本关系的性质
- 列是同质的;
- 不同的列可出自同一个域;
- 列的顺序无所谓,,列的次序可以任意交换;
- 任意两个元组的候选码不能相同;
- 行的顺序无所谓,行的次序可以任意交换;
- 分量必须取原子值;(不能有表中表)
关系模式
关系模式可以形式化地表示为:
R(U,D,DOM,F)
R 关系名
U 组成该关系的属性名集合
D 属性组U中属性所来自的域
DOM 属性向域的映象集合
F 属性间的数据依赖关系集合
表示方式
关系模式通常可以简记为:
$R(U)$
或$R(A_1,A_2,...,A_n)$
;
R:关系名
$A_1,A_2,...,A_n$
:属性名
关系和关系模式的区别
-
关系模式
对关系的描述;
静态的、稳定的; -
关系
关系模式在某一时刻的状态或内容;
动态的、随时间不断变化的; - 关系模式和关系往往统称为关系
关系数据库
在一个给定的应用领域中,所有关系的集合构成一个关系数据库;
关系数据库的型和值
关系数据库的型
关系数据库模式对关系数据库的描述;
-
关系数据库模式
若干域的定义;
在这些域上定义的若干关系模式;
关系数据库的值
关系模式在某一时刻对应的关系的集合,简称为关系数据库。