关系数据库与SQL语言模拟试题(A ) 参考答案.doc
关系数据库与SQL语言模拟试题(A )答案一、 项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1.5分,共23分)1.数据库类型是按照( B )来划分的。 A.文件形式 B.数据模型 C.记录形式 D.数据存取方法2.建立数据字典的时机是( A ) A.需求分析阶段 B.数据库物理设计阶段 C.数据库实施 D.概念结构设计阶段3.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( D )A.多对多 B.一对一 C.多对一 D.一对多4.对数据库并发操作有可能带来的问题包括( A )A.读出“脏数据” B.带来数据的冗余 C.未被授权的用户非法存取数据 D.破坏数据独立性5.在视图上不能完成的操作是( C ) A.更新视图 B.查询 C.在视图上定义新的基本表 D.在视图上定义新视图6.关系代数表达式的优化策略中,首先要做的是( B ) A.对文件进行预处理 B.尽早执行选择运算 C.执行笛卡儿积运算 D.投影运算7.反映现实世界中实体及实体间联系的信息模型是( D ) A.关系模型 B.层次模型 C.网状模型 D.ER模型8.要保证数据库的数据独立性,需要修改的是( A ) A.三层模式之间的两种映射 B.模式与内模式 C.模式与外模式 D.三层模式9.下列四项中说法不正确的是( C ) A.数据库减少了数据冗余 B.数据库中的数据可以共享 C.数据库避免了一切数据的重复 D.数据库具有较高的数据独立性10.哪一个操作符经常出现在单行子查询中?( A )A. =B INC LIKED BETWEEN二、填空(每空1分,共13分)1.数据库的逻辑模型设计阶段,任务是将(E-R图转换为二维表)。2.关系模型三类完整性规则为(实体完整性)、(参照完整性)、(用户自定义完整性)。3.SQL语言提供数据库定义、(数据操纵)、数据控制等功能。4.并发控制的基本单位是(事务)。5.在关系模式R(U)中,如果XY,YZ,且Y不是X的子集,不存在XY的情况,则称Z( 传递 )依赖于X。6.SQL语言支持关系数据库三级模式结构,其中外模式对应于(视图),模式对应于(全部基本表),内模式对应于(存储文件)。7.当数据库被破坏后,如果事先保存了(日志文件)和数据库的副本,就有可能恢复数据库。 四、SQL程序设计题(每小题3分,共24分) 1.对于教学数据库的三个基本表S(SNO,SNAME,AGE,SEX,SDEPT) SC(SNO,CNO,GRADE) C(CNO,CNAME,CDEPT,TNAME) 试用SQL的查询语句表达下列查询 (1)检索LIU老师所授课程的课程号、课程名 答:select cno,cname from c where tname=LIU(2)检索全部学生都选修的课程的课程号与课程名答:select cno,cname from c where not exists(select * from sc where not exists (select * from s where sno=sc.sno and o=o)(3)检索选修课程包括LIU老师所授课程的学生学号 答:select sno from sc ,c where o=o and c.tname=LIU(4)求选修C4课程的学生的平均年龄 答:select avg(age) from s,sc where s.sn=sc.sno and o=C4(5)统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 答:select cno,count(sno) from sc group by cno having count(sno)>10 order by count(sno) desc ,cno(6)在基本表SC中修改C4课程的成绩,若成绩小于等于75时提高5%,若成绩大于75分时提高4%(用两个update语句实现)。 答:update sc set grade=grade*1.05 where grade<=75 and o=c4 update sc set grade=grade*1.04 where grade>75 and o=c42.假设某“仓库管理”关系模型有下列五个关系模式:零件PART(PNO,PNAME,COLOR,WEIGHT)项目PROJECT(JNO,JNAME,DATE)供应商SUPPLIER(SNO,SNAME,SADDR)供应P_P(JNO,PNO,TOTAL)采购P_S(PNO,SNO,QUANTITY)(1)试用SQL DDL语句定义PROJECT、P_P、PART三个基本表,并说明主键和外键答:create table project(jno int primary key,jname varchar(10),date datetime) create table p_p(jno int foreign key references project(jno),pno int foreign key references part(pno),待添加的隐藏文字内容2total int)create table part(pno int primary key,pname varchar(10),color varchar(4),weight int)(2)试将PROJECT、P_P、PART三个基本表的自然连接定义为一个视图VIEW1。 答:create view view1 as select project.JNO,JNAME,DATE, part.PNO,PNAME,COLOR,WEIGHT , TOTAL from project,p_p,part where project.jno=p_p.jno and p_p.pno=part.pno 六、综合题(20分)1.假设要根据某大学的系、学生、班级、学会等建立一个数据库,一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可以参加多个学会,每个学会有若干学生,学生参加某学会有个入会年份。试为该大学的系、学生、班级、学会等信息设计一个E-R模型。(5分)(E-R图从略) 2.设关系模式R(ABCD), F是R上成立的FD集,F=AB->CD,A->D。(6分) (1)试说明R不是2NF模式的理由 答:因为码为AB,A->D,所以D部分依赖于码,所以R不是2NF模式。 (2)试把R分解成2NF模式集。 答:把R分解为R1=(ABC),F1=AB->C R2=(AD),F2=A->D R1,R2均是2NF模式集。 3.在ER模型中,如果实体间是1M的联系,如何设计相应部分的关系模型?(3分) 答:如果实体间是1M的联系,则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。