第2章 关系型数据库基础
合集下载
数据库基础知识2
学科 课程 学生
教师
任课
选课
网状模型表达能力强,能反映实体间的“多对多”的联系,即能 网状模型表达能力强,能反映实体间的“多对多”的联系, 表达实体间的纵向联系,也能表达实体间的横向联系。 表达实体间的纵向联系,也能表达实体间的横向联系。但在概 念上、结构上都比较复杂,对计算机硬件要求较高。 念上、结构上都比较复杂,对计算机硬件要求较高。
2.1 数据模型概述
2.1.2 数据模型的组成三要素
模型就是对现实世界的抽象。数据模型是模型的一种, 模型就是对现实世界的抽象。数据模型是模型的一种, 是现实世界数据特征的抽象, 是现实世界数据特征的抽象,应通过具体的数据模型正确 地反映出数据之间存在的整体逻辑关系。 地反映出数据之间存在的整体逻辑关系。 描述任何一个数据模型,都包括三个要素:数据结构、 描述任何一个数据模型,都包括三个要素:数据结构、 数据操纵(运算)、数据约束。 数据操纵(运算)、数据约束。 )、数据约束
2.2 关系代数运算
2.2.1 传统的集合运算
传统的集合运算是2个关系的运算,包括并 传统的集合运算是 个关系的运算,包括并、交、差、 个关系的运算 广义笛卡儿积四种运算。 广义笛卡儿积四种运算。 四种运算 p1与p2是关系,有相同的度,对应属性来自相同域。 与p2是关系,有相同的度,对应属性来自相同域。 是关系 • 关系并运算 p1∪p2:由p1与p2中所有的元组组成; p1∪p2: p1与p2中所有的元组组成; 中所有的元组组成 • 关系交运算 p1∩p2:由p1与p2中都有的元组组成; p1∩p2: p1与p2中都有的元组组成; 中都有的元组组成 p1-p2: p1中有而p2中没有的元组组成 中有而p2 • 关系差运算 p1-p2:由p1中有而p2中没有的元组组成
教师
任课
选课
网状模型表达能力强,能反映实体间的“多对多”的联系,即能 网状模型表达能力强,能反映实体间的“多对多”的联系, 表达实体间的纵向联系,也能表达实体间的横向联系。 表达实体间的纵向联系,也能表达实体间的横向联系。但在概 念上、结构上都比较复杂,对计算机硬件要求较高。 念上、结构上都比较复杂,对计算机硬件要求较高。
2.1 数据模型概述
2.1.2 数据模型的组成三要素
模型就是对现实世界的抽象。数据模型是模型的一种, 模型就是对现实世界的抽象。数据模型是模型的一种, 是现实世界数据特征的抽象, 是现实世界数据特征的抽象,应通过具体的数据模型正确 地反映出数据之间存在的整体逻辑关系。 地反映出数据之间存在的整体逻辑关系。 描述任何一个数据模型,都包括三个要素:数据结构、 描述任何一个数据模型,都包括三个要素:数据结构、 数据操纵(运算)、数据约束。 数据操纵(运算)、数据约束。 )、数据约束
2.2 关系代数运算
2.2.1 传统的集合运算
传统的集合运算是2个关系的运算,包括并 传统的集合运算是 个关系的运算,包括并、交、差、 个关系的运算 广义笛卡儿积四种运算。 广义笛卡儿积四种运算。 四种运算 p1与p2是关系,有相同的度,对应属性来自相同域。 与p2是关系,有相同的度,对应属性来自相同域。 是关系 • 关系并运算 p1∪p2:由p1与p2中所有的元组组成; p1∪p2: p1与p2中所有的元组组成; 中所有的元组组成 • 关系交运算 p1∩p2:由p1与p2中都有的元组组成; p1∩p2: p1与p2中都有的元组组成; 中都有的元组组成 p1-p2: p1中有而p2中没有的元组组成 中有而p2 • 关系差运算 p1-p2:由p1中有而p2中没有的元组组成
(第二讲)数据库(第二章:关系数据库的基本概念)
(王新,通信,张三,101),
(王新,通信,李四,201), (赵阳,计算机,张三,101),
(赵阳,计算机,李四,201),
(赵阳,通信,张三,101), (赵阳,通信,李四,201)
}
笛卡尔积可表示成一个二维表。表中的每行对应一个元组,
表中的每列的值来自一个域。
导师 王新 王新 王新 专业 计算机 计算机 通信 学生 张三 李四 张三 学号 101 201 101
Sno 2000012 2000113 2000256 2000278 Sname 王林 张大民 顾芳 姜凡 Ssex 男 女 女 男 Sage 19 18 19 19 Sdept 计算机 自动化 计算机 管理
关系数据库是表(table)的集合,每个表有 惟一的名字。
Sno 2000012 2000113 2000256 2000278
元素的每一个值 di 叫作一个分量。关系模型中要求每一 个分量必须属于某种基本数据类型,如整形或字符串型。
关系:笛卡尔积的子集就是一个关系。
R( D1 , D2 ,, Dn )
这里R表示关系的名字,n是关系的目或度。
例: 我们给出如下三个域: D1 =导师集合。导师={王新,赵阳} D2=专业集合。专业={计算机,通信} D3=学生集合。学生={(张三,101),(李四,201)} 则笛卡尔积为: D1XD2XD3={(王新,计算机,张三,101), (王新,计算机,李四,201),
第2章 关系数据库定义
• 缺点
存取路径对用户透明导致查询效率往往不如非
关系数据模型
为提高性能,必须对用户的查询请求进行优化
增加了开发数据库管理系统的难度
3. 创建数据库模式
• 以SQL Server 为例,介绍定义数据库 模式的基本操作
数据类型
• • • • • • • • • • 整数 Bit decimal 和 numeric money 和 smallmoney 近似数字 datetime 和 smalldatetime 字符串 Unicode 字符串 二进制字符串 其它数据类型
• 表2-1:关系Student
StudentNo 9900011 9900012 9900013 StudentNa me 李明 高亮 张三 Age 19 20 21 Dept 计算机系 数学系 外语系
关系模型的基本概念
• 属性就是关系中各列,一列即为一个属 性,给每一个属性起一个名称即属性名。 在表2-1中,关系的属性为StudentNo、 StudentName、Age和Dept,属性描述 了该列各数据项的含义,例如,属性为 Age的列存放着学生的年龄。
Bit
• bit:1 或 0 的整数数据。
decimal 和 numeric
• decimal:从 -10^38 +1 到 10^38 –1 的 固定精度和小数位的数字数据。 • numeric:功能上等同于 decimal。
存取路径对用户透明导致查询效率往往不如非
关系数据模型
为提高性能,必须对用户的查询请求进行优化
增加了开发数据库管理系统的难度
3. 创建数据库模式
• 以SQL Server 为例,介绍定义数据库 模式的基本操作
数据类型
• • • • • • • • • • 整数 Bit decimal 和 numeric money 和 smallmoney 近似数字 datetime 和 smalldatetime 字符串 Unicode 字符串 二进制字符串 其它数据类型
• 表2-1:关系Student
StudentNo 9900011 9900012 9900013 StudentNa me 李明 高亮 张三 Age 19 20 21 Dept 计算机系 数学系 外语系
关系模型的基本概念
• 属性就是关系中各列,一列即为一个属 性,给每一个属性起一个名称即属性名。 在表2-1中,关系的属性为StudentNo、 StudentName、Age和Dept,属性描述 了该列各数据项的含义,例如,属性为 Age的列存放着学生的年龄。
Bit
• bit:1 或 0 的整数数据。
decimal 和 numeric
• decimal:从 -10^38 +1 到 10^38 –1 的 固定精度和小数位的数字数据。 • numeric:功能上等同于 decimal。
数据库系统概论王珊最新版第2章-关系数据库PPT课件
• 典型代表:ISBL(信息系统基础语言)
关系演算语言:用谓词来表达查询要求
• 元组关系演算语言 – 谓词变元的基本对象是元组变量 – 典型代表:APLHA, QUEL
• 域关系演算语言 – 谓词变元的基本对象是域变量 – 典型代表:QBE
具有关系代数和关系演算双重特点的语言
• 典型代表:SQL
-
13
由于关系模型简单明了、具有坚实的数学理论基础,所以一 经推出就受到了学术界和产业界的高度重视和广泛响应,并 很快成为数据库市场的主流。
20世纪80年代以来,计算机厂商推出的数据库管理系统几乎 都支持关系模型,数据库领域当前的研究工作大都以关系模 型为基础。
-
3
关系数据库简介
典型实验系统
System R University INGRES
-
11
关系操作 (续)
常用的关系操作
查询
• 选择、投影、连接、除、并、交、差
数据更新
• 插入、删除、修改
查询的表达能力是其中最主要的部分
关系操作的特点
集合操作方式,即操作的对象和结果都是集合。
• 非关系数据模型的数据操作方式:一次一记录
-
12
关系操作(续)
关系数据语言的种类
关系代数语言
• 用对关系的运算来表达查询要求
另一部分驻留在服务器中,主要用来实现对数据库的操作 和对数据的计算处理。
数据库原理第二章关系数据库
数据库原理第二章关系数据库
1、除运算÷(Division,亦称商)
❖ 用途:除法运算同时从行和列的角度进行运算,在表达某 些查询时有用,适合于包含“全部”之类的短语的查询, 例如“查询已注册选修了所有课程的学生名字”。
❖ 定义:给定关系 R(X,Y),S(Y,Z),X,Y,Z为属 性列,关系R和关系S中的Y出自相同域集,则: R÷S={tr[X]|tr∈R∧Πy(S)Yx} 其中,Yx为x在R中的象集,x= tr[X]。
RANGE Course CX SC SCX
GET W (Student.Sname): SCX (SCX.Sno=Student.Sno∧ CX (CX.Cno=SCX.Cno∧CX.Pcno='6'))
例5:查询选修全部课程的学生姓名。
RANGE SC X Course CX
GET W (Student.SN) : CXSCX (SCX.SNO=Student.SNO∧CX.CNO=SCX.CNO)
{(b1,c2),(b2,c1),(b2,c3) }
❖ 只有a1的象集包含了S在(B,C)属性组上的投影 所以R÷S ={a1}
写出R÷S=
R
A BCD a1 2 4 6 a3 8 2 3 a1 2 3 5 a4 7 7 8
S
CD 35 46
R÷S
AB a1 2
1、除运算÷(Division,亦称商)
❖ 用途:除法运算同时从行和列的角度进行运算,在表达某 些查询时有用,适合于包含“全部”之类的短语的查询, 例如“查询已注册选修了所有课程的学生名字”。
❖ 定义:给定关系 R(X,Y),S(Y,Z),X,Y,Z为属 性列,关系R和关系S中的Y出自相同域集,则: R÷S={tr[X]|tr∈R∧Πy(S)Yx} 其中,Yx为x在R中的象集,x= tr[X]。
RANGE Course CX SC SCX
GET W (Student.Sname): SCX (SCX.Sno=Student.Sno∧ CX (CX.Cno=SCX.Cno∧CX.Pcno='6'))
例5:查询选修全部课程的学生姓名。
RANGE SC X Course CX
GET W (Student.SN) : CXSCX (SCX.SNO=Student.SNO∧CX.CNO=SCX.CNO)
{(b1,c2),(b2,c1),(b2,c3) }
❖ 只有a1的象集包含了S在(B,C)属性组上的投影 所以R÷S ={a1}
写出R÷S=
R
A BCD a1 2 4 6 a3 8 2 3 a1 2 3 5 a4 7 7 8
S
CD 35 46
R÷S
AB a1 2
第2章关系数据库(重点)数据库知识点整理
第2章关系数据库(重点)数据库知识点整理
第2章关系数据库(重点)
了解:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数
掌握
关系模型的三个组成部分及各部分所包括的主要内容
关系数据结构及其形式化定义
关系的三类完整性约束
关系代数及其运算,包括并、交、差、选择、投影、连接、除、⼴义笛卡⼉积
知识点
关系模型三个组成部分
关系数据结构
关系操作集合
关系完整性约束
实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值参照完整性规则:若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不⼀定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)
或者等于S中某个元组的主码值
⽤户定义的完整性:针对某⼀具体关系数据库的约束条件,反映某⼀具体应⽤所涉及的数据必须满⾜的语义要求
关系数据语⾔的特点和分类
关系代数语⾔
关系演算语⾔
具有关系代数和关系演算双重特点的语⾔
域、笛卡⼉积、关系、元组、属性
域:域是⼀组具有相同数据类型的值的集合
笛卡⼉积:D1*D2*…*Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
关系:在域D1,D2,…,Dn上笛卡⼉积D1*D2*…*Dn的⼦集,表⽰为R(D1,D2,…,Dn)
元组:关系中的每个元素是关系中的元组
属性:关系也是⼀个⼆维表,表的每⾏对应⼀个元组,表的每列对应⼀个域。由于域可以相同,为了加以区分,对每列起⼀个名字,称为属性
候选码、主码、外码
候选码:若关系中的某⼀属性组的值能唯⼀地标识⼀个元组,⽽其⼦集不能,则称该属性组为候选码(candidate key)
数据库原理第2章
关系R和关系S的并记为RS,结果仍为n 关系R和关系S的并记为RS,结果仍为n目 关系。由属于R或属于S 关系。由属于R或属于S的元组组成。
2.交 2.交
关系R和关系S的交记为RS,结果仍为n 关系R和关系S的交记为RS,结果仍为n目 关系。由既属于R又属于S 关系。由既属于R又属于S的元组组成。
3.差 3.差
数据库系统基础
19
§2.2关系运算 2.2关系运算 关系是由若干个元组组成,每个元组 有若干个属性。关系的基本运算有两 类:
一类是传统的集合运算(并、交、差 等); 一类是专门的关系运算(选择、投影、 联接等)有些查询需要几个基本运算的 组合。
数据库系统基础 20
一、传统的集合运算
1.并 1.并
数据库系统基础 4
(张辉,女,助教),(李晓云,男,副教 授),(李晓云,男,讲师),(李晓云, 男,助教),(李晓云,女,副教授), (李晓云,女,讲师),(李晓云,女,助 教),(王东,男,副教授),(王东,男, 讲师),(王东,男,讲师),(王东,男, 助教),(王东,女,副教授),(王东, 女,讲师),( 王东,女,助教)} 王东,女,助教)}
数据库系统基础 17
3)用户定义的完整性 实体完整性和参照完整性用于任何关系数 据库系统。用户定义的完整性则是针对某 一数据库的约束条件,由应用环境决定。 它反映某一具体应用所涉及的数据必须满 足的语义要求。
2.交 2.交
关系R和关系S的交记为RS,结果仍为n 关系R和关系S的交记为RS,结果仍为n目 关系。由既属于R又属于S 关系。由既属于R又属于S的元组组成。
3.差 3.差
数据库系统基础
19
§2.2关系运算 2.2关系运算 关系是由若干个元组组成,每个元组 有若干个属性。关系的基本运算有两 类:
一类是传统的集合运算(并、交、差 等); 一类是专门的关系运算(选择、投影、 联接等)有些查询需要几个基本运算的 组合。
数据库系统基础 20
一、传统的集合运算
1.并 1.并
数据库系统基础 4
(张辉,女,助教),(李晓云,男,副教 授),(李晓云,男,讲师),(李晓云, 男,助教),(李晓云,女,副教授), (李晓云,女,讲师),(李晓云,女,助 教),(王东,男,副教授),(王东,男, 讲师),(王东,男,讲师),(王东,男, 助教),(王东,女,副教授),(王东, 女,讲师),( 王东,女,助教)} 王东,女,助教)}
数据库系统基础 17
3)用户定义的完整性 实体完整性和参照完整性用于任何关系数 据库系统。用户定义的完整性则是针对某 一数据库的约束条件,由应用环境决定。 它反映某一具体应用所涉及的数据必须满 足的语义要求。
北师大数据库——第二章:关系型数据库
关系性质6——分量是原子 关系性质6——分量是原子
父 母 孩子 大 小 父 母 孩子
李男 王男
丁女 肖女
李男 丁女 李一 王男 肖女 王一
李二
李一 李二 王一
非规范化关系
父 母 大孩 小孩 父 母 孩子
李男 王男
丁女 李一 李二 肖女 王一
李男 李男 王男
丁女 丁女 肖女
李一 李二 王一
规范化关系
重复的 元组! 元组 元组
关系性质5——元组无序 关系性质5——元组无序
学号 姓名 性别 年龄 9901 张三 9902 李四 9903 王五 9904 赵六 男 女 男 女 20 18 19 20
学号 姓名 性别 年龄 9904 赵六 9901 张三 9903 王五 9902 李四 女 男 男 女 20 20 19 18
关系交运算
R A a a b B 2 4 4 C c d c A a a b S B 4 6 4 C d d c R∩S A B C a 4 d b 4 c
广义笛卡儿积
R A a a b B 2 4 4 C c d c A a a b S B 4 6 4 C d d c A a a a a a a b b b
学号 姓名 曾用名 性别 9901 张三 张狗子 9902 李四 9904 赵六 李朋 赵薇 9903 王五 王麻子 男 女 男 女
第二章 关系数据库基本原理(2010)
如果 K 是某关系的超关键字,若从K中减少一个属性就不能唯一确定一个元组, 如, 学生表中,(学号) 则 K 课程表中,(课程代号) 是候选关键字
(3)主关键字
从关系的所有候选关键字中选定一个候选关键字确定为这个关系的先行关 键字,称为关键字。
(4)外关键字
如有关系,学生(学号,姓名,性别,…) 成绩(学号,课程号,分数) 设有关系A和B,若属性组合K是A的主关键字,但不是B的关键字,则称K是B相对于 (学号)是“学生”的主关键字,但不是“成绩”的主关键字,则称(学号) A的外关键字。 是“成绩”的外关键字。
2. 关系(续)
二维表对应成关系如下图所示
关系模式
属性 列 字段
关系名 表名 文件名
元组 行 记录
关键字(码)(KEY)
域 分量
返回
2. 关系(续)
A关系的逻辑结构
A
简言之,一张二维表。 也称表、关系表、数 据表。 属性:字段 行:元组
B关系的性质
B
•属性的原子性 •属性的同质性 •记录的唯一性 •属性次序的无关性 •元组次序的无关性 •关系的动态性 •关系的有限性 •不同的列可出自同 一个域,但要给予不 同的属性名。
C关键词
C
•关键词由本关系中的 字段组成(一个字段或几 个字段的组合) •关键词的作用是标识表 4种关键词 中记录,以便于记录查 找和操作 •关系可能有
第2章 关系数据库系统理论基础
数据库原理及应用
2015年10月23日星期五
2.4.2 专门的关系运算
专门的关系运算包括:选择、投影、连接、除,为了叙述 上的方便,首先引入几个记号。 设关系模式R(A1,A2,…,An) (1)t[Ai]表示元组t中相应于属性Ai的一个分量。 (2)若A={Ai1, Ai2,…, Ain},其中Ai1, Ai2,…, Ain是 A1,A2, …,An中的一部分,则A称为属性列或域列。t[A]=(t[Ai1], t[Ai2], …, t[Ain])表示t在属性列A上诸分量的集合。A 则表示 {A1,A2, …,An}中去掉{Ai1, Ai2,…, Ain}后剩余的属性组。 (3)R为n目关系,S为m关系。tr∈R,ts∈S, tr︵ ts称为元组的 连接。它是一个n+m列元组,前n个分量为R中的一个n元组,后 m个分量为S中的一个m元组。 (4)给定一个关系R(X, Z),X和Z为属性组。定义当t[X]=x时, x在R中的象集为:Zx={t[Z]|t∈R,t[X]=x},它表示R中属性组X上 值为x的诸元组的集合。
数据库原理及应用
2015年10月23日星期五
例2.2 有如下关系模式: 学生(学号,姓名,性别,院系号,年龄) 院系(院系号,专业名) 院系号属性是学生关系的外码,院系关系是被参照关系, 学生关系为参照关系。 例2.3 有如下关系模式: 学生(学号,姓名,性别,院系号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 学号,课程号属性是必修关系的外码。学生关系和课程关 系均为被参照关系,必修关系为参照关系。 例2.4有如下关系模式: 学生(学号,姓名,性别,院系号,年龄,班长) 班长属性与本身的主码学号属性相对应,因此班长是外码。 学生关系既是参照关系又是被参照关系。
2015年10月23日星期五
2.4.2 专门的关系运算
专门的关系运算包括:选择、投影、连接、除,为了叙述 上的方便,首先引入几个记号。 设关系模式R(A1,A2,…,An) (1)t[Ai]表示元组t中相应于属性Ai的一个分量。 (2)若A={Ai1, Ai2,…, Ain},其中Ai1, Ai2,…, Ain是 A1,A2, …,An中的一部分,则A称为属性列或域列。t[A]=(t[Ai1], t[Ai2], …, t[Ain])表示t在属性列A上诸分量的集合。A 则表示 {A1,A2, …,An}中去掉{Ai1, Ai2,…, Ain}后剩余的属性组。 (3)R为n目关系,S为m关系。tr∈R,ts∈S, tr︵ ts称为元组的 连接。它是一个n+m列元组,前n个分量为R中的一个n元组,后 m个分量为S中的一个m元组。 (4)给定一个关系R(X, Z),X和Z为属性组。定义当t[X]=x时, x在R中的象集为:Zx={t[Z]|t∈R,t[X]=x},它表示R中属性组X上 值为x的诸元组的集合。
数据库原理及应用
2015年10月23日星期五
例2.2 有如下关系模式: 学生(学号,姓名,性别,院系号,年龄) 院系(院系号,专业名) 院系号属性是学生关系的外码,院系关系是被参照关系, 学生关系为参照关系。 例2.3 有如下关系模式: 学生(学号,姓名,性别,院系号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 学号,课程号属性是必修关系的外码。学生关系和课程关 系均为被参照关系,必修关系为参照关系。 例2.4有如下关系模式: 学生(学号,姓名,性别,院系号,年龄,班长) 班长属性与本身的主码学号属性相对应,因此班长是外码。 学生关系既是参照关系又是被参照关系。
《数据库整理》第2章 关系数据库
– 关系的描述称为关系模式(Relation Schema) R(U,D,DOM,F)
R--关系名 U--属性名集合 D--属性所来自的域 DOM--属性向域的映像集合 F--属性间数据的依赖关系集合
属性名
– 简记为:R(U)或R(A1,A2,…,An)
14
.
关系模型 关系
关系头
静态、稳定,固定不变
• 针对某一具体关系数据库的约束条件 • 反映某一具体应用所涉及的数据必须满足的语义要求
如:成绩属性的取值范围在0-100之间
26
.
2.3 关系代数
关系模型由关系数据结构、关系操作和关系完整性约束三部分组成。 关系模型中常用的关系操作包括查询操作和更新操作(包括插入、删除 和修改)两大部分。
关系数据结构 关系操作
• 主属性:包含在主关系键中的各个属性称为主属性 • 非码属性:不包含在任何候选键中的属性称为非码属性
(或非主属性)
• 全码 (All-key):所有属性的组合是关系的候选键
1:n
教师T
课程C
n:1
1:n
学生S
课程C
n:1
教师T
n:n
n:n
学生S n:n 课程C
21
候选码为 (T,C,S)
全码
.
2.2.2 外部关系键 • 2.2.2 外部关系键 或外码(Foreign key)
《数据库原理及应用》教学课件 第二章关系数据库基础
2.1.1 关系模型的基本概念
02 属性
二维表中的列称为属性(Attribute)。 每个属性对应表中的一个字段,属性名就 是字段名,属性值就是各行的字段值。二 维表中列的个数称为关系的元数。如果一 个二维表有n列,则称其为n元关系。
例如,表2-1中的关系T有TNo,TN, Sex,Prof,Dept,Sal共6个属性,是一个 6元关系。
在选课关系中,只有属性集(学号, 课程编号)才能唯一标识每一条选课信 息,则属性集(学号,课程编号)为选 课关系的候选码,从中去掉任一属性都 无法唯一标识每一条选课记录,这体现 了候选码的最小性。
21
2.2 关系模型的完整性约束 02 主码
2.2.1 关系的码
如果一个关系中有多个候选码,可 以从中选定一个作为元组标识,称为主 码或主键。
01001
赵乾
01002
钱坤
01003
孙震
02011
李离
02013
周巽
表2-1 T(教师)
Sex(性别)
女 男 女 女 男
Prof(职称)
讲师 讲师 副教授 教授 教授
Dept(系别)
计算机 自动化 自动化
通信 计算机
Sal(工资) 6000 6000 7000 8000 8000
6
2.1 关系模型
03 域
域(Domain)是一组具有相同数据 类型的值的集合,又称值域(用D表示)。 在关系中用域来表示属性的取值范围, 域中所包含的值的个数称为域的基数 (用m表示)。
第2章 关系数据库理论基础
2.关系模式的表示
如果给定一个关系名为R,其属性名为A1,A2,…,AN,则关系模 式可以表示为:
R(A1,A2,…,AN)
Student(Name,Sex,Birthday,Major)
在关系数据库中,关系模式是型,关系是值。
关系模式是对关系的描述,通常它要描述一个关系
由哪些属性组成,这些属性来自哪些域,以及属性与域
4.关系的笛卡尔积
设R1为M元(有M个属性)关系,R2为N元关系,R1和R2的笛卡 尔积产生一个新关系R3,R3由R1的所有元组与R2的所有元组组合连
接而成的具有(M+N)个属性的元组组成。新关系中的前M个属性是
R1的一个元组,后N个属性为R2的一个元组,则称R3是关系R1和R2 的笛卡尔积,记作R3=R1×R2。
Cartesian Product)
设R为m元关系,S为n元关系,则R和S的广义笛卡儿乘积 R×S是一个(m+n)元关系,其中任一元组的前m个分量是R的一个 元组,后n个分量是S的一个元组。R×S是所有具备这种条件的 元组的集合。
实际进行组合时,可从R的第一个元组开始,依次与S 的所有元组组合,然后对R的其它元组进行同样的操作, 即可得到R×S的全部元组。
可见关系的笛卡尔积也是二目运算,但它和并、交、差运算不一
样,它并不要求参加运算的两个关系是并相容的。
第2章 关系数据库
设置外键约束字段的表称为子表,它所引用的表称为父表。外键约束可以 使一个数据库的多张表之间建立关联,通过外键约束可以使父表和子表建立一 对多的逻辑关系。
例如,在学生关系和选课关系中,选课关系中的“学号”取值为学生关系 中“学号”的一部分,必须为选课关系中的“学号”设置外键约束,选课关系 为子表,学生关系为父表。
第32页,此课件共42页哦
2.4.1 第一范式(1NF)
例如,在前面的学生和选课关系中,删除某个学生元组之前,必须先 删除相应的引用该学生的选课元组。这就是参照完整性。
3. 域完整性
域完整性是针对某一具体关系数据库的约束条件,反映某一具体应 用所涉及的数据必须满足的语义要求。
例如,选课关系中的“分数”取值规定为0到100之间。
第26页,此课件共42页哦
Baidu Nhomakorabea
2.3.2 约束
设学生和选课关系见表2-4。则学生∞选课的结果见表2-7。
表2-7 自然连接
第21页,此课件共42页哦
2.2.3 连接 3. 外连接 在关系R和S上做自然连接时,选择两个关系 在公共属性上值相等的元组构成新关系的元组。 此时R和S中公共属性值不相等的元组被舍弃。 如果R和S在做自然连接时,把原该舍弃的元组 也保留在新关系中,同时在这些元组新增加的属 性上填上空值(NULL),这种操作称为“外连 接”操作。
第31页,此课件共42页哦
例如,在学生关系和选课关系中,选课关系中的“学号”取值为学生关系 中“学号”的一部分,必须为选课关系中的“学号”设置外键约束,选课关系 为子表,学生关系为父表。
第32页,此课件共42页哦
2.4.1 第一范式(1NF)
例如,在前面的学生和选课关系中,删除某个学生元组之前,必须先 删除相应的引用该学生的选课元组。这就是参照完整性。
3. 域完整性
域完整性是针对某一具体关系数据库的约束条件,反映某一具体应 用所涉及的数据必须满足的语义要求。
例如,选课关系中的“分数”取值规定为0到100之间。
第26页,此课件共42页哦
Baidu Nhomakorabea
2.3.2 约束
设学生和选课关系见表2-4。则学生∞选课的结果见表2-7。
表2-7 自然连接
第21页,此课件共42页哦
2.2.3 连接 3. 外连接 在关系R和S上做自然连接时,选择两个关系 在公共属性上值相等的元组构成新关系的元组。 此时R和S中公共属性值不相等的元组被舍弃。 如果R和S在做自然连接时,把原该舍弃的元组 也保留在新关系中,同时在这些元组新增加的属 性上填上空值(NULL),这种操作称为“外连 接”操作。
第31页,此课件共42页哦
第2章 关系数据库基础
参照完整性规则
如果属性(或属性组)F是关系R的外部关键 字,它与关系S的主关键字K相对应,则对于 关系R中每个元组在属性(或属性组)F上的 值必须为: 或者取空值(F的每个属性均为空值); 或者等于S中某个元组的主关键字的值。 参照完整性也是关系模型必须满足的完整性约 束条件,是关系的另一个不变性。
在关系上能进行哪些操作? 传统的集合运算 专门的关系运算 关系数据操作
数据库应用与设计
北京信息科技大学
关系完整性约束
在数据库中数据完整性是指保证数据正确 的特性。数据完整性是一种语义概念,它 包括两方面的内容: 与现实世界中应用需求的数据的相容性 和正确性; 数据库内数据之间的相容性和正确性。
数据库应用与设计
数据库应用与设计
北京ຫໍສະໝຸດ Baidu息科技大学
对关系T选择“姓名和职称”两列进行投 影
π姓名,职称(T)
数据库应用与设计
北京信息科技大学
连接运算
连接相互之间有联系的两个关系。 连接过程一般是由参照关系的外部关键字 一般 和被参照关系的主关键字来控制的,这样 的属性通常也称为连接属性。
数据库应用与设计
北京信息科技大学
连接运算
一般的连接运算也称为θ连接运算,θ是比 较运算符。θ连接一般表示为: 这里Ai是R中的属性,Bj是S中的属性,θ连接 的结果是一个广义笛卡儿乘积的子集,其中 的元组满足Ai和Bj间的θ关系。当θ为“=” 时,称为等值连接;θ为“<”时,称为小于 连接;θ为“>”时,称为大于连接等等。
数据库 第二章 关系数据库
2、用户自定义的完整性
学生表(学号,姓名,性别,专业)
(1)定义: ①列值非空(NOT NULL短语) ②列值唯一(UNIQE 短语) ③检查列值是否满足一个布而表达式(CHECK短语)
(2)检查及违约处理: 当往表中插入元组或修改属性的值时,检查约束条件是否 被满足,若不满足则操作被拒绝执行.
3、参照完整性
本章内容 退出
一、关系的三类完整性约束
1、实体完整性 2、参照完整性 3、用户自定义的完整性
上一页 下一页 第一页 最末页
本章内容 退出
1、实体完整性(Entity Integrity)
(1)实体完整性规则:
若属性A是基本关系R的主属性,则A不能取空值。
(2)举例
选课(学号,课程号,成绩)
(3)作用
第二章 关系数据库
【第二章 掌握内容】 一、关系数据模型中有关“关系”的一些概
念 二、关系操作和关系代数 三、关系数据模型的完整性
上一页 下一页 第一页 最末页
本章内容 退出
第一节 关系模型的概述
一、关系模型的三要素 二、关系模型的数据结构 三、关系操作(详见第四节) 四、关系的完整性约束
上一页 下一页 第一页 最末页
20
瓯江学院
95004 003
65
1
9500 刘晨 女
19
计算机学院 95001 004
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 }