2011年数据库系统概论试题及答案——卷2一、选择题(每题2分,共40分)1、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是阶段。A.数据库系统B.文件系统C.人工管理D.数据项管理2、据库系统的核心是。A.数据库B.数据库管理系统C.数据模型D.软件工具3、数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是。A.DBS包括DB和DBMSB.DDMS包括DB和DBSC.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS4、据库系统的最大特点是。A.数据的三级抽象和二级独立性B.数据共享性C.数据的结构化D.数据独立5、关系运算中花费时间可能最长的运算是。A.投影B.选择C.笛卡尔积D.除6、如图所示,两个关系R1和R2,它们进行运算后得到R3。R2R1ABCACD121XYyR3ABCDEACC112XYyMMNIIJA.交B.并C.笛卡尔积D.连接7、若用如下的SQL语句创建一个student表:DEM125MNMIJKCREATETABLEstudent(NOC(4)NOTNULL,NAMEC(8)NOTNULL,SEXC(2),AGEN(2))可以插入到student表中的是。A.(‘1031’,‘曾华’,男,23)B.(‘1031’,‘曾华’,NULL,NULL)C.(NULL,‘曾华’,‘男’,‘23’)D.(‘1031’,NULL,‘男’,23)8、保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的。A.安全性B.完整性C.并发控制D.恢复9、在SQLServer中删除触发器用()。A.ROLLBACKB.DROPC.DELALLOCATED.DELETE10、在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的________约束。A.实体完整性B.参照完整性C.用户自定义D.用户操作11、在关系DB中,任何二元关系模式的最高范式必定是。A.1NFB.2NFC.3NFD.BCNF12、在关系数据库设计中,设计关系模式是的任务。A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段13、下图所示的E-R图转换成关系模型,可以转换为关系模式。A.1个B.2个C.3个D.4个14、是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。价格借阅日期借阅借书人图书借书证号姓名单位总编号书名分类号作者位置mnA.程序B.命令C.事务D.文件15、设有两个事务T1、T2,其并发操作如下所示,下面评价正确的是。A.该操作不存在问题B.该操作丢失修改C.该操作不能重复读D.该操作读“脏”数据T1T2①读A=10②③A=A-5写回④读A=10A=A-8写回16、用于数据库恢复的重要文件是。A.数据库文件B.索引文件C.日志文件D.备注文件17、概念模型独立于。A.E-R模型B.硬件设备和DBMSC.操作系统和DBMSD.DBMS18、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是。A.2NFB.3NFC.4NFD.BCNF19、把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是A.GRANTGRADEONSCTOZHAOB.GRANTUPDATEONSCTOZHAOC.GRANTUPDATE(GRADE)ONSCD.GRANTUPDATEONSC(GRADE)TOZHAO20、学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是。A.SELECTS#,SUM(GRADE)FROMSCWHEREGRADE>=60GROUPBYS#ORDERBY2DESCHAVINGCOUNT(*)>=4WHEREC#=“C2”ANDGRADE>=(SELECTGRADEFORMSCWHEREC#=“C2”)B.SELECTS#FORMSCWHEREC#=“C2”ANDGRADEIN(SELECTGRADEFORMSCWHEREC#=“C2”)C.SELECTS#FORMSCWHEREC#=“C2”ANDGRADENOTIN(SELECTGRADEFORMSCWHEREC#=“C2”)D.SELECTS#FORMSCWHEREC#=“C2”ANDGRADE>=ALL(SELECTGRADEFORMSCWHEREC#=“C2”二、填空题(每空2分,共30分)1、关系代数运算中,基本的运算是①、②、③、④和⑤。答案:①并②差③笛卡尔积④投影⑤选择2、实体之间的联系可抽象为三类,它们是①、②和③。答案:①1∶1②1∶m②m∶n3、DBMS存取控制机制主要包括两部分:自主存取控制,________________。答案:强制存取控制4、设有如下关系表R:R(No,NAME,SEX,AGE,CLASS)主关键字是NO其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。①插入一个记录(25,“李明”,“男”,21,“95031”);。②插入“95031”班学号为30、姓名为“郑和”的学生记录;。③将学号为10的学生姓名改为“王华”;。④将所有“95101”班号改为“95091”;。⑤删除学号为20的学生记录;。⑥删除姓“王”的学生记录;。答案:①INSERTINTORVALUES(25,“李明”,“男”,21,“95031”)②INSERTINTOR(NO,NAME,CLASS)VALUES(30,“郑和”,“95031”)③UPDATERSETNAME=“王华”WHERENO=10④UPDATERSETCLASS=“95091”WHERECLASS=“95101”⑤DELETEFROMRWHERENO=20⑥DELETEFROMRWHERENAMELIKE“王%三、综合题(每题15分,共30分)1、已知学生关系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。(1)写出关系模式S的基本函数依赖和主码。(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?(3)将关系模式分解成3NF,并说明为什么?答:(1)关系模式S的基本函数依赖如下:Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course)→Grade关系模式S的码为:(Sno,Course)。(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?答:原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:S1(Sno,Sname,SD,Sdname)S2(Sno,Course,Grade)(3)将关系模式分解成3NF,并说明为什么?答:将上述关系模式分解成3NF如下:关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解如下:S11(Sno,Sname,SD)S12(SD,Sdname)分解后的关系模式S11、S12满足3NF。对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。S11(Sno,Sname,SD)S12(SD,Sdname)S2(Sno,Course,Grade)2.设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。(15分,每小题5分)S(S#,SNAME,AGE,SEX)例:(001,'李强',23,’男')SC(S#,C#,SCORE)例:(003,'C1',83)C(C#,CNAME,TEACHER)例:('C1','数据库原理','王华')(1)试用关系代数检索选修了“程军”老师所授课程之一的学生姓名。(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。(3)试用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。(4)试用SQL找出“程序设计”课程成绩在90分以上的学生姓名。答案:(1)∏SNAME(SSCTEACHER='程军'(C))(2){T(1)|($U)($V)($W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}(3){T(1)|($V)($W)(SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}(4)SELECTSNAMEFROMS,SC,CWHERES.S#=SC.S#ANDSC.C#=C.C#ANDSCORE=90ANDCNAME='程序设计'或者SELECTSNAMEFROMSWHERERS.S#IN(SELECTS#FROMSCWHERESCORE=90ANDC.C#IN(SELECTC#FROMCWHERECNAME='程序设计')附录:sql与关系代数汇总1、已知学生表S和学生选课表SC。其关系模式如下。S(SNO,SN,SD,PROV)SC(SNO,CN,GR)其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作:(1)查询“信息系”的学生来自那些省区。(2)分数降序排序,输出“中文系”学生选修了“计算机”课程的学生的姓名和分数。2、已知学生表S、课程表C和学生选课表SC,它们的关系模式如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。试用SQL语言完成下列问题。(1)检索选修课程“C2”的学生中成绩最高的学生的姓名和学号。(2)检索四门及四门以上课程学生。3、设有下列关系模式:STUDENT(SNO,SNAME,AGE,SEX,DNO)其中,SNO表示学号,CNAME表示姓名,AGE表示年龄,SEX表示性别,DNO表示院系号。SC(SNO,CNO,GRADE),其中SNO表示学号,CNO表示课程号,GRADE表示成绩。COURSE(CNO,CNAME),其中CNO表示课程号,CNAME表示课程名。请用关系代数表示下列查询:1)检索成绩大于85分的学生的学号、姓名。2)检索选修课程号为C1的学生的学号,姓名,课程名和成绩。3)检索选修了全部课程的学生的学号、姓名和年龄。4、创建一个学生表student,它由学号sno、姓名sname、性别ssex、年龄sage、所在系sdept五个属性组成,其中学号为主码,姓名取值是唯一的,年龄在13-45岁之间。5、假设学生选课数据库关系模式如下:Student(SNo,SName,SAge,SDept);Course(CNo,CName);SC(SNo,CNo,Score);1).用关系代数进行如下查询:学生王芳的“计算机组成原理”课成绩。2).用数据逻辑规则进行如厂查询:学号为20020202的学生的系别和年龄。6、假设学生一课程数据库关系模式如下:Student(Sno,Sname,Sage,Ssex);Course(Cno,Cname,Teacher);SC(Sno,Cno,Grade)。用SQL语句表达下列查询:1.求张老师讲