《数据库系统及应用教程》第2章关系数据库精品PPT课件
合集下载
数据库原理及应用第2章ppt
2.1.1 关系模型概述
3. 完整性约束。
实体完整性 参照完整性 用户定义完整性 反映应用领域所遵循的约束条件, 体现具体领域中语义约束
2.1.2 关系数据结构
关系模型的数据结构非常简单。在用户看来,关系模 型中数据的逻辑结构是一张二维表。无论是实体还是实体 间的联系均由关系(表)来表示。
表 2.1 一个表示学生的关系
▪ 定义:
• 给定一组域D1,D2,…,Dn,这些域中可以存在相同的域。D1, D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…, dn)|di∈Di,i=1,2,…,n}
▪ 说明:
• 其中每一个元素(d1,d2,…,dn)叫做一个n元组(n-tuple)或简 称元组(Tuple)即行。元素中的每一个值di(i=1,2,3……n)叫做 一个分量(Component)即列。
若一个关系有多个候选码,则选定其中一个为主码(Primary key)。 主码的诸属性称为主属性(Prime attribute)。
不包含在任何侯选码中的属性称为非码属性(Non-key attribute)。在 最简单的情况下,侯选码只包含一个属性。
在最极端的情况下,关系模式的所有属性组是这个关系模式的侯选码, 称为全码(All-k) , (b,c,f) , (b,c, g) ,
•
(b,d, f) ,(b,d, g) , (b,e, f) , (b,e, g) }。
2.1.2 关系数据结构
结果用二维表格表示如表2-3所示,共有3个列,12个元组。
表2-3 用二维表格表示 D1×D2×D3
D1
为了维护数据库中的数据完整性,在对关系数据库执行插入、删 除和修改等操作时,必须遵守这三类完整性规则。
数据库原理及应用第2章关系数据库(2学时)PPT课件
工号 4001 4002 4124 5018
姓名 zhang
li liu wang
年龄 50 40 35 25
性别 M F M M
工资 2000 1500 2000 1000
1.常用的关系操作 2.关系操作的特点 3.关系数据语言的种类 4.关系数据语言的特点
1. 常用的关系操作
查询:选择、投影、连接、除、并、交、差 更新:插入、删除、修改
导师
张清玫
D1域 导师集合
张清玫
刘逸
D2域 专业集合
× 计算机专业
信息专业
D3域 研究生 集合 李勇
× 刘晨
王敏
张清玫 张清玫 张清玫 张清玫 张清玫
= 刘逸
刘逸 刘逸
刘逸
刘逸
刘逸
专业
计算机专业 计算机专业 计算机专业 信息专业 信息专业 信息专业 计算机专业 计算机专业 计算机专业 信息专业 信息专业 信息专业
若Di(i=1,2,…,n)为有限集,其基数为mi(i= 1,2,…,n),则D1×D2×…×Dn的基数M为:
n
M
i 1
m
i
3. 关系(Relation)
(1)关系
D1×D2×…×Dn 的 子 集 叫 作 在 域 D1 , D2 , … , Dn 上 的关系,表示为:
R(D1,D2,…,Dn)
R——关系名 n——关系的目或度(Degree)4.关系数据语言的特点
①是一种高度非过程化的语言 存取路径的选择由DBMS的优化机制来完成 用户不需要使用循环结构就可以完成数据操作
②能够嵌入高级语言中使用 ③关系代数、元组关系演算和域关系演算三种语言 在表达能力上完全等价
2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数
第2章 关系数据库基本原理PPT课件
关系中能唯一区分、确定不同元组的属性或属性组合, 称为该关系的一个关键字。关键字又称为键或码(Key)。
31.10.2020
55
2.1 关系数据库概述
关系中能够作为关键字的属性或属性的组合可能不是唯 一的。
这些属性或属性的组合成为候选关键字。在候选关键字 中选定一个作为关键字则称之为主关键字。
5.外部关键字 如果关系中某个属性或属性组合并非关键字,但却是另 一个关系的主关键字,则称此属性或属性组合为本关系的外 部关键字或外键(Foreign Key)。在关系数据库中,用外部关 键字表示两个表间的联系。
5.投影
设 R=R(A1,A2,…,An)是一个n元关系,{i1,i2,…,
im}是{1,2,…,n}的一个子集,并且 i1<i2<…<im,定义: 称π(R)是R在上的一个(投R 影)。(A i1,A i2, ,A im ) 即:从R中选择出若干属性列组成新的关系。
6.选择
设 R={(a1,a2,…,an)}是一个n元关系,S是关于(a1, a2,…,an)的一个条件,R中所有满足S条件的元组组成的 子关系S(R),称为R的一个选择。
表2-1 关系模型示例
部门编号 部门名称 员工编号 员工姓名 性别 住址
D001 D001
总经理办 E001 总经理办 E002
钱达理
男
东风路78号
东方牧
男
五一北路25号
D002
D003 D004
31.10.2020
市场部 销售部 仓储部
E003 E004 E005
郭文斌
男
公司集体宿舍
肖海燕
女
公司集体宿舍
31.10.2020
12 12
31.10.2020
55
2.1 关系数据库概述
关系中能够作为关键字的属性或属性的组合可能不是唯 一的。
这些属性或属性的组合成为候选关键字。在候选关键字 中选定一个作为关键字则称之为主关键字。
5.外部关键字 如果关系中某个属性或属性组合并非关键字,但却是另 一个关系的主关键字,则称此属性或属性组合为本关系的外 部关键字或外键(Foreign Key)。在关系数据库中,用外部关 键字表示两个表间的联系。
5.投影
设 R=R(A1,A2,…,An)是一个n元关系,{i1,i2,…,
im}是{1,2,…,n}的一个子集,并且 i1<i2<…<im,定义: 称π(R)是R在上的一个(投R 影)。(A i1,A i2, ,A im ) 即:从R中选择出若干属性列组成新的关系。
6.选择
设 R={(a1,a2,…,an)}是一个n元关系,S是关于(a1, a2,…,an)的一个条件,R中所有满足S条件的元组组成的 子关系S(R),称为R的一个选择。
表2-1 关系模型示例
部门编号 部门名称 员工编号 员工姓名 性别 住址
D001 D001
总经理办 E001 总经理办 E002
钱达理
男
东风路78号
东方牧
男
五一北路25号
D002
D003 D004
31.10.2020
市场部 销售部 仓储部
E003 E004 E005
郭文斌
男
公司集体宿舍
肖海燕
女
公司集体宿舍
31.10.2020
12 12
《数据库原理及应用》课件第2章
第2章 关系Biblioteka 据库若Di (i = 1,2,…,n)为有限集,其基数为mi (i = 1, 2,…,n),则D1 × D2 × … × Dn的基数为
第2章 关系数据库
【例2.1】设有D1 = {A,2,3,…,J,Q,K}, D2 = {黑桃,红桃,梅花,方片},则D1,D2的笛卡尔积为 D1 × D2 {(A,黑桃),(A,红桃),(A,梅花),(A,方片), (2,黑桃),(2,红桃),(2,梅花),(2,方片), … … …… (K,黑桃),(K,红桃),(K,梅花),(K,方片),}; 基数为13 × 4 = 52。
第2章 关系数据库
3. 介于关系代数和关系演算之间的语言SQL(Standard Query Language)
SQL不仅具有丰富的查询功能,而且具有数据定义和数 据控制功能,是集数据查询、数据定义(DDL)、数据操纵 (DML)和数据控制(DCL)于一体的关系数据语言。它充分体 现了关系数据语言的特点和优点,是关系数据库的标准语言。
— 了解关系数据模型的组成部分。 — 理解关系、关系模型的概念并掌握关系的完整性约 束。 — 熟练掌握关系代数的各种运算。
第2章 关系数据库
2.1 关系数据库概述
关系数据库用数学方法来处理数据库中的数据。最早将 这类方法用于数据处理的是1962年CODASYL发表的“信息 代数”,之后有1968年David Child的集合论数据结构,系统 而严格地提出关系模型的是IBM公司的E.F.Codd,1970年6 月他在《Communication of ACM》上发表了题为“A Relational Mode of Data for Large Shared Data Banks”(用于大 型共享数据库的关系数据模型)一文。
《数据库原理及应用》教学课件 第二章关系数据库基础
01
列是同质的,即每一列中的分量必须来自同一个域且必须是同 一类型的数据。
02
不同的属性可来自同一个域,但不同的属性有不同的名字。
03
列的顺序可以任意交换,但交换时应连同属性名一起交换,否则 将得到不同的关系。
13
2.1 关系模型
04 05 06
2.1.3 关系的性质
元组的顺序可任意交换。在关系数据库中,可以按照各种排序 要求对元组的次序重新排列。
关系中不允许出现相同的元组。关系中的一个元组表示现实世界 中的一个实体或一个实体间的联系,如果元组重复则表示实体或 实体间的联系重复,这样不仅会造成数据库中数据的冗余,也可 能造成数据查询与统计的结果出现错误。
关系中的每一个分量必须是不可再分的数据项,即所有属性值都 是一个单独的值,而不是值的集合。
例如,在没有重名学生的情况下,学生关系中的属性“学号”与“姓名” 都是学生关系的候选码。如果选定属性“学号”作为数据操作的依据,则属 性“学号”为主码;如果选定属性“姓名”作为数据操作的依据,则属性 “姓名”为主码。
22
2.2 关系模型的完整性约束
2.2.1 关系的码
03 主属性与非主属性
包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性。 例如,在没有重名学生的情况下,学生关系的属性“学号”与“姓名”都是学生关系的候选码, 则它们都是学生关系的主属性。而属性“性别”与“系别”不包含在任一候选码中,则它们都是学 生关系的非主属性。 在最简单的情况下,关系的候选码只包含一个属性;在最极端的情况下,关系的候选码是所有 属性的组合,这时称为全码。 例如,设有关系演出(演奏者编号,乐器编号,演播室编号),其中的3个属性分别为演奏者 关系、乐器关系及演播室关系的主码,它们共同唯一标识了一个演出,则演出关系的主码为它们的 组合,即为全码。
数据库技术与应用第2章-关系数据库PPT课件
查询优化技术
索引优化
合理使用索引可以加快查询速度,减 少全表扫描。
查询语句优化
通过优化查询语句,如使用连接代替 子查询、减少使用SELECT * 等,可 以提高查询效率。
数据库分区
将大表分成小表,提高查询和管理效 率。
数据库集群和分布式部署
通过集群和分布式部署,提高数据库 整体性能和可用性。
查询优化策略
06 关系数据库的并发控制
并发控制的概念
并发控制
在关系数据库中,并发控制用于 协调多个事务之间的操作,确保
数据的完整性和一致性。
事务
并发控制的基本单位,一系列操作 在执行过程中不被其他事务干扰, 且在执行完毕后数据状态保持一致。
冲突
当多个事务同时对同一数据进行读 写或写操作时,可能导致数据不一 致的状态。
02 关系数据库系统
关系模型
01
关系模型的基本概念
关系模型是数据库系统的核心,它使用表格形式的数据结构来表示和存
储数据。每个表格由行和列组成,每一列都有一个特定的数据类型。
02
关系的完整性
关系模型中的数据完整性是通过约束实现的,包括实体完整性、引用完
整性和域完整性。这些完整性约束确保了数据的准确性和可靠性。
策略制定
根据业务需求和数据量,制定 合适的备份策略,如每日、每
周、每月备份等。
数据恢复技术
物理恢复
通过数据库的物理文件进行恢 复,适用于数据库损坏严重的
情况。
逻辑恢复
使用数据库的逻辑工具和命令 进行恢复,适用于数据文件损 坏不严重的情况。
点恢复
恢复到特定时间点的数据状态 ,需要保留完整的备份和日志 信息。
03
2. SELECT:用于查询和检索表
数据库课件第二章关系数据库
物理设计
根据逻辑设计结果,选择合适的存储结构和数据 库管理系统,进行物理存储和索引的设计。
数据库设计的ER模型
实体
表示客观存在的事物或对象,具有可区分性。
关系
表示实体之间的联系,包括一对一、一对多和多 对多关系。
属性
表示实体的特征和属性值,用于描述实体的具体 信息。
05 关系数据库的标准语言 SQL
关系数据库
contents
目录
• 关系数据库概述 • 关系模型 • 关系数据库的标准语言SQL • 关系数据库的未来发展
01 关系数据库概述
关系数据库的定义
关系数据库是一种基于关系模型的数 据库管理系统,它使用结构化查询语 言(SQL)来管理和操作数据。
THANKS FOR WATCHING
感谢您的观看
面向对象数据库系统
面向对象数据库系统是一种基于面向对象程序设计思想的数据库系统,它 支持复杂的数据类型和对象,能够更好地支持应用程序的开发。
面向对象数据库系统具有更好的可扩展性和灵活性,能够更好地支持复杂 的数据结构和业务逻辑,满足各种不同类型的应用需求。
随着软件技术的不断发展,面向对象数据库系统将得到更广泛的应用,成 为未来数据库发展的重要方向之一。
事务处理
关系数据库支持事务处理,能够保证 数据的完整性和一致性。
并发控制
关系数据库采用并发控制机制,支持 多个用户同时访问和操作数据。
关系数据库的体系结构
表格
二维表格,由行和列组成,每 一行代表一条记录,每一列代 表一个字段。
索引
用于快速检索数据的数据结构, 通过索引可以加快查询速度。
数据库
存储数据的集合,由多个表格 组成。
数据查询语言(DQL)用于从数据库中检索数据。
数据库系统概论第2章关系数据库精品PPT课件
11
p46
2.2.2关系模式 关系模式简记为: R(A1,A2,…,An) 形式化表示为:五元组 R( U, D, dom,F)
关系名 属性集合 域集合 属性向域的 属性间数据的 映象集合 依赖关系集合
例子:选修关系 可简记为:SC(Sno,Cno,G)
形式化表示为:SC ( U, D, dom,F)
10
对关系定义的一些限定和扩充: (1)无限关系在数据库系统中是无意义的。 (2)关系元组(d1,d2,…,di,dj,…,dn)= (d1,d2,…,dj,di,…,dn) 关系具有的六条性质: (1)列是同质的。 (2)不同列可出自同一个域。 (3)列的次序可任意交换。 (4)任意两个元组不能完全相同。 (5)行的次序可任意交换。 (6)分量必须取原子值,即每一个分量都必须是不可分的数据项。
关系SAP(supervisor, speciality, postgraduate)可包含三个 元组:
supervisor speciality ppoossttggrraadduuaattee
张清政
信息
李勇
张清政
信息
刘晨
刘逸
信息
王敏
7
候选码:若关系中的某一属性组能唯一地标识一个元组, 则称为该属性组为候选码。
该笛卡尔积的基数为:2 ×2 ×3=12
笛卡积
3列
二维表
P49
12行
该表的数据有 现实意义吗?
5
3.关系 定义: D1×D2 ×… ×Dn的子集称为在域D1,D2,…,Dn上
的关系,表示为 R(D1,D2,…,Dn)
关系的名字 属性 关系的目或度
关系 属性
元组
二维表 表的列 表的行
p46
2.2.2关系模式 关系模式简记为: R(A1,A2,…,An) 形式化表示为:五元组 R( U, D, dom,F)
关系名 属性集合 域集合 属性向域的 属性间数据的 映象集合 依赖关系集合
例子:选修关系 可简记为:SC(Sno,Cno,G)
形式化表示为:SC ( U, D, dom,F)
10
对关系定义的一些限定和扩充: (1)无限关系在数据库系统中是无意义的。 (2)关系元组(d1,d2,…,di,dj,…,dn)= (d1,d2,…,dj,di,…,dn) 关系具有的六条性质: (1)列是同质的。 (2)不同列可出自同一个域。 (3)列的次序可任意交换。 (4)任意两个元组不能完全相同。 (5)行的次序可任意交换。 (6)分量必须取原子值,即每一个分量都必须是不可分的数据项。
关系SAP(supervisor, speciality, postgraduate)可包含三个 元组:
supervisor speciality ppoossttggrraadduuaattee
张清政
信息
李勇
张清政
信息
刘晨
刘逸
信息
王敏
7
候选码:若关系中的某一属性组能唯一地标识一个元组, 则称为该属性组为候选码。
该笛卡尔积的基数为:2 ×2 ×3=12
笛卡积
3列
二维表
P49
12行
该表的数据有 现实意义吗?
5
3.关系 定义: D1×D2 ×… ×Dn的子集称为在域D1,D2,…,Dn上
的关系,表示为 R(D1,D2,…,Dn)
关系的名字 属性 关系的目或度
关系 属性
元组
二维表 表的列 表的行
数据库 第二章 关系数据库(1)PPT课件
D1×D2 × … ×Dn={(d1,d2, … ,dn)| di∈D
i,i=1,2, …,n}
其中每一个元素(d1,d2, … ,dn)叫做一个n元组或简称 元组,元素中的每一个值di叫做一个分量。
10 10
• 例:关系account的三个属性branchname,account-name,balance对应三个域
D1=(CCB,BOC) D2=(A-101,A-102) D3=(500,400) 则笛卡儿积为: D1×D2 × D3= {(CCB, A-101, 500),(CCB, A-101,400), (CCB, A-102,500),(CCB, A-102,400), (BOC, A-101,500),(BOC, A-101, 400), (BOC, A-102,500),(BOC, A-102,400)}
11 11
还可表示为
D1 CCB CCB CCB CCB BOC BOC BOC BOC
D2
D3
A-101
500
A-101
400
A-102
500
A-102
400
A-101
500
A-101
400
A-102
500
A-102
400
12 12
• 3、关系
D1×D2 × … ×Dn的子集叫做在域D1,D2, …D n上的关系,表示为R(D1,D2 ,… ,Dn),n是 关系的目或度。 关系中的每个元素是关系中的元组。 – n=1时,称该关系为单元关系。 – n=2时,称该关系为二元关系。 • 关系中元组的个数与域的基数有关,例如上例中元组 的个数为2×2×2=8。
是虚表,不对应实际存储的数据。
16 16
i,i=1,2, …,n}
其中每一个元素(d1,d2, … ,dn)叫做一个n元组或简称 元组,元素中的每一个值di叫做一个分量。
10 10
• 例:关系account的三个属性branchname,account-name,balance对应三个域
D1=(CCB,BOC) D2=(A-101,A-102) D3=(500,400) 则笛卡儿积为: D1×D2 × D3= {(CCB, A-101, 500),(CCB, A-101,400), (CCB, A-102,500),(CCB, A-102,400), (BOC, A-101,500),(BOC, A-101, 400), (BOC, A-102,500),(BOC, A-102,400)}
11 11
还可表示为
D1 CCB CCB CCB CCB BOC BOC BOC BOC
D2
D3
A-101
500
A-101
400
A-102
500
A-102
400
A-101
500
A-101
400
A-102
500
A-102
400
12 12
• 3、关系
D1×D2 × … ×Dn的子集叫做在域D1,D2, …D n上的关系,表示为R(D1,D2 ,… ,Dn),n是 关系的目或度。 关系中的每个元素是关系中的元组。 – n=1时,称该关系为单元关系。 – n=2时,称该关系为二元关系。 • 关系中元组的个数与域的基数有关,例如上例中元组 的个数为2×2×2=8。
是虚表,不对应实际存储的数据。
16 16
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在关系模型中,对关系作了下列规范性限制:
(1) 关系中的每一个属性值是不可分解的。也就是说, 要求关系的每一个分量必须是一个不可分的数据项,即 表中不能含有表。这是关系数据库对关系的最基本的限 制。 (2) 每一个关系模式中属性的数据类型以及属性的个数 是固定的,并且每个属性必须命名,在同一个关系模式 中,属性名必须是不同的。 (3) 每一个关系仅有一种关系模式。 (4) 在关系中元组的顺序是无关紧要的,即没有行序。 (5) 在关系中属性的顺序可任意交换,交换是应连同属 性名一起交换,即没有列序。 (6) 在同一个关系中不允许出现完全相同的元组。
第2章 关系数据库
2.1 关系模型的基本概念 2.2 关系代数 2.3 关系规范化 2.4 习题
2.1 关系模型的基本概念
2.1.1 关系模型的基本术语 2.1.2 关系的定义和性质 2.1.3 关系模型的三要素
2.1.1 关系模型的基本术语
1. 关系 2. 属性及值域 3. 关系模式 4. 元组 5. 键 6. 主属性与非主属性 7. 外键、参照关系与依赖关系
2.2.2.2 投影(Projection)
图2.3 选择和投影关系运算举例
θ
2.2.2.3 连接(Join)
θ
2.2.2.3 连接(Join)
θ
2.2.2.3 连接(Join)
θ
2.2.2.4 除法(Division)
θ
2.2.2.4 除法(Division)
【例2.4】图2.5中(a)和(b)是两个关系R和S,(c)表示其 除法运算。
2.1.3.2 关系操作
关系操作能力的表达有两种不同的方法:
(1) 代数方法,也称为关系代数。它是以 集合操作为基础,应用对关系的专门运算来表达 查询的要求。
(2) 逻辑方法,也称为关系演算。它是以 谓词演算为基础,通过元组必须满足的谓词公式 来表达查询要求。
2.1.3.3 关系模型的三类完整性规则
或者等于S中某个元组的主键值。
3. 用户定义的完整性,约束条件是对数据在语义范畴 的描述,由具体应用环境来决定,这就是用户定义的完整性。
2.2 关系代数
2.2.1 传统的集合运算 2.2.2 专门的关系运算 2.2.3 关系代数表达式及其应用实例
2.2.1 传统的集合运算
1. 并(Union)
2.1.2 关系的定义和性质
关系定义: 关系是一个元数为K(K≥1)的元组的集合。即把
关系看成是一个集合,集合中的元素是元组, 每个元组的属性个数应相同。 尽管关系模型的数据结构表示为二维表,但不 是任意的一个二维表都能表示一个关系。严格 地说,关系是一种规范化了的二维表格。
2.1.2 关系的定义和性质
三类完整性规则:
1. 实体完整性,实体完整性规则是对关系中的主属性值
的约束,即,设属性A是关系R的主属性,则属性A不能取空值
。
2. 参照完整性,参照完整性规则是用于约束外键的,
即,若F是关系R中对应关系S的外键,则对于R中每个元组在F
上的值必须为以下值:
(1)
或者取空值(F的每个属性值均为空)。
(2)
c1
a1
b3
c2
(c) R∪S
A
B
C
a1
b1
c1
(d) R-S
A
B
C
a1
b2
c2
a2
b2
c1
(e) R∩S
R.A R.B R.C S.A S.B S.C
a1
b1
c1
a1
b2
c2
a1
b1
c1
a1
b3
c2
a1
b1c1a2ຫໍສະໝຸດ b2c1a1
b2
c2
a1
b2
c2
a1
b2
c2
a1
b3
c2
a1
b2
c2
a2
b2
c1
a2
b2
c1
a1
b2
c2
a2
b2
c1
a1
b3
c2
a2
b2
c1
a2
b2
c1
(f) R×S
图2.2 集合关系运算举例
2.2.2 专门的关系运算
专门的关系运算主要包括:
对单个关系进行水平分割(选择操作) 垂直分割(投影操作) 对多个关系的结合(连接操作)
2.2.2.1 选择(Selection)
2.2.2.2 投影(Projection)
A
B
C
D
5
7
2
8
5
7
7
4
5
1
5
7
3
6
4
1
9
8
2
8
9
8
7
4
(a) R
C
D
2
8
7
4
(b) S
A
B
5
7
9
8
(c) 除法运算
图2.5 除法运算举例
θ
2.2.3 关系代数表达式及其应用实例
【例2.5】设教学数据库中有三个关系:
学生关系(学号,姓名,性别,年龄,所在系,专业) 课程关系(课程号,课程名,学时数) 选课关系(学号,课程号,成绩) 要求用关系代数表达式表达每个查询语句。
2. 差(Difference)
2.2.1 传统的集合运算
3. 交(Intersection)
4. 广义笛卡尔积(Cartesian Product)
A
B
C
a1
b1
c1
a1
b2
c2
a2
b2
c1
(a) R
A
B
C
a1
b2
c2
a1
b3
c2
a2
b2
c1
(b) S
A
B
C
a1
b1
c1
a1
b2
c2
a2
b2
θ
2.2.3 关系代数表达式及其应用实例
(1) 检索学习课程号为C201的学生的学号与成绩: π学号,成绩(课程号='C201'(选课))
(2) 检索学习课程号为C142的学生的学号与姓名: π学号,姓名(课程号='C142'(学生选课))
(3) 检索学习课程名为应用数学的学生的学号与姓名。 π学号,姓名(课程名='应用数学'(学生选课课程))
2.1.3 关系模型的三要素
关系模型是由三部分组成:
数据结构 关系操作 关系的完整性规则
2.1.3.1 数据结构
关系模型中所选用的数据结构为集合论中的 关系,即用关系来描述实体集,同时也用关系来 描述实体之间的关系。
关系模型已经成为数据库系统普遍选用的模 型,其理由之一便是数据结构的简洁性和通俗性, 同时又有坚实的数学理论为基础。
第2章 关系数据库
(时间:2次课,4学时)
/webnew/
第2章 关系数据库
教学提示:本章主要介绍关系模型的基本概念,包括关 系的概念和性质;关系模型的体系结构;关系的完整性 规则;关系代数的基本操作;关系数据库的规范化理论。
教学目标:了解关系模型的基本概念;掌握关系模式、 关系子模式及存储模式的体系结构;掌握实体完整性、 参照完整性及用户自定义完整性的含义;掌握关系的交、 并、差、笛卡尔积、除及选择、投影、联接等关系操作; 掌握范式的概念及关系模式的规范化方法。
(1) 关系中的每一个属性值是不可分解的。也就是说, 要求关系的每一个分量必须是一个不可分的数据项,即 表中不能含有表。这是关系数据库对关系的最基本的限 制。 (2) 每一个关系模式中属性的数据类型以及属性的个数 是固定的,并且每个属性必须命名,在同一个关系模式 中,属性名必须是不同的。 (3) 每一个关系仅有一种关系模式。 (4) 在关系中元组的顺序是无关紧要的,即没有行序。 (5) 在关系中属性的顺序可任意交换,交换是应连同属 性名一起交换,即没有列序。 (6) 在同一个关系中不允许出现完全相同的元组。
第2章 关系数据库
2.1 关系模型的基本概念 2.2 关系代数 2.3 关系规范化 2.4 习题
2.1 关系模型的基本概念
2.1.1 关系模型的基本术语 2.1.2 关系的定义和性质 2.1.3 关系模型的三要素
2.1.1 关系模型的基本术语
1. 关系 2. 属性及值域 3. 关系模式 4. 元组 5. 键 6. 主属性与非主属性 7. 外键、参照关系与依赖关系
2.2.2.2 投影(Projection)
图2.3 选择和投影关系运算举例
θ
2.2.2.3 连接(Join)
θ
2.2.2.3 连接(Join)
θ
2.2.2.3 连接(Join)
θ
2.2.2.4 除法(Division)
θ
2.2.2.4 除法(Division)
【例2.4】图2.5中(a)和(b)是两个关系R和S,(c)表示其 除法运算。
2.1.3.2 关系操作
关系操作能力的表达有两种不同的方法:
(1) 代数方法,也称为关系代数。它是以 集合操作为基础,应用对关系的专门运算来表达 查询的要求。
(2) 逻辑方法,也称为关系演算。它是以 谓词演算为基础,通过元组必须满足的谓词公式 来表达查询要求。
2.1.3.3 关系模型的三类完整性规则
或者等于S中某个元组的主键值。
3. 用户定义的完整性,约束条件是对数据在语义范畴 的描述,由具体应用环境来决定,这就是用户定义的完整性。
2.2 关系代数
2.2.1 传统的集合运算 2.2.2 专门的关系运算 2.2.3 关系代数表达式及其应用实例
2.2.1 传统的集合运算
1. 并(Union)
2.1.2 关系的定义和性质
关系定义: 关系是一个元数为K(K≥1)的元组的集合。即把
关系看成是一个集合,集合中的元素是元组, 每个元组的属性个数应相同。 尽管关系模型的数据结构表示为二维表,但不 是任意的一个二维表都能表示一个关系。严格 地说,关系是一种规范化了的二维表格。
2.1.2 关系的定义和性质
三类完整性规则:
1. 实体完整性,实体完整性规则是对关系中的主属性值
的约束,即,设属性A是关系R的主属性,则属性A不能取空值
。
2. 参照完整性,参照完整性规则是用于约束外键的,
即,若F是关系R中对应关系S的外键,则对于R中每个元组在F
上的值必须为以下值:
(1)
或者取空值(F的每个属性值均为空)。
(2)
c1
a1
b3
c2
(c) R∪S
A
B
C
a1
b1
c1
(d) R-S
A
B
C
a1
b2
c2
a2
b2
c1
(e) R∩S
R.A R.B R.C S.A S.B S.C
a1
b1
c1
a1
b2
c2
a1
b1
c1
a1
b3
c2
a1
b1c1a2ຫໍສະໝຸດ b2c1a1
b2
c2
a1
b2
c2
a1
b2
c2
a1
b3
c2
a1
b2
c2
a2
b2
c1
a2
b2
c1
a1
b2
c2
a2
b2
c1
a1
b3
c2
a2
b2
c1
a2
b2
c1
(f) R×S
图2.2 集合关系运算举例
2.2.2 专门的关系运算
专门的关系运算主要包括:
对单个关系进行水平分割(选择操作) 垂直分割(投影操作) 对多个关系的结合(连接操作)
2.2.2.1 选择(Selection)
2.2.2.2 投影(Projection)
A
B
C
D
5
7
2
8
5
7
7
4
5
1
5
7
3
6
4
1
9
8
2
8
9
8
7
4
(a) R
C
D
2
8
7
4
(b) S
A
B
5
7
9
8
(c) 除法运算
图2.5 除法运算举例
θ
2.2.3 关系代数表达式及其应用实例
【例2.5】设教学数据库中有三个关系:
学生关系(学号,姓名,性别,年龄,所在系,专业) 课程关系(课程号,课程名,学时数) 选课关系(学号,课程号,成绩) 要求用关系代数表达式表达每个查询语句。
2. 差(Difference)
2.2.1 传统的集合运算
3. 交(Intersection)
4. 广义笛卡尔积(Cartesian Product)
A
B
C
a1
b1
c1
a1
b2
c2
a2
b2
c1
(a) R
A
B
C
a1
b2
c2
a1
b3
c2
a2
b2
c1
(b) S
A
B
C
a1
b1
c1
a1
b2
c2
a2
b2
θ
2.2.3 关系代数表达式及其应用实例
(1) 检索学习课程号为C201的学生的学号与成绩: π学号,成绩(课程号='C201'(选课))
(2) 检索学习课程号为C142的学生的学号与姓名: π学号,姓名(课程号='C142'(学生选课))
(3) 检索学习课程名为应用数学的学生的学号与姓名。 π学号,姓名(课程名='应用数学'(学生选课课程))
2.1.3 关系模型的三要素
关系模型是由三部分组成:
数据结构 关系操作 关系的完整性规则
2.1.3.1 数据结构
关系模型中所选用的数据结构为集合论中的 关系,即用关系来描述实体集,同时也用关系来 描述实体之间的关系。
关系模型已经成为数据库系统普遍选用的模 型,其理由之一便是数据结构的简洁性和通俗性, 同时又有坚实的数学理论为基础。
第2章 关系数据库
(时间:2次课,4学时)
/webnew/
第2章 关系数据库
教学提示:本章主要介绍关系模型的基本概念,包括关 系的概念和性质;关系模型的体系结构;关系的完整性 规则;关系代数的基本操作;关系数据库的规范化理论。
教学目标:了解关系模型的基本概念;掌握关系模式、 关系子模式及存储模式的体系结构;掌握实体完整性、 参照完整性及用户自定义完整性的含义;掌握关系的交、 并、差、笛卡尔积、除及选择、投影、联接等关系操作; 掌握范式的概念及关系模式的规范化方法。