关系代数表达式

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

An Introduction to Database System
休息一会儿。。。 休息一会儿。。。
追求
An Introduction to Database System
是否包含1,3 是否包含 2 ——是否包含
成绩 Grade 92 85 88 90
3 2 3
——是否包含 是否包含1,3 是否包含
80
(c)
An Introduction to Database System
首先建立一个临时关系K:
Cno 1 3
An Introduction to Database System
(c)
An Introduction to Database System
2. “出得去,回得来” 将人眼的移动过程翻译成关系代数表达式。(利 用对于学过的关系代数理论的理解) 人眼纵向扫描满足条件的元组——选择σ
人眼定位到某个元组后选择某些属性列的值— —投影π
An Introduction to Database System
An Introduction to Database System
查询选修了全部课程的学生号码和姓名。
πSno,Cno(SC)÷πCno(Course) πSno,Sname(Student)
An Introduction to Database System
练习
有一学校教学数据库,包括学生、课程、教师、学生成绩 4个关系。 学生关系S(SNO,SN,AGE,SEX),有属性:学号、姓名、年 龄、性别 课程关系C(CNO,CN,PCNO),包括属性:课程号、课程名、 先修课程号 教师关系T (ENO,EN,DEPT),包括属性:职工号、姓名、 系别 学生成绩关系SC(SNO,CNO,ENO,G),包括属性:学生号、 课程号、任课教师职工号、学生学习成绩 1.选修所有课程并且成绩为A的学生名 2.选修了王平老师讲授的所有课程的学生名 3.求不选修信息系老师开设的所有的课程的学生名
πSno,Cno(SC) 200215121象集 ,2,3} 象集{1, , 象集 200215122象集 ,3} 象集{2, 象集 K={1,3} , 于是: πSno,Cno(SC)÷K={200215121} ÷
Sno 200215121 200215121 200215121 200215122 200215122
An Introduction to Database System
(b)
SC
学号 Sno 200215121 200215121 200215121 200215122 200215122 课程号 Cno 1
是否包含1~7 是否包含 2 ——是否包含
成绩 Grade 92 85 88 90
3 2 3
An Introduction to Database System
(b)
SC
学号 Sno 200215121 200215121 200215121 200215122 200215122 课程号 Cno 1 2 3 2 3 成绩 Grade 92 85 88 90 80
(c)
An Introduction to Database System
An Introduction to Database System
Course
课程号 Cno 1 2 3 4 5 6 7 课程名 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言 语言 6 1 6 7 先行课 Cpno 5 学分 Ccredit 4 2 4 3 4 2 4
An Introduction to Database System
Course
课程号 Cno 1 2 3 4 5 6 7 课程名 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言 语言 6 1 6 7 先行课 Cpno 5 学分 Ccredit 4 2 4 3 4 2 4
专题 关系代数表达式书写
主讲人:刘永磊 主讲人:
An Introduction to Database System
一些例子
1.查询选修了2号课程的学生的学号。 πSno(σCno=‘2’(SC))
2.查询至少选修了一门其直接先行课为5号课程的的学生姓名 πSname (πSno (σCpno='5' (Course) SC) πSno,Sname (Student))
An Introduction to Database System
(b)
1
SC
学号 Sno 200215121 200215121 200215121 200215122 200215122 课程号 Cno 1 2 3 2 3 成绩 Grade 92 85 88 90 80
(c)
An Introduction to Database System
示例数据库
学生-课程数据库: 学生关系Student、课程关系Course和选修关系SC
Student
学号 Sno 200215121 200215122 200215123 200215125 姓名 Sname 李勇 刘晨 王敏 张立 性别 Ssex 男 女 女 男 (a) 年龄 Sage 20 19 18 19 所在系 Sdept CS IS MA IS
上述”拿着”一些属性值到另外一张表/同一张表 (自身连接)里去找具有相同值的项配对——自 然连接 只能外码可以配对
An Introduction to Database System
查询至少选修了一门其直接先行课为5号课程 的学生姓名
πSname (πSno (πCno(σCpno='5'(Course)) πSno,Cno(SC)) Sname (Student))
πLeabharlann Baiduno,
查询选修了全部课程的学生号码和姓名。
An Introduction to Database System
Course
课程号 Cno 1 2 3 4 5 6 7 课程名 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言 语言 6 1 6 7 先行课 Cpno 5 学分 Ccredit 4 2 4 3 4 2 4
200215121
Student
学号 Sno 200215121 200215122 200215123 200215125 姓名 Sname 李勇 刘晨 王敏 张立 性别 Ssex 男 女 女 男 (a) 年龄 Sage 20 19 18 19 所在系 Sdept CS IS MA IS
An Introduction to Database System
——是否包含 是否包含1~7 是否包含
80
(c)
An Introduction to Database System
200215121
Student
学号 Sno 200215121 200215122 200215123 200215125 姓名 Sname 李勇 刘晨 王敏 张立 性别 Ssex 男 女 女 男 (a) 年龄 Sage 20 19 18 19 所在系 Sdept CS IS MA IS
3.查询选修了全部课程的学生号码和姓名。 πSno,Cno(SC)÷πCno(Course) πSno,Sname(Student)
An Introduction to Database System
不识庐山真面目,只缘身在此山中。
自然语言
关系代数表达式
从系统外考虑
An Introduction to Database System
书写关系代数表达式的步骤
1.“超脱于世外” 把自己当做没学过关系代数的“白丁”,人工完 成题目给出的查询,记录人眼的移动过程。 查询选修了2号课程的学生的学号
An Introduction to Database System
SC
学号 Sno 200215121 200215121 200215121 200215122 200215122 课程号 Cno 1 2 3 2 3 成绩 Grade 92 85 88 90 80
查询选修了2号课程的学生的学号。 πSno(σCno=‘2’(SC))
查询至少选修1号课程和3号课程的学生号码
An Introduction to Database System
SC
学号 Sno 200215121 200215121 200215121 200215122 200215122 课程号 Cno 1
An Introduction to Database System
分析
学生 m
教师
n
p 课程
An Introduction to Database System
分析(续) 分析(
S(SNO,SN,AGE,SEX);C(CNO,CN,PCNO); T (ENO,EN,DEPT)
SC(SNO,CNO,ENO,G)
Cno 1 2 3 2 3
An Introduction to Database System
首先建立一个临时关系K:
Cno 1 3
An Introduction to Database System
具有上述类似的人眼移动过程——除法÷ ÷ 在整个过程中人眼未关注的列可以用投影π去除
查询至少选修了一门其直接先行课为5号课程的学 生姓名
相关文档
最新文档