数据库技术复习题操作题.docx
- 文档编号:4183221
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:15
- 大小:28.36KB
数据库技术复习题操作题.docx
《数据库技术复习题操作题.docx》由会员分享,可在线阅读,更多相关《数据库技术复习题操作题.docx(15页珍藏版)》请在冰豆网上搜索。
数据库技术复习题操作题
数据库技术试题
三、操作题
1.设有关系数据库:
职工关系EMPLOYEE(职工号,职工名,街道,城市)
工作关系WORKS(职工号,公司号,工资)
公司关系COMPANY(公司号,公司名,城市)
假设职工可在多个公司兼职,请用关系代数表达式写出至少在公司号为‘C2’和‘C5’公司兼职的职工的职工号。
2.设有关系数据库:
职工关系EMPLOYEE(职工号,职工名,街道,城市)
工作关系WORKS(职工号,公司号,工资)
公司关系COMPANY(公司号,公司名,城市)
试用SQL语句写出下列操作:
将所有在“联华公司”工作的职工加薪5﹪。
3.图书出版管理数据库中有两个基本表:
图书(书号,书名,作者编号,出版社,出版日期)
作者(作者编号,作者名,年龄,地址)
试用SQL语句写出下列查询:
查询年龄低于作者平均年龄的所有作者的作者名、书名和出版社。
4.设有商店和顾客两个实体,
“商店”有属性商店编号、商店名、地址、电话,
“顾客”有属性顾客编号、姓名、地址、年龄、性别。
假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。
试画出ER图,并注明属性和联系类型。
5.学校有多名学生,财务处每年要收一次学费。
为财务处收学费工作设计一个数据库,包括两个关系:
学生(学号,姓名,专业,入学日期)
收费(学年,学号,学费,书费,总金额)
假设规定属性的类型:
学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。
列的宽度自定义。
试用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)学生选课关系SC,包括SNo、CNo和成绩G。
用SQL语言
(1)对于学生选课关系SC,授予李小兰删除权限以及对SNo和CNo的修改权限;
(2)删除学号为"”的学生;
(3)从学生选课关系SC中,删除王云(学生关系中可能有重名)的所有选课
(4)找出不是既大于20岁又属于计算机系的学生。
8.已知关系模式为
(1)学生关系S,包括学号SNo、姓名SN、年龄SA、系别SD;
(2)课程关系C,包括课程号CNo、课程名CN、学分CC;
(3)学生选课关系SC,包括SNo、CNo和成绩G。
用SQL语句查询每个学生的总成绩,输出学号和总成绩。
9.有关图书发行的关系模型如下:
书店S(书店号SNo,书店名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,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,COLOR)
各属性含义依次为商品号、商品名、产地和商品颜色;
销售表:
S(MNO,PNO,QTY)
各属性含义依次为商场号、商品号和销售数量。
(1)请用SQL语句创建销售表S,要求包含主码、外码(如果有的话)的定义,同时保证销售数量不能为空。
(2)试用SQL语句写出下列查询:
查询不销售北京生产的商品的商场名。
(3)试用SQL语句实现下列查询:
查询北京市的商场所销售的各种商品的销售总数量。
14.假设新华书店数据库中有2个关系模式:
出版社(出版社编号,出版社名称,出版社地址)
图书(图书编号,书名,出版社编号,图书分类,定价)
试用SQL语句完成以下查询。
(1).查询出版社编号为“CS”的图书编号、书名和定价。
(2).查询图书分类为“教材”的书名、定价和出版社名称。
(3).按照出版社编号统计每个出版社出版的图书有多少种和平均定价。
(4).查询由高等教育出版社出版、图书分类为“教材”且定价超过30元的图书编号和书名。
”
(5).设有关系模式R(A,B,C,D,E),F={A→C,C→D,B→C,DE→C,CE→A}。
求R的所有候选键。
15.已知学生表S和选课表SC:
用SQL语言完成如下的操作:
(1)将一个新学生(学号:
s6,姓名:
吴丽,所在系:
自动化,性别:
女,年龄:
20)的纪录插入到学生表中。
(2)将学号为s1的学生的年龄由17岁改为18岁。
(3)建立计算机系学生的视图,视图名为computer_student。
(4)查询选修了“程序设计”课程的学生的姓名和分数。
(5)求学号为s1的学生的总分和平均分。
S
sno
sn
sd
sex
age
s1
s2
s3
s4
s5
赵亦
钱尔
孙珊
李思
周武
计算机
信息
信息
自动化
计算机
女
男
女
男
男
17
18
20
21
19
SC
sno
cn
score
s1
s1
s2
s3
s4
程序设计
微机原理
数据库
程序设计
编译原理
92
85
80
90
88
16.现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金);课程(课号,课名,学分);学习(学号,课号,分数)。
用SQL语言实现下列查询:
(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课程的学生姓名。
(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)将一个新生记录(学号:
99001,姓名:
李强,所在系:
计算机,年龄:
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(PNO,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学生姓名;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#先行课号码;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(姓名);address(地址)
汽车关系car包括:
license(汽车牌照);year(出厂日期);model(型号);
事故关系accident包括:
date(出事日期);driver_id(出事车主的驾驶执照号);damage(毁坏程度);
汽车所属关系owns包括:
driver_id(出事车主的驾驶执照号);license(汽车牌照);
用SQL语句实现下列查询:
(1)查找在1989年其车辆出过事故的车主姓名。
(2)查找和JohnSmith的车有关的事故数量。
(3)查找出过三次以上事故的司机姓名。
(4)删除JohnSmith的马自达车(Mazda)
24.现有如下关系模型:
T(T#,TN,G#,AGE);G(G#,GN,T#);C(C#,CN,HOUR);TC(T#,C#,ROOM);其中教师关系T包括:
教师代码(T#),姓名(TN),教研室代码(G#),年龄(AGE);教研室关系G包括:
教研室代码(G#),教研室名称(GN),教研室主任的教师代码(T#);课程关系C包括:
课程号(C#),课程名(CN),学时(HOUR);任教关系TC包括:
教师代码(T#),课程号(C#),教室(ROOM);用SQL语句实现下列查询:
(1)查找“数学”教研室的教研室主任的教师姓名。
(2)查找不教课的教师姓名。
(3)查询“外语”教研室教授的所有课程名称。
(4)查找教授课程在三门以上的教师姓名。
25.已知关系S,P,J,SPJ的关系模式为:
S(SNO,SN,CITY);P(PNO,PN,COLOR);J(JNO,JN,CITY);SPJ(SNO,JNO,PNO,QTY);其中:
SNO为供应商号,SN为供应商姓名,CITY为所在城市;PNO为零件号,PN为零件名称,COLOR为颜色;JNO为工程项目号,JN为工程项目名称;QTY为数量。
试用SQL语言完成下列查询:
(1)求出使用全部零件的工程项目名称。
(2)取出供应商姓名,该供应商提供最小号码(即零件号最小)的红色零件。
(3)取出1个以上供应商提供的零件号。
26.已知关系S,P,J,SPJ的关系模式为:
S(SNO,SN,CITY);P(PNO,PN,COLOR);J(JNO,JN,CITY);SPJ(SNO,JNO,PNO,QTY);其中:
SNO为供应商号,SN为供应商姓名,CITY为所在城市;PNO为零件号,PN为零件名称,COLOR为颜色;JNO为工程项目号,JN为工程项目名称;QTY为数量。
试用SQL语言完成下列查询:
(1)求出供应全部零件的供应商姓名。
(2)取出供应商姓名,该供应商提供最大号码(即零件号最大)的蓝色零件。
(3)取出在同一城市的每对工程项目号。
27.关系模式描述如下:
工作人员:
EMPLOYEE(NAME,SSN,BDATE,ADDRESS,SEX,SALARY,SUPERSSN,DNO);
部门:
DEPARTMENT(DNAME,DNUMBER,MSGSSN,MSGSTARTDATE);
工程项目:
PROJECT(PNAME,PNUMBER,PLOCATION,DNUM);
工作人员与工程项目:
WORKS_ON(SSN,PNO,HOURS);属性说明如下:
NAME:
雇员名;SSN:
雇员的身份证号;BDATE:
雇员生日;ADDRESS:
雇员地址;SEX:
雇员性别;SALARY:
雇员工资;SUPERSSN:
雇员直接领到的身份证号;DNO:
工作人员所属部门号;DNAME:
部门名字;DNUMBER:
部门号;MSGSSN:
部门领导身份证号;MSGSTARTDATE:
部门领导开始领导工作的日期;PNAME:
项目名称;PNUMBER:
项目号;PLOCATION:
项目所在地;DNUM:
项目所属部门号;PNO:
项目号;HOURS:
工作小时数。
用SQL表达如下查询:
(1)参加项目名为“公路1”的雇员名。
(2)查询参加工程号为“P1”,且酬金最高的职工号及其工资。
28.关系模式描述如下:
工作人员:
EMPLOYEE(NAME,SSN,BDATE,ADDRESS,SEX,SALARY,SUPERSSN,DNO);
部门:
DEPARTMENT(DNAME,DNUMBER,MSGSSN,MSGSTARTDATE);
工程项目:
PROJECT(PNAME,PNUMBER,PLOCATION,DNUM);
工作人员与工程项目:
WORKS_ON(SSN,PNO,HOURS);
属性说明如下:
NAME:
雇员名;SSN:
雇员的身份证号;BDATE:
雇员生日;ADDRESS:
雇员地址;SEX:
雇员性别;SALARY:
雇员工资;SUPERSSN:
雇员直接领到的身份证号;DNO:
工作人员所属部门号;DNAME:
部门名字;DNUMBER:
部门号;MSGSSN:
部门领导身份证号;MSGSTARTDATE:
部门领导开始领导工作的日期;PNAME:
项目名称;PNUMBER:
项目号;PLOCATION:
项目所在地;DNUM:
项目所属部门号;PNO:
项目号;HOURS:
工作小时数。
用关系代数和SQL表达如下查询:
(1)列出没有参加项目P1的员工姓名。
(2)列出所有由张三直接领导的工作人员的名字和所在部门名字。
29.在供应商、零件数据库中有以下三个关系模式:
供应商:
S(SNO,SNAME,CITY,STATUS);零件:
P(PNO,PNAME,WEIGHT,COLOR,CITY)供应货:
SP(SNO,PNO,QTY);各属性的含义可由属性名体现,不再重复,供货关系SP表示某供应商SNO,供应了PNO零件,数量为QTY。
用SQL语句实现下列查询:
(1)求供应红色零件的供应商名字。
(2)求北京供应商的号码、名字和状况(STATUS)。
(3)求零件P2的总供应量。
(4)把零件P2的重量增加6,颜色改为蓝色。
30.有一学校教学数据库,包括学生、课程、教师、学生成绩4个关系。
学生关系S(SNO,SN,AGE,SEX),有属性:
学号,姓名,年龄,性别;课程关系C(CNO,CN,PCNO)包括属性:
课程号,课程名,先修课课程号;教师关系T(ENO,EN,DEPT),包括属性:
职工号,姓名,系别;学生成绩关系SC(SNO,CNO,ENO,G)包括属性:
学生号,课程号,任课教师职工号和学生学习成绩;请用关系代数表达式完成下列操作:
(1)求选修所有课程并且成绩为A的学生姓名。
(2)求选修了王平老师讲授的所有课程的学生姓名。
(3)求不选修信息系老师开设的所有课程的学生姓名。
31.供应商-零件-工程项目数据库由以下4个关系模式构成:
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT,CITY);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商S,零件P和工程项目J分别由供应商号(SNO),零件号(PNO)和工程项目号(JNO)唯一标识。
供货SPJ是指由某个供应商向某个工程项目供应某些数量的某种零件。
请用SQL语言完成如下操作:
(1)找出给北京的工程项目提供不同的零件号。
(2)将没有供货的所有工程项目从J中删除。
(3)查询提供全部零件的供应商名。
(4)查询这样的工程项目号:
供给该工程项目的零件P1的平均供应量大于供给工程项目J1的任何一种零件的最大供应量。
(5)定义一个视图,它由所有这样的工程项目(工程项目号与所在城市名称)组成:
它们由供应商S1供货且使用零件P1。
32.已知关系S,P,J,SPJ的关系模式为:
S(SNO,SN,CITY);P(PNO,PN,COLOR);J(JNO,JN,CITY);SPJ(SNO,JNO,PNO,QTY);其中:
SNO为供应商号,SN为供应商姓名,CITY为所在城市;PNO为零件号,PN为零件名称,COLOR为颜色;JNO为工程项目号,JN为工程项目名称;QTY为数量。
试用SQL语言完成下列查询:
(1)求出使用全部零件的工程项目名称。
(2)把零件号为P2的零件重量增加5,颜色改为黄色。
(3)取出在同一城市的每对工程项目号。
33.现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金);课程(课号,课名,学分);学习(学号,课号,分数)。
用SQL语句实现下列查询:
(1)查询没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。
(2)把学生“张三”的“数据库”课程分数改为86分。
(3)查询没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
(4)求各专业学生“数据库”课程的平均成绩。
34.已知关系S,SC,C的关系模式为:
S(S#,SN,SA,SD);SC(S#,C#,G);C(C#,CN,PC#);其中:
S#为学号,SN为学生姓名,SA为年龄,SD为系名,C#为课程号,G为成绩,CN为课程名称,PC#为先行课号。
试用SQL语言完成下列查询:
(1)选修课名为“J”的学生姓名。
(2)选修全部课程的学生姓名。
(3)不选“C2”课程的学生姓名。
(4)选修课超过三门的学生姓名。
35.已知关系S,C,SC的关系模式为:
S(S#,SN,SD,SA);C(C#,CN,PC#);SC(S#,C#,G)。
其中:
S#学号;SN学生姓名;SD所属系名;SA学生年龄;C#课程号;CN课程名;PC#先行课号码;G学习成绩;
试用SQL语言分别完成下列各题。
(1)求没有选修‘1’号课程的学生姓名。
(2)求选修了课程名为“信息系统”的学生学号和姓名。
(3)求课程号及选修该课程的学生人数。
(4)求每一门课程的间接先行课号(即先行课的先行课)。
36.已知关系S,P,J,SPJ的关系模式为:
S(SNO,SN,CITY);P(PNO,PN,COLOR,WEIGHT);J(JNO,JN,CITY);SPJ(SNO,JNO,PNO,QTY)。
其中:
SNO为供应商号,SN为供应商姓名,CITY为供应商所在城市;PNO为零件号,PN为零件名称,COLOR为零件颜色,WEIGHT为零件重量;JNO为工程项目号,JN为工程项目名称,CITY为工程项目所在城市,QTY为数量。
试用SQL语言完成下列查询:
(1)求出提供红色零件的供应商姓名。
(2)提供零件‘P1’给工程项目‘J1’的供应商姓名。
(3)没有使用‘S1’供应商提供的零件的工程项目名称。
(4)取出由一个以上供应商提供的零件号。
37.现有如下关系模型:
T(T#,TN,G#,AGE,SEX);G(G#,GN,T#);C(C#,CN,HOUR);TC(T#,C#,ROOM)。
其中,教师关系T包括:
教师代码(T#)、姓名(TN)、教研室代码(G#)、年龄(AGE)、性别(SEX);教研室关系G包括:
教研室代码(G#)、教研室名称(GN)、教研室主任的教师代码(T#);课程关系C包括:
课程号(C#)、课程名(CN)、学时(HOUR);任教关系TC包括:
教师代码(T#)、课程号(C#)、教室(ROOM)。
用SQL语言查询:
(1)查询讲授课程名为“数据库”的所有教师的姓名及所在教研室名称。
(2)查询“计算机基础”教研室讲授的所有课程的课程名和学时数。
(3)查询讲授课程在至少四门的教师姓名及所在教研室名称。
38.现有如下关系模型:
T(T#,TN,G#,AGE,SEX);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术 复习题 操作