02 4关系代数作业参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. 用关系代数表达式写出,查找“财务科”中 健康状况为“良好”的职工姓名和家庭地址。
1. 用关系代数表达式写出,查找所有女科长 的姓名和家庭地址;
∏姓名,家庭地址(σ 职务=‘科长' ∧ 性别=‘女' (职工))
2. 用关系代数表达式写出,查找“办公室” 的科长姓名和家庭地址;
∏姓名,家庭地址( σ 部门名称=‘办公室' (部 门)∞σ 职务=‘科长' (职工)) 3. 用关系代数表达式写出,查找“财务科” 中健康状况为“良好”的职工姓名和家庭地 址。
现检索仓库名称为“莘庄”的仓库里存储的 商品的编号和名称。试写出相应的关系代数 表达式
∏G#,GNAME(Goods∞SG∞ σ SNAME=‘莘庄' (Store))
已知:一组关系模式: 部门(部门号,部门名称,电话号码) 职工(职工号,姓名,性别,职务,部门号) 工程(项目号,项目名称,经费预算) 施工(职工号,项目号,工时) 工资级别(职务,小时工资率) 根据这组关系模式回答: 1.用关系代数表达式写出职务为“工程师”的 姓名和部门名称。 2.用关系代数表达式写出姓名为“潘小光”的 职工所在的部门名称和电话号码。
部门表 DEPT(D#,DNAME,MGR#),其属性分别 表示部门编号、部门名称和部门经理的职工工号。
试指出每个表的主键和外键。在上面两个基本表 中,写出下列查询的关系代数表达式:
检索每个部门经理的工资,要求显示其部门编号、 部门名称、经理工号、经理姓名和经理工资
∏D#,DNAME,MGR#,ENAME,SALARY(σ E#=MGR# (部门∞职工))
借书的学生姓名和书名”的代数表达式 2、画出该代数表达式的语法树 3、对该语法树进行优化 4、写出优化后的代数表达式
ΠN,T
σL.BN=B.BN
Π BN,N
σL.LN=S.LN
×
Π BN,T
×
B
Π Π LN,BN
LN,N
σD<20190101
S
L
ΠN,T(ΠBN,N(ΠLN,BN (σD<20190101(L)) ∞ΠLN,N(S)) ∞ ΠBN,T(B))
设有一个SPJ数据库,包括S,P,J,SPJ四个关 系模式
S(SNO,SNAME,STATUS,CITY)供应商编号、名称、 状态、所在城市
P(PNO,PNAME,COLOR,WEIGHT)零件编号、名称、 颜色、重量
J(JNO,JNAME,CITY)工程项目编号、名称、所在 城市
SPJ(SNO,PNO,JNO,QTY)供应商编号、零件编号、 项目编号、供应数量(某供应商供应某种零件给 某工程项目的数量)
课程号
∏学号,课程号(学生×课程)-∏学号, 课程号(成绩)
现有如下关系:
职工(职工号,姓名,性别,职务,家庭地址, 部门编号)
部门(部门编号,部门名称,地址,电话)
保健(保健卡编号,职工号,检查身体日期, 健康状况)
1. 用关系代数表达式写出,查找所有女科长的 姓名和家庭地址;
2. 用关系代数表达式写出,查找“办公室”的 科长姓名和家庭地址;
σ ∏CNO,CNAME( TNAME=‘LIU' (C)
2. 检索年龄大于23岁的男学生的学号和姓名
∏SNO,SNAME( σ AGE>23 ∧ SEX=‘M'(S)) 3. 检索学号为S3学生所学课程的课程名与任
课老师名 ∏CNAME,TNAME( σ SNO=‘S3'(SC)∞(C)) 4. 检索至少选修LIU老师所教授课程中一门课 的女学生姓名
思考题:找出银行中最大的帐户余额
ACCOUNT表
∏ balance(ACCOUNT)-∏3(σ3<6(ACCOUNT × ACCOUNT))
P66 2-14
S(SNO,SNAME,AGE,SEX,SDEPT) SC(SNO,CNO,GRADE) C(CNO,CNAME,CDEPT,TNAME)
1. LIU老师所教授课程的课程号,课程名
(P)) 4. ∏JNO(J)- ∏JNO(σCITY='天津' (S)
∞SPJ ∞(σColor='红' (P)) 5. ∏JNO,PNO(SPJ)
÷∏PNO(σSNO='S1'(SPJ))
设数据库中有两个基本表:
职工表 EMP(E#,ENAME,AGE,SALARY,D#), 其属性分别表示职工工号、姓名、年龄、工资和 工作部门的编号。
ΠCNO

×
ΠTNAME,CNAME,CNO
σS.SNO=SC.SNO
σCDEPT=‘自动化'
×
C
Π SNO
ΠSNO ,CNO
σSDEPT=‘计算机'
SC
S
ΠTANME,CNAME (ΠCNO(ΠSNO(σ SDEPT=‘计算机' (s)) ∞ΠSNO,CNO(SC)) ∞ ΠTNAME,CNAME,CNO (σCDEPT=‘自动化' (c)))
∏姓名,家庭地址( 职工 ∞ σ 健康状况=‘良好' (保健)∞ σ 部门名称=‘财务' (部门)
检索计算机系的学生选修自动化系开设的 课程的课程名和任课教师姓名
1、写出查询的代数表达式 2、画出该代数表达式的语法树 3、对该语法树进行优化 4、写出优化后的代数表达式
ΠTANME,CNAME
σO=O
6. 没有选修任何课程的学生性别和姓名
∏姓名,性别(学生∞(∏学号(学生)∏学号(成绩)))
7. 至少选修了002号学生选修的全部课程的 学生学号
∏学号,课程号(成绩)÷∏课程号(σ 学号=‘002' (成绩))
8. 求所有课程被选修的情况,列出课程号、 课程名、先行课、学分、学号和成绩
课程 成绩 9. 求每个学生没有选修的课程,列出学号、
∏SNAME(σSEX=‘F' (S)∞SC∞σ TNAME=‘LIU' (C))
5. 检索wang 同学不学课程的课程号
∏CNO(C)-∏CNO(σSNAME=‘WANG' (S)∞SC) 6. 检索至少选修两门课的学生学号
∏1(σ1=4 ∧ 2!=5(SC × SC)) 7. 检索全部学生都选修的课程的课程号和课程
1. 找出选修网络方向女同学名单 σ专业方向=‘网路' ∧性别=‘女'(学生)
2. 求选修15164课程的学生姓名和专业方向
∏姓名,专业方向(学生∞σ课程号 =‘15164' (成绩)) ∏姓名,专业方向(σ课程号=‘15164' (学 生∞成绩)) 3. 求选修数据库原理与应用课程的学生姓名 ∏姓名(学生∞成绩∞σ课程名=‘数据库原 理与应用'(课程))
要求用关系代数
供应工程J1零件的供应商号码SNO 供应工程J1零件P1的供应商号码SNO 供应工程J1零件为红色的供应商号码SNO 没有使用天津供应商生产的红色零件的工 程号JNO 至少用了供应商S1所供应的全部零件的工 程号
关系代数
1. ∏SNO(σJNO='J1'(SPJ)) 2. ∏SNO(σJNO='J1' ∧PNO='P1'(SPJ)) 3. ∏SNO(σJNO='J1' (SPJ) ∞(σColor='红'

∏CNO,CNAME,SNO(C ∞SC) ÷ ∏SNO(S) 8. 检索选修课程包含LIU老师所教授课程的学
生学号
∏CNO,SNO(SC) ÷ ∏CNO(σTNAME=‘LIU'(C))
图书管理系统关系模型: B(BN,T,A,P)图书表:书号,书名,作者,出版社 S(N,C,LN)学生表:姓名,班级和借书证号 L(LN,BN,D)借书表:借书证号,书号,借书日期 1、写出查询“2019年1月1日(20190101)以前
4. 同时选修人工智能及编译技术的学生名单
学生∞(∏学号(成绩∞σ课程名=‘人工智 能'(课程))∩∏学号(成绩∞σ课程 名=‘编译技术'(课程)))
学生∞(∏学号,课程号(成绩)÷∏课 程号(σ课程名=‘编译技术' ∨课程名 =‘人工智能'(课程)))
5. 没有被任何人选修的课程名
∏课程名(课程∞(∏课程号(课程)-∏ 课程号(成绩)))
关系代数习题课
1 找出选修网络方向女同学名单 2 求选修15164课程的学生姓名和专业方向 3 求选修数据库原理与应用课程的学生姓名
4 同时选修人工智能及编译技术的学生名单 5 没有被任何人选修的课程名
6 没有选修任何课程的学生性别和姓名 7 至少选修了002号学生选修的全部课程的学 生学号 8 求所有课程被选修的情况,列出课程号、课 程名、先行课、学分、学号和成绩 9 求每个学生没有选修的课程,列出学号、 课程号
设某商业集团为仓库存储商品设计了三个基 本表:
仓库: STORE(S#,SNAME,SADDR),其属 性是仓库编号、仓库名称和地址。
存储: SG(S#,G#,QUANTITY),其属性是 仓库编号、商品编号和数量。
商品: GOODS(G#,GNAME,PRICE), 其属 性是商品编号、商品名称和单价
1.用关系代数表达式写出职务为“工程师” 的姓名和部门名称。
∏姓名,部门名称(部门∞σ 职务=‘工程师' (职工))
2.用关系代数表达式写出姓名为“潘小光”的 职工所在的部门名称和电话号码。
∏部门名称,电话(部门∞σ 姓名=‘潘小光' (职工))
相关文档
最新文档