关系模型--关系数据结构
1.关系:单一的数据结构,现实世界的实体以及实体之间的各种联系均用关系来表示
2.相关概念
(1)域:一组具有相同数据类型的值得集合
Example:整数集,实数集等
(2)笛卡尔积
1)给定一组域D1,D2,,,,Dn,允许其中某些域是相同的。
这组域的笛卡尔积为:D1xD2x,,,xDn = {(d1,d2,,,,,dn)| di = Di,i = 1,2,,,,,n}
2)所有域的所有取值的任意组合
3)笛卡尔积可以看做是关系的“域”
(3)笛卡尔的空间大小----基数
1)若Di( i = 1,2,,,,,n)为有限集,其基数为 mi(i= 1,2,,,,,n),则D1xD2x,,,xDn 的基数为 M = “mi乘积”。
Example:D1 = {1,2},D2 = {0.1,0.2,0.3},D3 = {a,b},D1 x D2 x D3 = 2 x 3 x2 = 12
2)笛卡尔积的表示方法
a 笛卡尔积可表示为一张二维表
b 表中的每一行对应一个元组,每一列对应一个域
3.关系的定义
(1)定义:D1 x D2 x ,,,x Dn 的子集叫做在域D1,D2,,,,,Dn 上的关系,表示为
R(D1,D2,,,,,Dn); R:关系名; n:关系的目或度
(2)元组:关系中的每个元素(d1,d2,,,,,dn)叫做一个 n 元组,简称元组,通常用 t 表示。
(3)属性
1)关系中的不同列对应不同的域
2)为了加以区分,对每列起了一个名字,称为属性
3)n 目关系必须有 n 个属性
(4)码:属性中的某一个特殊的属性
1)候选码(Candidate key)
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码;(简单情况:候选码只包含一个属性)
2)全码(All-key)
最极端的情况:关系模式的所有属性组是这个关系模型的候选码,称为全码
3)主码
若一个关系有多个候选码,则选定其中一个为主码(primary key)
(5)单元关系:定义在一个属性上的,也称为一元关系
二元关系:定义在两个属性上的
n 元关系
(6)基本关系的性质
1)列是同质的
2)不同的列可出自同一个域
3)列的顺序无所谓,次序可任意交换;行也一样
4)任意两个元组的候选码不能相同
5)分量必须取原子值(即表中不能有表)
4.关系模式
(1)定义:关系模式是型,关系是值;关系模式是对关系的描述,静态稳定的
(2)表示:R(U,D,DOM,F)U:组成该关系的属性名集合; D:U中属性所来自的域; DOM:属性向域的映像集合; F:属性间数据的依赖关系的集合