《数据库技术复习题2 操作题》由会员分享,可在线阅读,更多相关《数据库技术复习题2 操作题(12页珍藏版)》请在金锄头文库上搜索。
1、数据库技术试题三、操作题1. 设有关系数据库:职工关系EMPLOYEE (职工号,职工名,街道,城市)工作关系WORKS (职工号,公司号,工资)公司关系COMPANY (公司号,公司名,城市)假设职工可在多个公司兼职,请用关系代数表达式写出至少在公司号为C2和C5公司兼职的职工的职工号。2. 设有关系数据库:职工关系EMPLOYEE (职工号,职工名,街道,城市)工作关系WORKS (职工号,公司号,工资)公司关系COMPANY (公司号,公司名,城市)试用SQL语句写出下列操作:将所有在“联华公司”工作的职工加薪5。3. 图书出版管理数据库中有两个基本表:图书 (书号,书名,作者编号,出版
2、社,出版日期)作者 (作者编号,作者名,年龄,地址)试用SQL语句写出下列查询:查询年龄低于作者平均年龄的所有作者的作者名、书名和出版社。4. 设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。试画出ER图,并注明属性和联系类型。5. 学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:学生 (学号,姓名,专业,入学日期)收费 (学年,学号,学费,书费,
3、总金额)假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。试用SQL语句定义上述表的结构。(定义中应包括主键子句和外键子句)6. 用SQL语言定义(1) 学生关系S,包括学号SNo、姓名SN、年龄SA、系别SD;(2) 课程关系C,包括课程号CNo、课程名CN、学分CC;(3) 学生选课关系SC,包括SNo、CNo和成绩G。注意:说明主键码和外键码(如果有的话)。7. 已知关系模式为(1) 学生关系S,包括学号SNo、姓名SN、年龄SA、系别SD;(2) 课程关系C,包括课程号CNo、课程名CN、学分CC;(3) 学生
4、选课关系SC,包括SNo、CNo和成绩G。用SQL语言(1) 对于学生选课关系SC,授予李小兰删除权限以及对SNo和CNo的修改权限;(2) 删除学号为9900205”的学生;(3) 从学生选课关系SC中,删除王云(学生关系中可能有重名)的所有选课(4) 找出不是既大于20岁又属于计算机系的学生。8. 已知关系模式为(1) 学生关系S,包括学号SNo、姓名SN、年龄SA、系别SD;(2) 课程关系C,包括课程号CNo、课程名CN、学分CC;(3) 学生选课关系SC,包括SNo、CNo和成绩G。用SQL语句查询每个学生的总成绩,输出学号和总成绩。9. 有关图书发行的关系模型如下:书店S(书店号S
5、No,书店名SN,地址A)图书B(书号BNo,书名T,作者N,价格P)图书馆L(馆号LNo,馆名LN,城市C)图书发行SBL(SNo,LNo,BNo,发行量Q)用SQL语言表达如下查询:“上海图书馆”(馆名)收藏图书的书名和出售该书的书店名。10. 图书管理数据库关系模型如下:图书B(书号BN,书名T,作者A) 学生S(姓名N,班级C,借书证号LN) 借书L(借书证号LN,BN,日期D)查询:2002.1.1(20020101)以前借书的学生姓名和书名。11已知关系模式:学生(学号,姓名,性别,年龄,系别),用SQL语句查询计算机系的男学生。 12. 有如下三个关系模式: 学生:S(S#,SN
6、,AGE,SEX) 属性含义依次为:学号,姓名,年龄,性别 课程:C(C#,CN,TEACHER) 属性含义依次为:课程号,课程名,教师 选课:SC(S#,C#,SCORE) 属性含义依次为:学号,课程号,成绩 用SQL语句表达如下查询。(1)查询“王兰”同学没有选修的课程的课程号。 (2)查询选修3门以上(含3门)课程的学生的学号和姓名。 (3)将成绩低于60分的女同学的成绩提高5%。 (4)查询选修课程包含LIU老师所授课的学生的学号。13. 假设有三个表:商场表:M(MNO,MNAME,CITY)各属性含义依次为商场号、商场名和商场所在城市;商品表:P(PNO,PNAME,CITY,CO
7、LOR)各属性含义依次为商品号、商品名、产地和商品颜色;销售表:S(MNO,PNO,QTY)各属性含义依次为商场号、商品号和销售数量。(1) 请用SQL语句创建销售表S,要求包含主码、外码(如果有的话)的定义,同时保证销售数量不能为空。(2) 试用SQL语句写出下列查询:查询不销售北京生产的商品的商场名。(3) 试用SQL语句实现下列查询:查询北京市的商场所销售的各种商品的销售总数量。14. 假设新华书店数据库中有2个关系模式:出版社(出版社编号,出版社名称,出版社地址)图书(图书编号,书名,出版社编号,图书分类,定价)试用SQL语句完成以下查询。(1)查询出版社编号为“CS”的图书编号、书名
8、和定价。(2)查询图书分类为“教材”的书名、定价和出版社名称。(3)按照出版社编号统计每个出版社出版的图书有多少种和平均定价。(4)查询由高等教育出版社出版、图书分类为“教材”且定价超过30元的图书编号和书名。”(5)设有关系模式R(A,B,C,D,E),F=AC,CD,BC,DEC,CEA。求R的所有候选键。15. 已知学生表 S 和选课表 SC :用 SQL语言完成如下的操作: (1) 将一个新学生(学号: s6 ,姓名:吴丽,所在系:自动化,性别:女,年龄: 20 )的纪录插入到学生表中。(2) 将学号为 s1 的学生的年龄由 17 岁改为 18 岁。(3) 建立计算机系学生的视图,视图
9、名为 computer_student 。(4) 查询选修了“程序设计”课程的学生的姓名和分数。(5) 求学号为 s1 的学生的总分和平均分。Ssno sn sd sex age s1 s2 s3 s4 s5 赵亦 钱尔 孙珊 李思 周武 计算机 信息 信息 自动化 计算机 女 男 女 男 男 17 18 20 21 19 SCsno cn score s1 s1 s2 s3 s4 程序设计 微机原理 数据库 程序设计 编译原理 92 85 80 90 88 16. 现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金);课程(课号,课名,学分) ;学习(学号,课号,分数)。用SQL语言实
10、现下列查询: (1) 查询“国际贸易”专业中获得奖学金1000元的学生信息,包括学号、姓名、课名和分数。 (2) 查询没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。(3) 对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元。 17. 设有学生课程关系数据库,包含学生关系S(学号S# ,学生姓名SN,所属系名SD,学生年龄SA) 、课程关系C(课程号C# ,课程名字CN,先行课号码PC#)、和学生选课关系SC(学号S# ,课程号C# ,学生成绩G)。用SQL语句实现下列查询:(1) 求计算机系学生的学号、姓名。(2) 求不选修C3课程的学生姓名
11、。(3) 将李明的数学成绩改为90分。(4) 删除99011学生的选课记录。(5) 为计算机系学生创建一个视图,并在该视图上查询年龄在20岁以下的学生。18. 设有学生课程关系数据库,包含有学生关系S(学号S# ,学生姓名SN,所属系名SD,学生年龄SA) 、课程关系C(课程号C# ,课程名字CN,先行课号码PC#)、和学生选课关系SC(学号S# ,课程号C# ,学生成绩G)。用SQL语句实现下列查询:(1) 求年龄不在20岁与22岁之间的学生学号和年龄。(2) 求选修课程号为C1且成绩为B以上的学生姓名及成绩。(3) 求选修了课程名为J的学生学号和姓名。(4) 将一个新生记录(学号:9900
12、1,姓名:李强,所在系:计算机,年龄:19)插入学生关系S中。19. 已知如下关系模式:雇员E(ENO,EName,Age);工程P(PNO,PName);施工W(ENO,PNO,Salary);其中,E表示雇员关系,P表示工程关系,W表示施工关系,ENO为雇员号,Ename为雇员的姓名,Age为雇员的年龄,PNO为工程号,Pname为工程名,Salary为酬金。用SQL语句表达如下查询:(1) 参加工程名为“立交桥”的雇员姓名和酬金。(2) 参加工程号为“P1”,且酬金最高的雇员名。(3) 参加3个以上工程的职工号。20. 已知如下关系模式:雇员E(ENO,EName,Age);工程P(PN
13、O,PName);施工W(ENO,PNO,Salary);其中,E表示雇员关系,P表示工程关系,W表示施工关系,ENO为雇员号,Ename为雇员的姓名,Age为雇员的年龄,PNO为工程号,Pname为工程名,Salary为酬金。分别用关系代数和SQL语句表达如下查询:(1) 参加工程名为“立交桥”的雇员的平均酬金。(2) 在参加工程P1的雇员中,查询比雇员E1的酬金高的雇员姓名。(3) 参加的雇员数大于3的工程号。21. 已知关系S, C,SC 的关系模式为:S( S#, SN, SD, SA);C(C#, CN, PC# );SC(S# , C# , G)其中: S# 学号;SN 学生姓名;
14、SD 所属系名;SA 学生年龄;C# 课程号; CN 课程名; PC# 先行课号码;G 学习成绩;用SQL语句实现下列查询:(1) 求选修课程号为C1课程的学生学号和学习成绩。(2) 查询选修课程号为C1课程且成绩为B以上的学生学号,姓名,系,年龄及成绩。(3) 求不选修课程号为C3课程的学生姓名。(4) 求选修课程超过3门的学生学号。22. 已知关系S, C,SC 的关系模式为:S( S#, SN, SD, SA);C(C#, CN, PC# );SC(S# , C# , G);其中: S# 学号;SN 学生姓名;SD 所属系名;SA 学生年龄;C# 课程号; CN 课程名; PC# 先行课
15、号码;G 学习成绩;用SQL语句实现下列查询:(1) 求学生姓名是以字母D打头的学生的学号,姓名。(2) 求每一课程的间接先行课课程代号(即先行课的先行课)。(3) 求选修了课程名为J的学生学号和姓名。(4) 求课程号及选修该课程的学生人数。23. 如下所示是一个保险公司的数据库,对这个关系数据库用SQL回答以下问题:person(drive_ id , name, address);car(license, year, model);accident(date, driver _id , damage);owns(driver _ id, license);log(license, date, driver);其中车主关系person包括:driver _ id(驾驶执照号);name(姓名);