关系代数例题讲解综述

上传人:我** 文档编号:117856493 上传时间:2019-12-11 格式:PPT 页数:44 大小:209KB
返回 下载 相关 举报
关系代数例题讲解综述_第1页
第1页 / 共44页
关系代数例题讲解综述_第2页
第2页 / 共44页
关系代数例题讲解综述_第3页
第3页 / 共44页
关系代数例题讲解综述_第4页
第4页 / 共44页
关系代数例题讲解综述_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《关系代数例题讲解综述》由会员分享,可在线阅读,更多相关《关系代数例题讲解综述(44页珍藏版)》请在金锄头文库上搜索。

1、关系代数习题课 现有如下关系: 职工(职工号,姓名,性别,职务,家庭地 址,部门编号) 部门(部门编号,部门名称,地址,电话) 保健(保健卡编号,职工号,检查身体日期 ,健康状况) 1. 用关系代数表达式写出,查找所有女科长的 姓名和家庭地址; 2. 用关系代数表达式写出,查找“办公室”的 科长姓名和家庭地址; 3. 用关系代数表达式写出,查找“财务科”中 健康状况为“良好”的职工姓名和家庭地址 。 1. 用关系代数表达式写出,查找所有女科长 的姓名和家庭地址; 姓名,家庭地址( 职务=科长 性别= 女(职工) 2. 用关系代数表达式写出,查找“办公室”的 科长姓名和家庭地址; 姓名,家庭地址

2、( 部门名称=办公室( 部门) 职务=科长 (职工) 3. 用关系代数表达式写出,查找“财务科”中 健康状况为“良好”的职工姓名和家庭地址 。 姓名,家庭地址( 职工 健康状况=良 好(保健) 部门名称=财务(部门) S(SNO,SNAME,AGE,SEX,SDEPT) SC(SNO,CNO,GRADE) C(CNO,CNAME,CDEPT,TNAME) 有如下关系表 lLIU老师所教授课程的课程号,课程名 2. 检索年龄大于23岁的男学生的学号和姓名 3. 检索学号为S3学生所学课程的课程名与任 课老师名 4. 检索至少选修LIU老师所教授课程中一门 课的女学生姓名 lLIU老师所教授课程的

3、课程号,课程名 CNO,CNAME(TNAME=LIU (C) 2. 检索年龄大于23岁的男学生的学号和姓名 SNO,SNAME( AGE23 SEX=M(S) 3. 检索学号为S3学生所学课程的课程名与任 课老师名 CNAME,TNAME( SNO=S3(SC)(C)) 4. 检索至少选修LIU老师所教授课程中一门 课的女学生姓名 SNAME(SEX=F(S)SCTNAME=LIU(C) ) l检索wang同学不学课程的课程号 6. 检索至少选修两门课的学生学号 7. 检索全部学生都选修的课程的课程号和课 程名 l检索选修课程包含LIU老师所教授课程的学 生学号 l检索wang同学不学课程的

4、课程号 CNO(C)-CNO(SNAME=WANG(S)SC) 6. 检索至少选修两门课的学生学号 1(1=4 2!=5(SC SC) 7. 检索全部学生都选修的课程的课程号和课 程名 CNO,CNAME,SNO(C SC) SNO(S) l检索选修课程包含LIU老师所教授课程的学 生学号 CNO,SNO(SC) CNO(TNAME=LIU(C) 设有一个SPJ数据库,包括S,P,J,SPJ四个关 系模式 S(SNO,SNAME,STATUS,CITY)供应商编号、名 称、状态、所在城市 P(PNO,PNAME,COLOR,WEIGHT)零件编号、名称、 颜色、重量 J(JNO,JNAME,C

5、ITY)工程项目编号、名称、所在 城市 SPJ(SNO,PNO,JNO,QTY)供应商编号、零件编号 、项目编号、供应数量(某供应商供应某种零 件给某工程项目的数量) 要求用关系代数 供应工程J1零件的供应商号码SNO 供应工程J1零件P1的供应商号码SNO 供应工程J1零件为红色的供应商号码SNO 没有使用天津供应商生产的红色零件的工 程号JNO 至少用了供应商S1所供应的全部零件的工 程号 关系代数 lSNO(JNO=J1(SPJ) lSNO(JNO=J1 PNO=P1(SPJ) lSNO(JNO=J1 (SPJ) (Color=红 (P) lJNO(J)- JNO(CITY=天津 (S)

6、 SPJ (Color=红 (P) lJNO,PNO(SPJ) PNO(SNO=S1(SPJ) 设数据库中有两个基本表: 职工表 EMP(E#,ENAME,AGE,SALARY,D#) ,其属性分别表示职工工号、姓名、年龄、工 资和工作部门的编号。 部门表 DEPT(D#,DNAME,MGR#),其属性分 别表示部门编号、部门名称和部门经理的职工 工号。 试指出每个表的主键和外键。在上面两个基本 表中,写出下列查询的关系代数表达式: 检索每个部门经理的工资,要求显示其部门编 号、部门名称、经理工号、经理姓名和经理工 资 设数据库中有两个基本表: 职工表 EMP(E#,ENAME,AGE,SAL

7、ARY,D#) ,其属性分别表示职工工号、姓名、年龄、工 资和工作部门的编号。 部门表 DEPT(D#,DNAME,MGR#),其属性分 别表示部门编号、部门名称和部门经理的职工 工号。 试指出每个表的主键和外键。在上面两个基本 表中,写出下列查询的关系代数表达式: 检索每个部门经理的工资,要求显示其部门编 号、部门名称、经理工号、经理姓名和经理工 资 D#,DNAME,MGR#,ENAME,SALARY( E#=MGR#(部门职工) 设某商业集团为仓库存储商品设计了三个基 本表: 仓库: STORE(S#,SNAME,SADDR),其属 性是仓库编号、仓库名称和地址。 存储: SG(S#,G

8、#,QUANTITY),其属性 是仓库编号、商品编号和数量。 商品: GOODS(G#,GNAME,PRICE), 其属性是商品编号、商品名称和单价 现检索仓库名称为“莘庄”的仓库里存储的 商品的编号和名称。试写出相应的关系代数 表达式 设某商业集团为仓库存储商品设计了三个基 本表: 仓库: STORE(S#,SNAME,SADDR),其属 性是仓库编号、仓库名称和地址。 存储: SG(S#,G#,QUANTITY),其属性 是仓库编号、商品编号和数量。 商品: GOODS(G#,GNAME,PRICE), 其属性是商品编号、商品名称和单价 现检索仓库名称为“莘庄”的仓库里存储的 商品的编号和

9、名称。试写出相应的关系代数 表达式 G#,GNAME(GoodsSG SNAME=莘庄( Store) 已知:一组关系模式: 部门(部门号,部门名称,电话号码) 职工(职工号,姓名,性别,职务,部门号) 工程(项目号,项目名称,经费预算) 施工(职工号,项目号,工时) 工资级别(职务,小时工资率) 根据这组关系模式回答: 1用关系代数表达式写出职务为“工程师” 的姓名和部门名称。 2用关系代数表达式写出姓名为“潘小光”的 职工所在的部门名称和电话号码。 1用关系代数表达式写出职务为“工程师 ”的姓名和部门名称。 姓名,部门名称(部门 职务=工程师 (职工) 2.用关系代数表达式写出姓名为“潘小

10、光” 的职工所在的部门名称和电话号码。 部门名称,电话(部门 姓名=潘小光 (职工) 例设教学数据库中有3个关系: 学生关系 S(SNO,SNAME,AGE,SEX) 学习关系 SC(SNO,CNO,GRADE) 课程关系 C(CNO,CNAME,TEACHER) 下面用关系代数表达式表达每个查询 语句。 (1) 检索学习课程号为C2的学生学号与成 绩。 (1) 检索学习课程号为C2的学生学号与成 绩。 SNO, GRADE ( CNO=C2 (SC) (2) 检索学习课程号为C2的学生学号与姓名 (2) 检索学习课程号为C2的学生学号与姓名 SNO,SNAME ( CNO=C2 (S SC)

11、 由于这个查询涉及到两个关系S和SC,因此先对这两 个关系进行自然连接,同一位学生的有关的信息,然后 再执行选择投影操作。 此查询亦可等价地写成: SNO,SNAME(S) ( SNO ( CNO=C2 (SC)) 这个表达式中自然连接的右分量为学了C2课的学生 学号的集合。这个表达式比前一个表达式优化,执行 起来要省时间,省空间。 (3)检索选修课程名为MATHS的学生学 号与姓名。 (3)检索选修课程名为MATHS的学生学 号与姓名。 SNO,SANME ( CNAME=MATHS (S SC C) (4)检索选修课程号为C2或C4的学生学 号。 (4)检索选修课程号为C2或C4的学生学

12、号。 SNO ( CNO=C2CNO=C4 (SC) (5) 检索至少选修课程号为C2和C4的 学生学号。 (5) 检索至少选修课程号为C2和C4的 学生学号。 1( 1=42=C25=C4(SCSC)) 这里(SCSC)表示关系SC自身相 乘的乘积操作,其中数字1,2,4,5都为 它的结果关系中的属性序号。 比较这一题与上一题的差别。 (6) 检索不学C2课的学生姓名与年龄。 (6) 检索不学C2课的学生姓名与年龄。 SNAME,AGE(S) SNAME,AGE ( CNO=C2(S SC)) 这个表达式用了差运算,差运算的左分 量为全体学生的姓名和年龄,右分量为 学了C2课的学生姓名与年龄

13、。 (7)检索学习全部课程的学生姓名。 (7)检索学习全部课程的学生姓名。 编写这个查询语句的关系代数过程如下 : (a) 学生选课情况可用 SNO,CNO (SC)表示 ; (b) 全部课程可用 CNO (C)表示; (c) 学了全部课程的学生学号可用除法操作表示 。 操作结果为学号SNO的集合,该集合中每 个学生(对应SNO)与C中任一门课程号CNO配 在一起都在 SCO,CNO(SC) 中出现(即SC中 出现),所以结果中每个学生都学了全部的课 程(这是除法操作的含义): SNO,CNO (SC) CNO (C) (d) 从SNO求学生姓名SNAME,可以用 自然连结和投影操作组合而成:

14、 SNAME (S ( SNO,CNO (SC) CNO (C) 这就是最后得到的关系代数表达式。 (8) 检索所学课程包含S3所学课程的学 生学号。 注意:学生S3可能学多门课程,所以要用 到除法操作来表达此查询语句。 学生选课情况可用操作 SNO,CNO (SC) 表示; 所学课程包含学生S3所学课程的学生 学号,可以用除法操作求得: SNO,CNO (SC) CNO ( SNO=S3 (SC) 设有一个教学数据库,包括以下三个关系模式: 学生S (Sno,Sname,Ssex,Sage,Sdept) 课程C (Cno,Cname,Cpno,Ccredit) 学习SC (Sno,Cno,Grade) 学生关系模式属性分别对应学号、姓名、性别、年龄、 所在院系 课程关系模式属性分别对应课程号、课程名、先行课、 学分 学习关系模式分别对应学号、课程号、成绩 1、查询学生95001的姓名和所在系。 Sname,Sdept ( Sno =95001

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

当前位置:首页 > 高等教育 > 大学课件

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