数据库技术复习题2 操作题 下载本文

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) 查找和John Smith的车有关的事故数量。 (3) 查找出过三次以上事故的司机姓名。 (4) 删除John Smith的马自达车(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表达如下查询: