[工学]关系数据模型与关系运算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2章 关系模型与运算: 2.1 关系数据模型(1)
2.1.1关系与关系表(2)
关系表的 三种类型
基本表:实际存储数据逻辑表示
特点:数据库中实际保存
视图表:基本表和其他视图的导出表示
特点:数据库中保存模式,不保存具体数据值
查询表:用户查询结果对应表示
特点:如果不提出请求,数据库中将不保存
3
第2章 关系模型与运算: 2.1 关系数据模型(1)
逻辑表达式:∧,∨,┐
算术表达式:X Y
X,Y是属性名、常量、或简单函数
是比较算符,∈{ , , , , , ≠}
19
R
A
B
C
3
6
7
2
5
7
7
2
3
4
4
3
A<5(R)
A
B
C
3
6
7
2
5
7
4
4
3
A<5 C=7(R)
A
B
C
3
6
7
2
5
7
20
第2章 关系模型与运算: 2.2 关系代数(2)
投影
i1,i 2定,,i义n (为R):
i1,i2,,in (R) {t | t ti1,ti2 ,,tin t1,t2 ,,tk R}
17
投影的结果中要去掉相同的行
R
ABC abc de f cbc
B , C(R)
BC
b
c
e
f
18
第2章 关系模型与运算: 2.2 关系代数(2)
9
第2章 关系模型与运算: 2.1 关系数据模型(3)
2.1.3关系数据操作(4)
关系操作的数学理论
基于集合:关系代数
基于逻辑:关系演算
10
第2章 关系模型与运算: 2.1 关系数据模型(4)
2.1.4关系数据完整性约束
实体完整性约束
数据定义中主键非空
参照完整性约束
数据操作中外键约束 和元组间联系约束
自定义完整性约束
数据定义中基于应用 背景的属性约束
11
第2章 关系模型与运算: 2.2 关系代数(1)
2.2关系代数
2.1.1基于更新的代数运算
插入运算:集合的并运算
RS
设有同类关系R、S(即R、S具有相同的关
系模式),则二者的并运算定义为:
RS ={ t | tR tS }
12
合并结果中要去掉相同的行
2.2.2基于查询的代数运算
关系的集成:广义笛卡尔乘积运算
设有关系R、S,其中关系R有r个属性分量、m 个元组,关系S有s个属性分量、n个元组,则二 者的广义笛卡尔乘积(Cartesian Product)运 算定义为:
R S {t | t t r ,t s t r R t s S}
Leabharlann Baidu
2.2.2基于查询的代数运算
元组集合的选择:选择运算
设有k元关系R,条件用一命题公式F表示,则从 关系R中选择出满足条件F的行定义为:
F (R) {t | t R F(t) true}
F是选择的条件: t∈R, F(t)要么为真,要么为假
F的形式:由逻辑运算符连接算术表达式而成
单个关系内属性指定
关系查询
单个关系内元组选择
多个关系的合并
7
第2章 关系模型与运算: 2.1 关系数据模型(3)
2.1.3关系数据操作(2)
关系更新
元组插入 元组删除 元组修改
8
第2章 关系模型与运算: 2.1 关系数据模型(3)
2.1.3关系数据操作(3)
空值处理
限定主键不能取空值 定义空值相应运算
21
R
AB
1 2
S
CDE
10 a 10 a 20 b 10 b
RxS ABCDE
1 10 a 1 19 a 1 20 b 1 10 b 2 10 a 2 10 a 2 20 b 2 10 b
22
• 求数学成绩比王红同学高的学生
以二维平面表格表示实体集
以“ 键” 表示该实体集中实体标识和 该实体集与其它实体集之间关联
5
第2章 关系模型与运算: 2.1 关系数据模型(2)
2.1.2关系数据结构(2)
列的同质性
关系结构基本性质
异列同域性 列的无序性
元组相异性
属性原子性
6
第2章 关系模型与运算: 2.1 关系数据模型(3)
2.1.3关系数据操作(1)
16
第2章 关系模型与运算: 2.2 关系代数(2)
2.2.2基于查询的代数运算
属性列的制定:投影运算
设有k元关系R,其元组变量为tk = < t1,t2,…,tk
>,那么关系R在其分量Ai1, Ai2, … , Ain ( n≤k ,
i1 , i2, … , in 为1到k之间互不相同的整数)上的
2.1.1关系与关系表(2)
超 键:唯一标识元组的属性集合
关系的键
候选键:不含多余属性的超键 主 键:选定用于标识的候选键
外 键:R2的主键K是R1的属性子集, 则K为R1外键
4
第2章 关系模型与运算: 2.1 关系数据模型(2)
2.1.2关系数据结构(1) 如果使用下述方式组织数据, 则称定义了一个关系数据结构
数据库系统基础教程
第2章 关系数据模型与关系运算
1
第2章 关系模型与运算: 2.1 关系数据模型(1)
2.1关系数据模型
2.1.1关系与关系表
形式化定义:关系——笛卡尔乘积子集
意义: 将数据模型置于严格数学基础之上
直观性描述:关系表——二维平面表格
意义: 将数据模型置于实际背景和应用实现基础之上
2
RS
14
R
A
B
C
3
6
7
2
5
7
7
2
3
4
4
3
R-S
A
B
C
3
6
7
2
5
7
4
4
3
S
A
B
C
3
4
5
7
2
3
S-R
A
B
C
3
6
7
15
第2章 关系模型与运算: 2.2 关系代数(1)
2.2.1基于更新的代数运算
修改运算:集合的差运算与并运算
修改关系R内元组内容可用下面方法实现: ● 设需要修改的元组构成关系R1,则先做删除, 得R-R1。 ● 设修改后的元组构成关系R2,此时将其插入, 得到结果(R-R1)∪R2。
S( R): 更名运算,将R更名为S
∏ ( (R S.姓名 R.成绩S.成绩 R.课程=数学 S.课程=数学 R.姓名=王红 S( R))
R
姓名 课程 成绩
张军 物理 93 王红 数学 86
R
A
B
3
6
2
5
7
2
4
4
C 7 7 3
3 R∪S
A
B
C
3
6
7
2
5
7
7
2
3
4
4
3
3
4
5
S
A
B
3
4
7
2
C 5 3
13
第2章 关系模型与运算: 2.2 关系代数(1)
2.2.1基于更新的代数运算
删除运算:集合的差运算
设有同类关系R、S,则二者的差运算定义为:
R S {t | t R t S}
相关文档
最新文档