第2章 关系型数据库基础

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

关系模型的基本概念
关系应具备如下性质:
1. 不允许出现两个以上完全相同的元组
四川农业大学 潘勇浩
2016
2. 元组次序是任意的
3. 理论上没有列序
4. 每一列的值来自于同一个域,是同一类型的数据。
5. 不同的列可来自于同一个域,每一列称为一个属性,
有唯一的属性名。 6. 属性值是不可再分的数据项,即具有原子性。
关系代数
连接(Join )
R
A a1 a1 a2 a2 B b1 b2 b3 b4 C 3 6 2 4
四川农业大学 潘勇浩
2016
S
B b1 b2 b3 b3 b5 D 3 7 10 6 5
R
C>D
S
C 6 6 4 S.B b1 b5 b1 D 3 5 3
A R.B a1 b2 a1 b2 a4 b4
姓名 张三 李四 王五 语文 58 45 68
D1 = 姓名 = {张三,李四,王五} D2 = 分数 = {x|0≤x≤100}
数学 政治 69 77 89 74 74 62
关系模型的基本概念
四川农业大学 潘勇浩
2016
关系的结构描述称为关系模式(Relation schema), 它可以形式化地表示为一个五元组:
n
m
i 1
i
关系模型的基本概念
例如给定3个域: D1=学生集合={张三,李四,王五} D2=专业集合={计算机,食品}
四川农业大学 潘勇浩
2016
D3=课程集合={数据结构,肉品加工}
则D1,D2,D3的笛卡尔积D1×D2×D3为:
(张三,计算机,数据结构), (张三,计算机,肉品加工), (张三,食品,数据结构), (张三,食品,肉品加工), (李四,计算机,数据结构), (李四,计算机,肉品加工), (李四,食品,数据结构), (李四,食品,肉品加工), (王五,计算机,数据结构), (王五,计算机,肉品加工), (王五,食品,数据结构), (王五,食品,肉品加工)
关系模型的基本概念
换种方式表示
D1 = 学生集合 = {张三,李四,王五} D2 = 专业集合 = {计算机,食品} D3 = 课程集合 = {数据结构,肉品加工} 上面3个域D1,D2,D3的笛卡尔 积D1×D2×D3也可以表示为 如右边所示的二维表: 学生 张三 张三 张三 张三 李四 李四 李四 李四 王五 王五 王五 王五
R×S = { t | t=<tr,ts> ∧ tr∈R ∧ ts∈S }
R 姓名 性别 年龄
张三 李四 王五 男 女 男 20 22 18
R×S 姓名 性别 年龄 学历 补助
张三 张三 李四 李四 王五 王五 男 男 女 女 男 男 20 20 22 22 18 18 高中 大学 高中 大学 高中 大学 78 240 78 240 78 240
四川农业大学 潘勇浩
2016
关系模型的基本概念
四川农业大学 潘勇浩
2016
域(Domain)是一组具有相同数据类型的 值的集合。 域中所包含的值的个数称为域的基数。
D1 = { '男' ,'女' }
D2 = { x | 0≤x≤150 }
基数为2
基数为151
D3 = { <ai,aj>| i,j=1,2,3…… }
2016
笛卡尔积D1×D2×…×Dn的任意一个子集称为在 域D1,D2,…,Dn上的一个关系(Relation)。 其中域的数目n称为关系的度(Degree)。
度为n的关系称为n元关系。 关系可以看作是一张规则的,有意义的二维表。
学生 张三 李四 王五 专业 食品 计算机 计算机 课程 肉品加工 数据结构 数据结构
学生
学号 98001 98002 98003 98004 98005 98006 98007 姓名 性别 年龄 张明 男 29 李华 女 30 王军 男 28 孙六 女 27 赵龙 女 18 周艺 女 22 钟伟 男 19
σ年龄<20(学生)
学号 姓名 性别 年龄 98005 赵龙 女 18 98007 钟伟 男 19
S
学历 高中 大学
补助 78 240
关系代数
选择(Selection ) —— 行查询
四川农业大学 潘勇浩
2016
从关系R中选出满足条件F的元组组成新关系,记 作: σF(R)= { t | t∈R ∧ F(t) } ,其中F为一个 由属性名(或属性序号)、常量、简单函数用比较运 算符和逻辑运算符组成的逻辑表达式。
四川农业大学 潘勇浩
2016
学生 学号 姓名 系名
9801 9802 9803 9804 9805 9806 9807 张明 IS 赵龙 CS 陈然 MA 李科 IS 王军 IS 朱成 IS 黄沙 CS
ST(学号,姓名,性别,年龄,系) 关系模式 学生(学号,姓名,系名)
关系模型的基本概念
四川农业大学 潘勇浩
基数为无穷
关系模型的基本概念
四川农业大学 潘勇浩
2016
一组域D1,D2,…,Dn(域可以有相同的)的笛卡 尔积(Cartesian Product)为: D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n} 其中每一个元素(d1,d2,…,dn)称为一个n元 组(n-tuple),简称元组(Tuple)。 元组中一每一个di称为元组分量 若Di的基数为mi,则结果的基数为:
R 姓名 张三 李四 王五 性别 男 女 男 性别 男 女 男
R∩S
姓名 王五 性别 男
R
S
S
R∩S
姓名 赵六 孙七 王五
关系代数
广义笛卡尔积
四川农业大学 潘勇浩
2016
设m元关系R有a个元组,n元关系S有b个元组,则 R和S的广义笛卡尔积是一个有a×b个元组的m+n元 关系,其中每一个元组的前m个分量是关系R的一个 元组,后n个分量是关系S的一个元组。记作:
R(U,D,DOM,F ) 其中R为关系名, U为组成该关系的属性的集合,D 为属性组U中属性所来自的域的集合,DOM为属 性向域的映象集合,F为属性间数据的依赖关系的 集合。 关系模式通常可以简记为 R(U ) 或者 R(A1,A2,…,An) 其中Ai为属性名。
关系模型的基本概念
关系
ST
学号 98001 98002 98003 98004 98005 98006 98007 姓名 性别 年龄 张明 男 29 李华 女 30 王军 男 28 孙六 女 27 赵龙 女 18 周艺 女 22 钟伟 男 19 系 CS MA IS IS CS MA CS
学生
学号 98001 98002 98003 姓名 性别 年龄 张明 男 29 李华 女 30 王军 男 28
∏年龄,姓名(学生)
或者 ∏4,2(学生)
年龄 29 30 28
姓名 张明 李华 王军
∏3(学生) 或者 ∏性别(学生)
性别 男 女
关系代数
连接(Join )
四川农业大学 潘勇浩
2016
辅助专门的关系运算的运算 比较运算 逻辑运算 >,<,≥,≤,=,≠ 与(∧),或(∨),非(┐)
关系代数
并(Union )
四川农业大学 潘勇浩
2016
设关系R和关系S是相容(具有相同的度,且对应 的属性取自同一个域)的,则关系R和关系S的并 由属于R或属于S的元组组成,记为: R∪S = { t | t∈R ∨ t∈S }
从关系R和S的广义笛卡尔积中选取R与S的属性间 满足一定条件的元组,可记作:
R
R.A θ S.B
S = σR.A θ S.B(R×S )
其中θ是比较运算符,A和B分别为R和S上度数相等 且可比的属性集。

θ为‚=”时称为等值连接,其它称为非等值连接。 A和B是相同的属性集时的等值连接称为自然连接 R S = σR.A=S.A(R×S ) (natural-join),记为: 注意自然连接的结果中要消除重复的属性列。
R
R.C = S.D
S
隐含连接条件为 R.B=S.B
R
A a1 a1 a2 a2
S
B C b1 3 b2 6 b3 2 b3 2 D 3 7 10 6
A R.B C S.B D a1 b1 3 b1 3 a1 b2 6 b3 6
关系代数
除(division )
参照关系
学 生 选 课
被参照关系 姓名 张三 李四 王五 课程号 K01 K02 K01 外码
课 课程号 课程名 学分 程 K01 数据结构 3
学号 98001 98002 98003
K02 K03
主码
软件工程 数据库
4 3
关系模型的完整性约束
四川农业大学 潘勇浩
2016
实体完整性(Entity integrity):主码属性值不能为空值 参照完整性(Referential integrity):若F是关系R 的外 码,则F的取值要么为空,要么取被参照关系S 的某一 主码值。 用户自定义的完整性(User-Defined integrity):用户 按实际需要对属性或元组定义的规则或条件。
四川农业大学 潘勇浩
2016
专业 计算机 计算机 食品 食品 计算机 计算机 食品 食品 计算机 计算机 食品 食品
课程 数据结构 肉品加工 数据结构 肉品加工 数据结构 肉品加工 数据结构 肉品加工 数据结构 肉品加工 数据结构 肉品加工
每一行就是一个元组,每一列都来自同一域
关系模型的基本概念
四川农业大学 潘勇浩
2016
码(Key,又称键)是用于标识元组的属性集
能唯一 标识元组的属性集称为超码(Super Key) 能唯一标识关系中元组的最小属性集称为候选码 (Candidate Key) 若一个关系有多个候选码,则可以从中选择一个作为 主码(Primary Key)。
学号 98001 98002 ┆ 99343 姓名 张三 李四 ┆ 王五 性别 男 女 ┆ 男 年龄 29 30 ┆ 29
参照关系
学 生 选 课
被参照关系
学号 98001 98002 98003
姓名 张三 李四 王五
课程号 K01 K02 K01
外码
课 课程号 课程名 学分 程 K01 数据结构 3
K02 K03 主码
软件工程 数据库
4 3
关系操作
四川农业大学 潘勇浩
2016
关系操作是指对关系实施的各种操作。
关系操作的对象和结果都是关系,实际是集合 操作。 关系操作主要分为关系查询和关系更新(包括 增加、修改和删除)两类。
关系模型的基本概念
四川农业大学 潘勇浩
2016
如果关系R的一个属性组F不是R的主码,但F与 另一关系S(R和S可以是同一关系)的主码相对应, 则称F为关系R的外码(Foreign key)。并称关系 R为参照关系(referencing relation),关系S称 为被参照关系(referenced relation)。
关系操作是一次一集合的操作方式,而非关系 数据模型是一次一记录的操作方式。
关系代数 关系演算 SQL
元组关系演算 域关系演算
关系数据语言
关系代数
四川农业大学 潘勇浩
2016
关系代数是一种抽象的非过程化查询语言,是 关系数据操纵语言的一种传统表达方式。运算 对象和运算结果都是关系。
关系代数运算 集合运算 专门的关系运算 并(∪) ,交(∩),差(-) 广义笛卡尔积(×) 选择(σ),投影(Π) 连接( ),除(÷) 黄色字体 为五种基 本运算
R 姓名 张三 李四 王五 S 姓名 赵六 孙七 王五
R
S
性别 男 女 男
性别 男 女 男
R∪S
姓名 张三 李四 王五 赵六 孙七 性别 男 女 男 男 女
Hale Waihona Puke Baidu
R∪S
关系代数
差(Difference )
四川农业大学 潘勇浩
2016
设关系R和关系S是相容的,则关系R和关系S的差 由属于R但不属于S的元组组成, 记为: R-S = { t | t∈R ∧ t∈S }
σ性别=‘男’ ∧ 年龄>20(学生)
学号 姓名 性别 年龄 98001 张明 男 29 98003 王军 男 28
关系代数
投影(Projection ) —— 列查询
四川农业大学 潘勇浩
2016
在关系R中按指定的列序选出若干属性列组成新的 关系,记作:∏A(R)= { t[A] | t∈R },其中A为一 个R的属性名(或属性序号)的序列。注意投影结果中 必须消去重复的元组。
R 姓名 张三 李四 王五 S 性别 男 女 男
R-S
姓名 张三 李四 性别 男 女
R
S
R-S
姓名 赵六 孙七 王五
性别 男 女 男
关系代数
交(Intersection )
四川农业大学 潘勇浩
2016
设关系R和关系S是相容的,则关系R和关系S的交 由既属于R又属于S的元组组成,记为:
R∩S = { t | t∈R ∧ t∈S }
相关文档
最新文档