数据库第二章关系代数习题(共9页).doc
精选优质文档-倾情为你奉上1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句: S C SCS#SNAMEAGESEX1李强23男2刘丽22女5张友22男C#CNAMETEACHERk1C语言王华k5数据库原理程军k8编译原理程军S#C#GRADE1k1832k1855k1922k5905k5845k880(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。(4) 检索”李强”同学不学课程的课程号(C#)。(5) 检索至少选修两门课程的课程号(S#)。(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。(8) 检索选修课程号为k1和k5的学生学号(S#)。(9) 检索选修全部课程的学生姓名(SNAME)。(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。(12)检索没有一门课程成绩不及格的学生学号,姓名。答:本题各个查询语句对应的关系代数表达式表示如下:(1) C#,CNAME(TEACHER ='程军'(C)(2) S#,SNAME(AGE>21SEX ='男'(S) (3) SNAME(S(S#,C#(SC)÷C#( TEACHER ='程军'(C)(4) C#(C)-C#(SNAME ='李强'(S) SC)(5) S# (1=425 (SC×SC) (6) C#,CNAME(C (S#,C#(SC)÷S#(S)(7) S# (SCC# (TEACHER ='程军'(C) (8) S#,C#(SC)÷C#(C#=K1VC#=K5 (C)(9) SNAME(S (S#,C#(SC)÷C#(C)(10) S#,C#(SC)÷C#(C#=2 (SC)(11) S#,SNAME(SS#(SC (CNAME ='C语言'(C)(12)学号,姓名(学生)-学号,姓名(分数<60(学生学习)。2.现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)。课程(课程号,名称,学分)。学习(学号,课程号,分数)。用关系代数表达式实现下列1-4小题:1. 检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数。学号,姓名,课程名,分数(专业='英语'(学生学习课程)。2. 检索"数据库原理"课程成绩高于90分的所有学生的学号、姓名、专业和分数。学号,姓名,专业,分数(分数>90名称='数据库原理'(学生学习课程)。3. 检索不学课程号为"C135"课程的学生信息,包括学号,姓名和专业。学号,姓名,专业(学生)-学号,姓名,专业(课程号='C135'(学生学习)。4. 检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。学号,姓名,专业(学生)-学号,姓名,专业(分数<60(学生学习)。3.现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金)。课程(课程号,名称,学分)。学习(学号,课程号,分数)。用关系代数表达式实现下列14小题:1. 检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。学号,姓名,课程名,分数(奖学金>0专业=国际贸易(学生学习课程)。2. 检索学生成绩得过满分(100分)的课程的课程号、名称和学分。课程号,名称,学分(分数=100(学习课程)。3. 检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。学号,姓名,专业(奖学金<=0分数>95(学生学习)。4. 检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。学号,姓名,专业(学生)-学号,姓名,专业(分数<80(学生学习)。4 设有关系S、SC和C,试用关系代数表达式完成下列操作。 S(snum,sname,age,sex),例:(1,“李强”,23,男)是一条数据记录。SC(snum,cnum,score), 例:(1,“C1”,83)是一条数据记录。C(cnum,cname,teacher) 例:(“C1”,“数据库原理”,“王华”)是一条数据记录。(1) 检索“刘祥”同学不学课程的课程号。(2) 检索有一门课程成绩在90分以上的男同学的姓名。(3) 列出没有选修“人工智能”的学生名单。(4) 找出选修了袁老师教的所有课程的学生名单。(5) 查找每门课程成绩在70分以上并且平均成绩在75分以上的学生名单。5数据模型如下:厂家S(SNO,SNAME,STATUS,CITY)产品P(PNO,PNAME,WEIGHT,COLOR)工程J(JNO,JNAME,CITY)供货SPJ(SNO,PNO,JNO,QTY)用关系代数写出下述操作.1. 给出为工程J1供货的厂商号.2. 给出供货量在300500之间的所有供货情况.3. 给出由LODON的厂商供给LODON的工程的产品号.4. 给出满足如下条件的所有产品号:提供该零件的厂商和使用该零件的工程在同一城市.5. 给出由S1提供产品的工程名.6. 给出使用了由供应红色产品的厂商供应的产品的工程名.7. 求使用了全部零件的工程名.8. 供应P1,P2两种产品的厂家名.9. 显示与”TV”颜色相同的产品名.10. 给出使用了S1所提供的全部零件的工程名.6设教学数据库中有三个关系:S(SNO,SNAME,AGE,SEX,SDEPT)SC(SNO,CNO,GRADE)C(CNO,CNAME,TNAME)试用关系代数表达式表示下列查询语句: 查询LIU老师所授课程的课程号,课程名 查询年龄大于23岁的男生的学号与姓名 查询学号为S3学生所学课程的课程名与任课教师名 查询选修LIU老师所授课程中一门课的女学生姓名 查询WANG同学不学的课程的课程号 查询至少选修两门课程的学生学号 查询全部学生都选修的课程的课程号和课程名 查询选修课程包含LIU老师所授课程的学生学号1.(1) Õcnum(C)Õcnum(ssname= 刘祥(SCS) (2) Õsname(sscore>=90Ùsex=男(SCS)(3)Õsname(S)Õsname(scname= 人工智能(SCSC)(4)Õsname(Õsnum,cnum(sc)÷Õcnum(steacher=袁(c) s)2.答案:1.SNO(jno=J1(SPJ)2. qty500qty300(spj)3. pno( (city=london(s)spj (city=london(j)4. PNO(SNO,CITY(S) JNO,CITY(J) SPJ)5. JNAME(sno=s1(JSPJ)6. JAME(SNO(PNO(color=RED(P) SNO,PNO(SPJ) SPJJ)7. JNAME(JNO,PNO(SPJ)÷PNO(P) J)8. SNAME(2=p1 6=p2 1=5(SPJ×SPJ) S)9. PNAME(COLOR(pname=TV(P) P)10. JNAME(JNO,PNO(SPJ) ÷PNO(sno=s1(p) J)1为某百货公司设计一个ER模型。百货管辖若干个连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。实体类型“商店”的属性有:商店编号,店号,店址,店经理。实体类型“商品”的属性有:商品编号,商品名,单价,产地。实体类型“职工”的属性有:职工编号,职工名,性别,工资。在联系中应反映出职工参加某商店工作的开始时间,商店销售商品的有销售量。试画出反映商店、商品、职工实体类型及联系类型的ER图,并将其转换成关系模式集。2在教学数据库S、SC、C中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。(1)试写出该查询的关系代数表达式;(2)试写出查询优化的关系代数表达式。3一个图书借阅管理数据库要求提供下述服务:A 随时查阅书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。B 可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。C 当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。根据以上情况和假设,试做如下设计: 构造满足需求的E-R图。 4. 学校有若干个系,每个系有各自的系号、系名和系主任;每个系有若干名教师和学生,教师有教师号、教师名和职称属性,每个教师可以担任若干门课程,一门课程只能由一位教师讲授,课程有课程号、课程名和学分,并参加多项项目,一个项目有多人合作,且责任轻重有个排名,项目有项目号、名称和负责人;学生有学号、姓名、年龄、性别,每个学生可以同时选修多门课程,选修有分数。(1)请设计此学校的教学管理的E-R模型。(第一章试题中已做)(2)将E-R模型转换为关系模型。答案:实体:商店(商店编号,店号,店址,店经理)商品(商品编号,商品名,单价,产地)职工(职工编号,职工名,性别,工资)联系:P1商店销售商品的有销售量间P2职工参加某商店工作的开始时ER图: 关系模式集:商店模式(商店编号,店号,店址,店经理)商品模式(商品编号,商品名,单价,产地)职工模式(职工编号,职工名,性别,工资)P1模式(商店编号,商品编号,月销售量)P2模式(商店编号,职工编号,开始时间)2解:(1)CNAME,TEACHER(SEX='女'(S×SC×C)3.借书人图 书出版社借 阅出 版 借书证号姓 名单 位借书日期还书日期书 号数 量位 置邮 编地 址电 话出版社名电报编号4.(2)系 (系号,系名,系主任)教师 (教师号,教师名,职称,系号)学生(学号,姓名,年龄,性别,系号)项目(项目号,名称,负责人)课程(课号,课程名,学分,教师号1.现有关于班级、学生、课程的信息如下:描述班级的属性有:班级号、班级所在专业、入校年份、班级人数、班长的学号;描述学生的属性有:学号、姓名、性别、年龄;描述课程的属性有:课程号、课程名、学分。假设每个班有若干学生, 每个学生只能属于一个班, 学生可以选修多门课程, 每个学生选修的每门课程有一个成绩记载。根据语义, 画出它们的实体联系E-R模型。对应的E-R图如下图:学生选修课 程属于班级班级号专业入校年份班级人数班长学号性别年龄分数学分课程名课程号学号姓名 1 nmn2.工厂(包括厂名和厂长名)需要建立数据库, 用来管理存储以下信息:.一个厂内有多个车间, 每个车间有车间号、车间主任姓名、地址和电话;.一个车间内有多个工人, 每个工人有职工号、姓名、年龄、性别和工种;.一个车间生产多种产品, 产品有产品号和价格;.一个车间生产多种零件, 一个零件也可能由多个车间制造。零件有零件号、重量和价格, .一个产品由多种零件组成, 一种零件也可装配在多种产品内, . 产品与零件均存入仓库中, 厂内有多个仓库, 仓库有仓库号、仓库保管员姓名和电话。根据以上信息, 试完成: 画出该系统的E-R模型。 给出相应的关系数据模型。 画出该关系的层次模型图。解: 画出该系统对应的E-R图如下图:n1拥有修工厂仓库mm1存放修拥有修存放修nnnn1生产修车间产品mm1生产装配工作修nnn零件工人全局E-R概念模型 给出相应的关系数据模型如下:工厂(工厂代码,厂名,厂长名)车间(车间号,车间主任姓名,地址,电话)工人(职工号,姓名,年龄,性别,工种)产品(产品号,价格)零件(零件号,重量,价格,)仓库(仓库号,仓库保管员姓名,电话)专心-专注-专业