当前位置:文档之家› 数据库基础与应用 access2010 第二章 关系运算

数据库基础与应用 access2010 第二章 关系运算

D1×D2× …×Dn={(d1,d2, …dn)|di∈Di, 1≤i≤n, n≥1}
第二章 关系运算
在D1,D2, …Dn域中,若任一个域di的基数(即 所含元素的个数)用mi表示,则它们的笛卡儿积 中元组的个数为m=m1×m2×…×mn。 例2-2,设D1=学生={王力,赵火,孙平},D2=导师 ={刘华,张明},D3=专业={计算机,电子},则它们 的笛卡儿积D1×D2 ×D3 {(王力,刘华,计算机), (王力,刘华,电子), (王力, 张明,计算机), (王力,张明,电子), (赵火,刘华,计算 机), (赵火,刘华,电子), (赵火,张明,计算机), (赵火, 张明,电子), (孙平,刘华,计算机), (孙平,刘华,电 子), (孙平,张明,计算机), (孙平,张明,电子)} D1×D2 ×D3的基数为3×2×2=12, 每个元素 都是一个三元组.

关系名
R(U, D, dom, F)
属性间数 据的依赖 关系集合
关系模式通常可以简记为: 属性名 R(U) 或 R(A1,A2, …,An)
第二章 关系运算
5、码(键、关键字)
超码:能唯一标识每个元组的属性或属性组;可以有 多个。 候选码:能唯一标识每个元组的最少属性或属性组; 可以有多个。 主码:从候选码中选择一个作为该关系的主码,数据 库系统将按主码标识和排序每个元组。任一时刻至多 只能有一个主码,不同时刻可选择不同的候选码作为 主码。 备用码:除主码之外的所有候选码;一个关系可能没 有备用码,也可能具有一个或多个备用码。 外码:在关系 R1 中的属性或属性组若在另一个关系 R2 中作为主码使用,则称该属性或属性组为 R1 的外 码。允许使用不同的属性名。 主属性和非主属性:包含在任何候选码中的属性都称 为该关系的主属性,除主属性外都是非主属性,或称 为非码属性。


自然连接:把两个关系按属性名相同 进行等值连接,且结果中只保留一个 属性。
第二章 关系运算
3、综合运算举例
表2-3-4 选择运算示例
姓名 孙广 李玉 刘兵 性别 男 男 男 年级 2 2 1

投影运算(Π): 含义:从一个关系R中按所需顺序选取若干个 属性构成新关系,提供了纵向划分关系的手段, 且新关系的元组数必然小于等于原关系R中的 元组数,因为要去掉在新关系模式下重复的元 组。 表示方法:P44 ΠAA(R)={ t.AA|t∈R }
第二章 关系运算
n个域的笛卡儿 学生(D1) 导师(D2) 专业(D3) 积对应一张二维表, 王力 刘华 计算机 该表中的每一行为 王力 刘华 电子 一个元组,每一列为 王力 张明 计算机 一个域,每个元组中 王力 张明 电子 的n个分量分别来自 赵火 刘华 计算机 n个域,每个分量是 赵火 刘华 电子 对应域中的一个值 赵火 张明 计算机 (元素),二维表的行 赵火 张明 电子 数(即元组数)等于 孙平 刘华 计算机 从每个域中各取一 孙平 刘华 电子 个元素的所有可能 孙平 张明 计算机 的组合数。如:
第二章 关系运算
2、专门的关系运算 选择运算(δ): 从一个关系R中选择出满足条件的所有元 组构成新关系,且新关系同R具有相同的 结构。提供了横向划分关系的手段。 表示方法:对关系R按F(t)条件做选择 运算,用集合公式表示: δ F(t)(R)={ t|t∈R∧F(t)=TRUE }
或者取空值(F的每个属性值均为空值); 或者等于S中某个元组的主码值。
用户定义的完整性:就是针对某一具体系统 数据库的约束条件。它反映某一具体应用所 涉及的数据必须满足的主义要求。
第二章 关系运算
三、关系运算
1、传统的集合运算 包括并、差、交和笛卡儿积等四种运算。设关系 R和关系S具有相同的目n(即两个关系都有n个属 性),且相应的属性取自同一个域,则: 并:R∪S={t|t∈R∨t∈S} 结果仍为n目关系,由属于R或属于S的元组组成。 交: R∩S={t|t∈R∧t∈S} 结果仍为n目关系,由既属于R又属于S的元组组 成。
孙平 张明 电子
第二章 关系运算
3、关系:是笛卡儿积的一个子集,若笛 卡儿积具有n个域,则该笛卡儿积上的关 系被称为n元关系。 设D1,D2, …Dn为n个域,则该域上的关系用
R(D1,D2, …Dn)表示,R称为关系名,R关系所包 含的全部元组是D1×D2× …×Dn的一个子集。
学生(D1) 王力 赵火 孙平 导师(D2) 刘华 刘华 张明 专业(D3) 电子 电子 计算机
关系R (超码是”学生号””身份证号”)
学生号
102
姓名
李研
性别

年龄
15
专业
计算机
身份证号
1558635325
001
张三

16
英语
4879523556
关系R1 (主码是”学生号”)
关系R2 (主码是”班级号”)
学生号
姓名
性别
班级号
班级号 C01 D09
班级名 计算机 数学
班主任 刘贡 王玫
001
第二章 关系运算
一个n元关系具有六个性质:
列是同质的,即每一列中的分量是同一类型的 数据,来自同一个域。 不同的列可出自同一个域,称其中的每一列为 一个属性,不同的属性要给予不同的属性名。 列的顺序无所谓,即列的次序可以任意交换。 任意两个元组不能完全相同。 行的顺序无所谓,即行的次序可以任意交换。 分量必须取原子值,即每一个分量都必须是不 可分的数据项。
第二章 关系运算
差:R-S={t|t∈R∧t∉S} 结果仍为n目关系,由属于R而不属于S的 所有元组组成。 笛卡儿积:两个分别n目和m的关系R和 S的笛卡儿积是一个(n+m)列的元组的集 合。元组的前n列是关系R的一个元组, 后m列是关系S的一个元组。若R有k1个 元组,S有k2个元组,则关系R和关系S 的笛卡儿积有k1×k2个元组。记作: R×S= {tRtS|tR∈tR∧tS∈S}
第二章 关系运算
学习目标
了解本章所有概念的含义; 熟练掌握关系代数的各种运算。
对于一个具体关系,能够写出选择或投影 运算后的结果。 对于两个关系,能够写出按某一种公共属 性进行自然联接后的结果。
第二章 关系运算
一、关系数据结构
相关概念的形式化定义 1、域(Domain):具有相同特性的数据集合。 如:{1,3,5,…,99}是一个域,是由100以内 的所有奇数组成的集合。 {SUN,MON,TUE,WED,THU,FRI,SAT}是一个域,是由 一个星期内的每天英文名称标记组成的集合。 域的个数,也是每个元组 2、笛卡儿积(Cartesian product):定义在一组域上 中分量的个数,具有n个 每个元素又 元组的一 的集合。 分量的元组被称为n元组 称为元组 D ,D , 个分量 假定一组域用 1 2 …Dn表示,则它们的笛卡 儿积表示为:
例子
R
δA<5(R) C 6 2 8 3 A B C
A 4 6 2 8
B 4 8 58 14
4
2
4
58
6
8
δA<5 ∧C=6(R)
A B C
4
4
6
在关系R中选择满足给定条件的元组(从行的角度)
表2-3-1(b) 足球爱好者 姓名 孙广 李玉 王亮 刘兵 陈新 性别 男 男 男 男 女 年级 2 2 3 1 4
003 005
张三
顾四 王五

女 男
B78
C01 C08
B78
英语
李鹏
第二章 关系运算
二、关系完整性
实体完整性规则:若属性A是基本关系R的主 属性,则属性A不能取空值。规则规定基本关系 的所有主属性都有不能取空值,而不仅是主码 整体不能取空值。 参照完整性规则:若属性(或属性组)F是基本 关系R的外码,它与基本关系S的主码Ks相对 应(基本关系R和S不一定是不同的关系)则对 于R中每个元组在F上的值必须为:
第二章 关系运算
例如:
学生号 姓名 性别 专业
数学 成绩 物理 化学
学生号 姓名 性别 专业 数学成绩 物理成绩 学生关系 学生号 姓名 性别 专业 成绩关系
化学成绩
学生号 数学 物理 化学
第二章 关系运算
4、关系模式(Relation Schema) 关系数据库中,关系模式是型,关系是 值。关系模式是对关系的描述。 属性组U 定义:关系的描述称为关系模式,它可以 中属性所 属性向域的映 组成该关系 形式化地表示为: 来自的域 象集合 的属性名集
第二章 关系运算
2、专门的关系运算 连接运算( ):
含义:把两个关系(R和S)按相应属性
值的比较条件(θ)连接起来,如大于, 小于等于、等于等,记作R SR.AθS.B。 它是笛卡尔积的一个子集。
R.AθS.BS=δR.AθS.B(R×S)=
R
={ t|tR∈R∧ tR∈S ∧ R .AθS.B=TRUE }
第二章 关系运算
第二章 关系运算
主要教学内容
关系和关系模式 域、笛卡儿积、关系、键(主键、候选键、外 键)、关系模式 关系完整性 实体完整性、参照完整性、用户定义的完整 性(规则) 关系代数 传统的集合运算(并、交、差、广义笛卡儿积) 专门的关系运算(选择、投影、连接、等值连 接、自然连接)
相关主题