数据库之关系运算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Page 10
关系数据结构
思考
指出下面关系的候选键和主键
stuNo stuIdentity(身份证号码) stuName stuSex stuAge
S001
S002 S003 S004 S005
342245198906054522
165834199012054058 455245198808046027 246248199006164311 172565198911055021
班级编号 C001 课程名称 微观经济学 开课时间 2009-3-1 教室编号 CR001 教室编号 CR001 教学楼名称 科教楼 房间编号 101 座位数量 60
C002
C003 C004 C004 C005
大学英语
建筑艺术 计算机网络 操作系统 数据库原理
2009-3-1
CR001
CR002
科教楼 科教楼
差运算
classNo C001 C002 C003 C004 courseName 微观经济学 大学英语 建筑艺术 计算机网络 startTime 2009-3-1 2009-3-1 2009-3-16 2009-3-25 credit 2 4 3 2 classNo courseName startTime credit
Page 18
关系完整性
实体完整性(Entity Integrity)
实体完整性又称为主键约束,实体完整性规则要求关系中的主键
不能取空值。
stuNo 不能为空 S001 S003 S003 不能重复 S005 stuName 白玉芬 唐嘉芝 刘健鹏 田 洋 申一雅 stuSex 女 女 男 男 男 stuAge 19 18 21 19 18
102 103
201
45 45
120
2009-3-1
CR002 CR004
CR004
科教楼
2009-3-16
CR005
Page 22
关系运算
关系代数
关系代数是以关系为运算对象的一组高级运算,它以集合代 数运算方法对关系进行数据操作
关系是元组(记录行)的集合
关系运算由E.F.Codd提出
科教楼
科教楼 科教楼 科教楼 科教楼
103
201 301 302 303
45
120 160 40 80
CR008
CR009 CR010
电教楼
电教楼 电教楼
101
102 103
60
100 80
Page 17
关系完整性
关系完整性
关系的完整性又称为完整性约束(Integrity Constraint, IC),是指 关系模型中数据的正确性、一致性和有效性。
∩
classNo C001 C002 C005 C006 courseName 微观经济学 大学英语 操作系统 数据库原理 startTime 2009-3-1 2009-3-1 2009-4-6 2009-4-8 credit 2 4 2 4
C001
C002
微观经济学
大学英语
2009-3-1
2009-3-1
白玉芬
唐嘉芝 刘健鹏 田 洋 申一雅
女
女 男 男 男
19
18 21 19 18
Page 11
关系数据结构
键(Key)
备用键(Alternate Key)
除了主键外的其它候选键 一个关系可以没有备用键,也可以有一个或多个备用键
外键(Foreign Key)
如果关系R1中的一个属性(或属性组),其值均取自于另一个关系 R2的主键值,则称该属性(或属性组)为R1的外键
2
4
Page 27
传统的集合运算
差运算
前 提:
关系R和S具有相同的模式结构
R和S的差(Difference)是指由属于R但不属于S的元组构成的集合, 记为:R-S R-S仍是一个关系,该关系的结构与R或S的结构相同 R-S包括从R中去掉R∩S后所剩余的元组
Page 28
传统的集合运算
S001
S002 S003 S004 S005
白玉芬
唐嘉芝 刘健鹏 田 洋 申一雅
女
女 男 男 男
19
18 21 19 18
C001
C002 C001 C003
C003在依赖主 键中不存在
Page 20
关系完整性
用户自定义完整性(User-Defined Integrity)
用户自定义完整性又称为域约束,通常定义除主键与外键之外的 其他属性取值的约束。
思考
已知教室关系表(ClassRoom)如下,确定其元数、基数、候选键、 主属性和非主属性。
crNo CR001 CR002 crBuildingName 科教楼 科教楼 crRoomNo 101 102 crNumberOfSeat 60 45
CR003
CR004 CR005 CR006 CRቤተ መጻሕፍቲ ባይዱ07
S003
S004 S005
刘健鹏
田 洋 申一雅
男
男 男
21
19 18
Page 3
关系数据结构
属性(Attribute)
关系中的列称为属性
stuNo S001 S002 S003 S004 S005
stuName 白玉芬 唐嘉芝 刘健鹏 田 洋 申一雅
stuSex 女 女 男 男 男
stuAge 19 18 21 19 18
stuNo S001 S002 S003 S004 S005 stuName 白玉芬 唐嘉芝 刘健鹏 田 洋 申一雅 stuSex 女 女 男 他 无 stuAge 19 18 21 19 -20 只能为正整 数
只能为'男'或' 女'
Page 21
关系完整性
思考
已知班级表和教室表如下,班级表的主键为班级编号,教室表的主 键为教室编号,判断它们是否违反实体完整性约束和参照完整性约 束,说明理由。
-
classNo C001 C002 C005 C006 courseName 微观经济学 大学英语 操作系统 数据库原理 startTime 2009-3-1 2009-3-1 2009-4-6 2009-4-8 credit 2 4 2 4
C003
C004
建筑艺术
计算机网络
2009-3-16
stuName 白玉芬 唐嘉芝 刘健鹏 田 洋 申一雅
stuSex 女 女 男 男 男
stuAge 19 18 21 19 18
基数=5
Page 8
关系数据结构
域(Domain)
属性的取值范围和取值类型称为域
性别={男,女} 学生年龄={10,11,12,13,14,15,……,28,29,30}
王金宝
M002
M003
英语
阿拉伯语
陈龙
何炅新
majorNo M001 M002 M003 M004 M005 M006
majorName 日语 英语 阿拉伯语 工商管理 金融 国际贸易
majorLeader 王金宝 陈龙 何炅新 任德华 张学斌 李东生
∪
majorNo M004 M005 M006 M007 majorName 工商管理 金融 国际贸易 经济学 majorLeader 任德华 张学斌 李东生 钱海波
Page 19
关系完整性
参照完整性(Reference Integrity)
参照完整性约束又称为外键约束
外键值可以为空 外键值若不为空,则必取自于它所依赖的主键值
stuNo
stuName
stuSex
stuAge
classsNo
classNo C001 C002
classCourseName 微观经济学 大学英语
Page 4
关系数据结构
元数(Arity)
关系中属性的个数称为元数(列数)
元数=4
stuNo S001 S002 S003 S004 S005
stuName 白玉芬 唐嘉芝 刘健鹏 田 洋 申一雅
stuSex 女 女 男 男 男
stuAge 19 18 21 19 18
Page 5
关系数据结构
国际贸易
李东生
D002
depNo D001
depName 外语系 工商系 计算机系
depDeanName 李强生 赵德胜 王海洋
主键
D002 D003
Page 13
关系数据结构
关系模式(Relational Schema)
关系模式(表头)是对关系的描述,表示一个关系的具体结构, 又称关系结构(表结构)
classNo C001 C002 C003 courseName 微观经济学 大学英语 建筑艺术 startTime 2009-3-1 2009-3-1 2009-3-16 credit 2 4 3
C004
计算机网络
2009-3-25
2
classNo courseName startTime credit
元组(Tuple)
关系中每一行称作一个元组,也称为记录
stuNo
S001 S002 S003 S004 S005
stuName
白玉芬 唐嘉芝 刘健鹏 田 洋 申一雅
stuSex
女 女 男 男 男
stuAge
19 18 21 19 18
Page 6
关系数据结构
分量(Component)
元组中每一个属性值称为元组的一个分量(单元格),一个元组 是由n个元组分量组成
第3章 关系运算
本章知识点
关系数据结构
关系完整性
并运算、交运算、差运算 笛卡尔积运算 选择运算、投影运算、连接运算 等值连接、自然连接 除运算
Page 2
关系数据结构
关系(Relation)就是二维表
每个单元格中只有一个值
stuNo S001 S002 stuName 白玉芬 唐嘉芝 stuSex 女 女 stuAge 19 18
关系模式表示方式为:
关系名(属性1,属性2,属性3……)
例如:学生(学号,姓名,性别,年龄)
Page 14
关系数据结构
主属性和非主属性
包含在任何候选键中的属性都称为该关系的主属性
除主属性外其他属性都是非主属性,或称为非主属性 例如:
学生(学号,姓名,性别,年龄)
主属性
M007
经济学
钱海波
Page 25
传统的集合运算
交运算
前 提:
关系R和S具有相同的模式结构
R 和 S 的交 (Intersect) 是由 R 和 S 的共有元组构成的集合,记为: R∩S
R∩S仍是一个关系,该关系的结构与R或S的结构相同。
Page 26
传统的集合运算
交运算
非主属性
Page 15
关系数据结构
n元关系
如果关系表有n列(即n个属性),该关系是n元关系
stuNo S001
stuName 白玉芬 唐嘉芝 刘健鹏
stuSex 女 女 男
stuAge 19 18 21
四元关系
S002 S003
S004
S005
田 洋
申一雅
男
男
19
18
Page 16
关系数据结构
Page 9
关系数据结构
键(Key)
键又称为码,由一个或多个属性组成
候选键(Candidate Key)
在关系中能唯一标识元组的最小属性(或属性组)
一个关系可能有多个候选键
主键(Primary Key)
从候选键中任选一个来惟一标识元组 一个关系只能有一个主键 用户可以根据需要在候选键中选择合适的作为主键
Page 12
关系数据结构
外键
majorNo M001 M002 M003 M004 M005 majorName 日语 英语 阿拉伯语 工商管理 金融 majorLeader 王金宝 陈龙 何炅新 任德华 张学斌 majorDepNo D001 D001 D001 D002 D002
外键
M006
stuNo S001 stuName 白玉芬 stuSex 女 stuAge 19
S002
S003 S004 S005
唐嘉芝
刘健鹏 田 洋 申一雅
女
男 男 男
18
21 19 18
Page 7
关系数据结构
基数(Cordinality)
关系中元组的个数称为基数(行数)
stuNo S001 S002 S003 S004 S005
关系代数的基本运算有两组:
一组是传统的集合运算,包括并、交、差和笛卡尔积 一组是专门的关系运算,包括选择、投影、连接和除法
Page 23
传统的集合运算
并运算
前 提:
关系R和S具有相同的模式结构
两个关系具有相同的模式结构:
具有相同的元数 对应属性的域相同 属性名可以不同
R和S的并是指由关系R和S的所有元组构成的集合,记为:R∪S, 并运算又称为联合(Union)运算
Page 24
传统的集合运算
并运算
R∪S仍是一个关系,其结构与R或S的结构相同
对于R和S中共有的元组,在R∪S中只能出现一个
majorNo
M001
majorName
日语
majorLeader