当前位置:
文档之家› 第3章 关系数据库的基本理论
第3章 关系数据库的基本理论
24
6.关系的性质
在关系数据库中,关系模型要求关系必须是规范化的,即要求关系 模式必须满足一定的规范条件,这些规范条件中最基本的一条就是,关 系的每一个分量必须是一个不可分的数据项。我们把这样的关系称为规 范化的关系。当有些分量可以取多个值时,我们把这样的关系称为非规 范化的关系,而非规范化的关系在关系数据库中是不允许出现的。
201002
201003
苏湘婷
萧易寒
女
男
80-1-10
81-10-9
558
520
p39
属性 元组
列 行
6
(1) 关系的定义:
关系是二维表的一种抽象,是一组属性数目相同的元 组的集合。
这个定义把关系看成了一个集合。集合中的元素是元 组,每个元组的属性数目应该是相同的。
7
(2)关系的分类: 按照不同的标准,关系有不同的分类。
22
5.关系数据库
关系数据库是 “一组随时间变化,具有各种度的概念的规范
化关系的集合 ” 。因为关系是由关系头和关系体组成的,所以关 系数据库也可以看作是一组关系头和关系体的集合,由此可见,
关系数据库也有型和值的概念,其型就是关系数据库模式,相对 固定,其值就是在不同的时刻会有所变化。
23
5.关系数据库
20世纪70年代末期,美国加州大学伯克利分校也研制了 Ingres关系数据库实验系统,并由Ingres公司发展成为 Ingres数据库产品。
3
3.2
关系数据模型
在前面已经非形式化地介绍了关系模型及有关的基本概 念。在关系模型中,无论是实体还是实体之间的联系均由单 一的结构类型即关系来表示。关系模型是建立在集合代数基 础上的,这里将从集合角度给出关系数据结构的形式化定义。
m mi
i 1
D1×D2×…×Dn = {(d1,d2,…,dn) | di∈Di,i=1,2, …,n} 其中: m —— 笛卡尔乘积的基数 mi —— 第i个域的基数 n —— 域的个数
10
(3)笛卡儿积(Cartesian Product) 笛卡儿积可表示为一个二维表。表中的每行对应一个元 组,表中的每列对应一个域。如果我们给出三个域:
关系模型:
关系数据结构 关系操作集合 关系的完整性约束
4
关系模型有三个重要组成部分: 关系数据结构、关系操作集合、关系完整性规则。
(1) 关系数据结构:数据库中全部数据及其相互联系都被组 织成 “关系”(二维表)的形式。关系模型基本的数据结 构是关系。 (2) 关系操作集合:关系模型提供一组完备的高级关系运算, 以支持对数据库的各种操作。
(李平,女,计算机语言),(李平,女,数据结构),(李平,女,计算机网络)}
12
其中(张宾,男,计算机语言),(王雷,男,数据结构), (李平,男,计算机网络)等都是元组。
张宾、男、计算机语言,王雷、男、数据结构,李平、男、计算 机网络等都是分量。
该笛卡儿积的基数为:3×2×3=18,
这也就是说 D1×D2×D3一共有 3×2×3=18 个元组。
关系是用集合代数的笛卡尔积定义的,关系是元组的集合。
关系具有如下性质: · 列是同质的,即每一列中的分量是同类型的数据,来自同一域; · 不同的列可出自同一个域,每一列称为属性,要给予不同的属性名; · 关系中没有重复元组,任意一个元组在关系中都是惟一的; · 元组的顺序无关紧要,即元组的次序可以任意交换; · 属性的顺序是非排序的,属性一般是用它的名称来标识,而不使 用它的位置来标识; · 属性必须有不同的属性名,不同的属性可来自同一个域; · 所有的属性值都是原子,不允许属性又是一个二维关系。
学生选课表(姓名,性别,所选课程)
姓名 王芳 王天 郑蕾 性别 男 女 男 所选课程 计算机语言 数据库系统及应用 计算机网络
15
2.相关术语
(1)码(key)
码,主码,候选码
主属性,非主属性 (2)全码 单属性码,多属性码,全码 (3)关系模式
(4)关系数据库
16
2.相关术语
(1) 码: 是关系模型中的一个重要概念,它具有标识元组、 建立元组间联系等重要作用。 码 (key):在二维表中凡能唯一标识元组的属性组称为该表 的码或关键字。 候选码 (candidate key):二维表中可能有若干个码,它们 称为该表的候选码或候选关键字。 主码 (primary key):用户选作元组标识的候选码称为主码 或主关键字。一般主码也简称码。 外码 (foreign key):如果表A中的某属性组是表B的主码, 则称该属性集为A的外码或外关键字。 p41
在关系模型中,实体及实体间的联系都是用关系来表示的。 在一个给定的应用领域中,所有实体及实体之间联系的集合构 成一个关系数据库。 关系数据库也有型和值之分。关系数据库的型称为关系数据 库模式,是对关系数据库的描述,它包括若干域的定义以及在 这些域上定义的若干关系模式。关系数据库的值是这些关系模 式在某一时刻对应的关系的集合,通常就称为关系数据库。
17
2.相关术语
如: 两个关系(学生登记表)和 (学院情况表): 学生登记表(学号, 姓名, 性别, 年龄, 学院号) 学院情况表(学院号, 学院名称, 院长姓名, 联系电话) 其中学院号是关系学院情况表的主码,是关系学生登记表的 外码。 (2)全码: 单属性码,多属性码,全码
18
3.关系模型
关系模型(Relation Model) 在关系数据库中,关系模式是型,关系是值。关系模式
视图表:是由基本表或其他视图表导出的表,它是为了数据查询 方便、数据处理简便、数据安全要求而设计的数据虚表,不对应 实际存储的数据。
8
(2)域(Domain)
定义: 域是一组具有相同数据类型的值的集合,又称为值域 (用D 表示)。例如整数、实数和字符串的集合都是域。域中 所包含的值的个数称为域的基数(用m 表示)。在关系中就是 用域来表示属性的取值范围的。
(4)关系定义2(Relation)
定义3 D1×D2×…×Dn的子集 叫做在域D1×D2×…×Dn上的关系, 用R(D1×D2×…×Dn)表示。这里R表示关系的名字,n 是 关系的目或度,也称为元数。
13
关系中的每个元素是关系中的元组。 关系是笛卡尔积的子集,所以关系也是一个二维表,
表的每行对应一个元组。 表的每列对应一个域,由于域可以相同,为了加以区分, 必须对每列起一个名字。
例:
D1 ={李力,王平,刘伟}, m1= 3 D2 ={男,女}; D3 ={18,20,18}; m2 = 2 m3 = 3
其中,D1 、 D2 、D3 为域名,分别表示教师关系中姓名、 性别和年龄的集合。 域名无排列次序,如 D2 ={男,女}={女,男}。
9
(3)笛卡儿积(Cartesian Product)
R :为关系名
U :为组成该关系的属性名集合 D :为属性组U中属性所来自的域 dom :为属性向域的映象集合 F :为属性间数据的依赖关系集合
通常关系模式可以简记为: R(U)
或 R(A1,A2,…,An)
20
3.关系模型
关系模式是对关系的描述,通常它包括关系名、组成该关系的多 个属性名、域名、属性向域的映像(即属性与域之间的映像关系)等 4 个部分。通常记为R(D1,D2,…,Dn),R 为关系名,D1,D2, …Dn为属性名。属性向域的映像常用属性的类型、长度来说明。
① 按属性数目分:具有n个属性的关系称为n元关系。n=0时称空 关系。 ② 按元组数目分:如果一个关系的元组数目是无限的,则称为无 限关系,否则称为有限关系。由于计算机存储系统的限制,通常 我们只研究有限关系。
③ 按关系的存储状况分:
基本表:是实际存在的表,它是实际存储的数据的逻辑表示。 查询表:是查询结果表或查询中生成的临时表。
例如,在教学数据库中,共有五个关系,其关系模式分别为:
学生(学号,姓名,性别,年龄,系别) 教师(教师号,姓名,性别,年龄,职称,工资,岗位津贴,系别) 课程(课程号,课程名,课时) 选课(学号,课程名,成绩) 授课(教师号,课程号)
在每个关系中,又有其相应的数据库的实例(元组)。
所有的关系模式、属性名和关键字的汇集,是模式描述的对象
关系中的每一列称为属性,列名称为属性名,
n 目关系必
有n 个属性。 在定义中,当 n=1的关系只含有一个属性,称为单元关系。
当 n=2为二元关系,以此类推。
在 SQL Server 数据库中,通常关系被称为数据表,属性被称为字 段,元组则被称为记录。
14
如下表给出了一张学生选课表,该表由学生姓名、性别 和所选课程组成,该关系的名字为学生选课表,属性名就是 域名,即姓名,性别和所选课程,这个关系可表示为
(张宾,女,计算机语言),(张宾,女,数据结构),(张宾,女,计算机网络), (王雷,男,计算机语言),(王雷,男,数据结构),(王雷,男,计算机网络), (王雷,女,计算机语言),(王雷,女,数据结构),(王雷,女,计算机网络), (李平,男,计算机语言),(李平,男,数据结构),(李平,男,计算机网络),
2
3.1
关系数据库概述
从1975 年到1979 年的5月间,关系方法的理论和软件 系统的研制取得了很大成功,IBM 公司的 San Jose实验室 在 IBM370系列机上研制成功了一个实现SQL语言的关系数 据库实验系统原型System R。1981年IBM公司又宣布具有 System R全部特征的新的数据库软件产品SQL/DS问世。之 后,IBM公司又将SQL语言引入到DB2(IBM Data Base 2) 中,配置在MVS上运行,并于1983年推出了DB2产品。
D1={张宾,王雷,李平}(学生集合) D2={男,女}(性别集合) D3={计算机语言,数据结构,计算机网络}(课程集合)