数据库原理重点提示

上传人:壹****1 文档编号:565022439 上传时间:2022-08-31 格式:DOCX 页数:5 大小:25.06KB
返回 下载 相关 举报
数据库原理重点提示_第1页
第1页 / 共5页
数据库原理重点提示_第2页
第2页 / 共5页
数据库原理重点提示_第3页
第3页 / 共5页
数据库原理重点提示_第4页
第4页 / 共5页
数据库原理重点提示_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据库原理重点提示》由会员分享,可在线阅读,更多相关《数据库原理重点提示(5页珍藏版)》请在金锄头文库上搜索。

1、数据库原理重点提示之关系代数关系代数与关系数据库操作关系代数是关系数据库系统查询语言的理论基础。关系代数的9种操作:并、交、差、乘、选择、投影、联接、除、自然联接运算五个基本操作:并(U)差(-)笛卡尔积(X)投影( ) 选择(n)四个组合操作:交(门)联接(等值联接)自然联接(R凶S)除法(三)关系代数表达式:由关系代数运算经有限次复合而成的式子称为关系代数表达式。这种表达式的运算结果 仍然是一个关系。可以用关系代数表达式表示对数据库的查询和更新操作。关系代数(演算)要求掌握各种语句的应用,多做书中的例题可以帮助自己熟能生巧。他关系代数表达式举例用关系代数表示数据査询的典型例子例设教学数据库

2、中有3个关系:学生关系 S(SNO,SNAME,AGE,SEX)学习关系 SC(SNO,CNO,GRADE)课程关系 C(CNO,CNAME,TEACHER)下面用关系代数表达式表达每个查询语句。(1) 检索学习课程号为C2的学生学号与成绩。n SNO , GRADE (Q Z(2) 检索学习课程号为C2的学生学号与姓名n(S 凶 SC)SNO , SNAMECNO=C2由于这个查询涉及到两个关系S和SC,因此先对这两个关系进行自然连接,同一位学 生的有关的信息,然后再执行选择投影操作。此查询亦可等价地写成:n(S)凶(n (a(SC)SNO,SNAMESNOCNO=C2这个表达式中自然连接的

3、右分量为学了 C2课的学生学号的集合。这个表达式比前一 个表达式优化,执行起来要省时间,省空间。(3) 检索选修课程名为MATHS的学生学号与姓名。n(a(S 凶 SC 凶 C)SNO,SANMECNAME=MATHS(4) 检索选修课程号为C2或C4的学生学号。n (a , , (SC)SNOCN0=C2VCN0=C4(5) 检索至少选修课程号为C2或C4的学生学号。n (a(SCXSC)11=4A2=C2A5=C4这里(SC6C)表示关系SC自身相乘的乘积操作,其中数字1, 2, 4, 5都为它的结 果关系中的属性序号。比较这一题与上一题的差别。(6) 检索不学C2课的学生姓名与年龄。n(

4、S)n(a(SSC)SNAME,AGESNAME, AGECNO=C2这个表达式用了差运算,差运算的左分量为全体学生的姓名和年龄,右分量为学了 C2课的学生姓名与年龄。(7) 检索学习全部课程的学生姓名。编写这个查询语句的关系代数过程如下:(a) 学生选课情况可用nSNo,cNo(SC)表示;(b) 全部课程可用nCNO(C)表示;(c) 学了全部课程的学生学号可用除法操作表示。操作结果为学号SNO的集合,该集合中每个学生(对应SNO)与C中任一门课程号 CNO配在一起都在nCo, cno(SC)中出现(即SC中出现),所以结果中每个学生都学了全 部的课程(这是除法操作的含义):n (SC)*

5、n (C)SNO,CNOCNO(d)从SNO求学生姓名SNAME,可以用自然连结和投影操作组合而成:n (S 凶(n(SC)Fn (C)SNAMESNO,CNOCNO这就是最后得到的关系代数表达式。(8) 检索所学课程包含S3所学课程的学生学号。注意:学生S3可能学多门课程,所以要用到除法操作来表达此查询语句。学生选课情况可用操作$no,cNOC)表示;所学课程包含学生S3所学课程的学生学号,可以用除法操作求得:n (SC)m n (a(SC)SNO,CNOCNOSNO=S3(9) 将新课程元组(C1O,PHYSICS,YU)插入到关系C中(CU(C1O,PHYSICS,YU)(10) 将学号

6、S4选修课程号为C4的成绩改为85分。(SC- (S4,C4,?)U(S4,C4,85)修改操作用代数表示分两步实现:先删去原元组,再插入新元组。题目中未给出原先的 成绩,所以用?代替,检索时可忽略。关系代数表达式的优化:目的:为了系统在执行时既省时间又能提高效率。基本策略:先做选择,运用投影去除多余属性等等。优化算法:语法树(详见教材。尽量提前做选择操作;在每个操作后,应做个投影操作,去 掉不用的属性值)对于一些简单的代数表达式,直接用“尽量提前做选择操作;在每个操作后,应做个投影 操作,去掉不用的属性值”直接写出即可。比如,设有三个关系:S(S#,SNAME,AGE,SEX)SC(S#,

7、C#,GRADE)C(C#,CNAME,TEACHER)关系代数表达式为:n (o(S 凶 SC)S#,SNAMEGRADE60优化为:n(n(S)凶n (a(SC)S#,SNAME S#,SNAMES# GRADE60事语法树举例优化举例设有三个关系:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)关系代数表达式为:n(o(SESCEC)CNAME,TEACHERSEX=女优化为:n(C凶n (n(SC)凶n (o(S)CNAME,TEACHERC# S#,C#S#SEX=女基本思路:尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值。以下为优化过程的语法树7T醜船冊止皿氐彈ICC# GMAjfE, TIACHER*瓷、CH=T.CtfA3C. Sf*=S. 5B口隅 TETHERSC

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号