四川大学数据库技术复习题 三 操作题 下载本文

用SQL语言查询:

(1) 查询张明所借的图书名。

(2) 查询2008年10月1日前借出的图书名。 (3) 查询没有借阅“数据库系统原理”的借阅者姓名。

45. 设有以下四个关系模式:employee(person-name,street,city); works(person-name,company-name,salary); company(company-name,city); manages(person-name,manager-name), 用SQL语言实现下列查询:

(1) 找出First Bank Corporation所有年收入在10000美元以上的员工的姓名和居住的街道、城市。

(2) 找出所有居住地域工作的公司在同一城市的员工的姓名。 (3) 找出此数据库中不在First Bank Corporation工作的所有员工的姓名。

46. 高校项目管理数据库中的关系如下:

Teacher(tnu,tname,sex,age,degree,depart);

Project(pnu,pname,type,fee,starttime,endtime,conclusion) Implicate(tnu, pnu,role,period)。其中Teacher表示教师,可简单地用T表示,tnu,tname,sex,age,degree,depart分别表示教师编号、姓名、性别、年龄、学历和所属部门;Project表示项目,可简单地用P表示, pnu,pname,type,fee,starttime,endtime,conclusion分别表示项目编号、名称、类型、费用、开始时间、结

束时间和结题结论。Implicate表示参与,可简单地用I表示,role,period分别表示教师在项目中承担的角色和参与的时间(月数)。 用SQL语句实现下列查询

(1) 参与过20万元及以上项目的教师姓名和所属部门; (2) 至少参与过两个项目的教师姓名和年龄。 (3) 查询编号为“P05”的项目的结题情况; (4) 列出所有的纵向(不是横向)项目;

(5) 参与过类型为”863”项目的教师姓名和年龄; (6) 统计每个教师参与纵向项目的次数; (7) 将修改三张表的权限授予“徐辉”。

47. 现有如下关系模型: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) 能讲授“编译原理”课程且年龄不大于30岁的教师名字和年龄。

48.设有供应商关系S和零件关系P,如下图所示,S和P的主键分别是“供应商号”和“零件号”,P的外键是“供应商号”。

分析下列3个操作能否被正确执行,并说明理由。 (1) 在P中插入元组(′P2′,′白′,′A2′) (2) 在P中插入元组(NULL,′绿′,′A1′) (3) 在P中插入元组(′P4′,′白′,′A5′)

49. 有4个关系模式如下:

出版社(出版社编号,出版社名称)

图书 (图书编号,书名,出版社编号,定价) 作者 (作者编号,姓名)

著书 (图书编号,作者编号,作者排序) 注:作者排序=1表示第一作者,依此类推。 用SQL语句,完成下面的查询。 (1) 检索所有定价超过20元的书名。 (2) 统计每个出版社图书的平均定价。 (3) 将科学出版社的所有图书定价下调5%。

(4) 列出所有图书的书名、第一作者姓名和出版社名称。

50. 学生选课数据库有三个表即学生表S、课程表C和学生选课表SC,它们的结构如下所示,请根据所给的每种功能写出相应的查询语句。(每小题5分,共20分)

S(S# ,SN ,SEX ,AGE ,DEPT) C(C# ,CN)

SC(S# ,C# ,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。 (1) 统计学生选课数据库中学生的总人数。 (2) 查询学生姓名及其所选修课程的课程号和成绩。

(3) 从学生选课库中查询出被2至4名学生选修的所有课程信息。 (4) 从学生选课库中查询出选修至少两门课程的学生学号。