2004-2005学年第二学期期末考试D2002级计算机科学与技术专业《数据库原理与应用》课程试题一、选择题(15分,每空1分):1.数据库系统中,物理数据独立性(physicaldataindependence)是指____。A.数据库与数据库管理系统的相互独立B.应用程序与DBMS的相互独立C.应用程序与存储在磁盘上数据库的物理模式是相互独立的D.应用程序与数据库中数据的逻辑结构相互独立2.数据库系统的特点是____、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。A.数据共享B.数据存储C.数据应用D.数据保密3.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作的数据库语言称为____。A.数据定义语言(DDL)B.数据管理语言C.数据操纵语言(DML)D.数据控制语言4.在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为①;从表中选出满足某种条件的元组的操作称为②;将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为③。A.选择B.投影C.连接D.扫描5.关系模型中,一个候选码____。A.可由多个任意属性组成B.至多由一个属性组成C.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成D.必须由多个属性组成6.SQL语言是____语言。A.层次数据库B.网络数据库C.关系数据库D.非数据库7.数据库中只存放视图的________。A.操作B.对应的数据C.定义D.限制8.关系数据库规范化是为解决关系数据库中____问题而引人的。A.数据冗余B.提高查询速度C.减少数据操作的复杂性D.保证数据的安全性和完整性9.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的________。A.可靠性B.一致性C.完整性D.安全性10.若事务T对数据对象A加上S锁,则________。A.事务T可以读A和修改A,其它事务只能再对A加S锁,而不能加X锁。B.事务T可以读A但不能修改A,其它事务能对A加S锁和X锁。C.事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁。D.事务T可以读A和修改A,其它事务能对A加S锁和X锁。11.事务的原子性是指________。A.事务中包括的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态12.数据库中的封锁机制(locks)是____的主要方法。A.完整性B.安全性C.并发控制D.恢复13.对并发操作若不加以控制,可能会带来数据的____问题。A.不安全B.死锁C.死机D.不一致二、填空题(15分,每空1分):1.传统的集合“并、交、差”运算施加于两个关系时,这两个关系的①必须相等,②必须取自同一个域。2.指出下列缩写的含义:DBMS①、DBA②。3.在关系A(S,SN,D)和B(D,CN,NM)中,A的主码是S,B的主码是D,则D在S中称为____。4.数据冗余可能导致的问题有①和②。5.数据库在运行过程中可能产生的故障有①、②、③。三、判断题(10分,每小题5分):判断下述结论是否正确,对正确的结论加以证明,对错误的结论说明原因(或举一反例进行说明)。1.view可串行化的调度(schedule)一定也是冲突(conflict)可串行化的调度。2.在确定关系的候选码时,如果属性X在函数依赖的左右都不出现,则候选码中必不包含X。四、简答题(20分,每小题5分):1.简要叙述关系数据库的优点2.什么是关系的外码并举例说明。3.如何通过定义视图和存取控制保证数据库的安全性并用SQL语言举例说明。五、综合题(50分,每小题10分):1.一所大学数据库要记录下述信息:①学校由若干院(COLLEGE)组成,每个院有院名(CONAME)、编号(CONO)和电话号码(COTEL)。院名、编号和电话号码都是唯一的。每个院有若干教师(TEACHER)和学生(STUDENT),开设若干门专业课(COURSE)。②每个学生有姓名(SNAME)、学号(SNO)、身份证号码(SID)、家庭地址(SADDRESS)、出生年月(SBIRTHDAY)、性别(SSEX)、班级(CLASS)和所攻学位(DEGREE)。学号和身份证号码是唯一的。每个学生只能属于一个院,可选修多门课程。③每门课程有课程名(CNAME)、课程号(CNO)和周学时(HOUR)。课程号和课程名是唯一的。每门课程可被多个学生所选,可由多名任课教师来教。④课程安排(COURESPLAN)记录了哪学年(ACADEMICYEAR)、哪学期(SEMESTER)安排了什么课程,这门课程由哪位任课教师来教。用课程安排号(CPNO)唯一地标识。⑤某个学生选修某门课程有一个唯一确定的成绩(GRADE)。⑥每个教师有姓名(TNAME)、身份证号码(TID)、工作证号码(EMPLOYEE'SCARD)、性别(TSEX)、出生年月(TBIRTHDAY)、职称(TITLE)、教龄(SAGE)、家庭地址(TADDRESS)是否硕士研究生导师(MSUPERVISOR)、是否博士研究生导师(DSUPERVISOR)。身份证号码和工作证号码是唯一的。每位教师只能属于一个院,可教授多门课程。其中硕士生导师可指导多名硕士研究生,博士生导师可指导多名硕士研究生和博士研究生。根据上述语义信息画出此数据库的E-R图(实体名和属性名的命名根据题中给出的英文名称来定)。2.把上述数据库的E-R图转换为关系模型,给出每个关系中的函数依赖和每个关系的主码和外码。3.设有下图1所示的三个关系。其中各个属性的含义如下:A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PMCE(价格)、QTY(商品数量)。试用SQL语言写出下列查询,并给出执行结果:(1)找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。(2)找出至少供应代号为256的商店所供应的全部商品的商店名和所在城市。AA#ANAMEWQTYCITY101韶山商店15长沙204前门百货商店89北京256东风商场501北京345铁道商店76长沙620第一百货公司413上海BB#BNAMEPRICE1毛笔212羽毛球7843收音机13254书包242ABA#B#QTY10111051012421013251014104204361256124125629134511413452183454746024125图1关系A、B和AB4.设有如下表所示的三个关系S、C和SC。试用关系代数表达式表示下列查询语句:(1)检索籍贯为上海的学生的姓名、学号和选修的课程号。(2)检索选修了全部课程的学生姓名和年龄。S学号姓名年龄性别籍贯98601王晓燕20女北京98602李波23男上海98603陈志坚21男长沙98604张兵20男上海98605张兵22女武汉C课程号课程名教师姓名办公室C601高等数学周振兴416C602数据结构刘建平415C603操作系统刘建平415C604编译原理王志伟415SC学号课程号成绩98601C6019098601C6029098601C6038598601C6048798602C6019098603C6017598603C6027098603C6045698604C6019098604C6048598605C6019598605C603805.设有关系模式R(U,F),其中:U={C,T,H,R,S,G},F={CSG,CT,THR,HRC,HSR}请根据算法(Figure)将R分解为满足BCNF且具有无损连。解:F1={C,S,G},F2={C,T},F3={C,H,R},F4={C,H,S}试题答案一、选择题:1.答案:C2.答案:A3.答案:C4.答案:①B②A③C5.答案:C6.答案:C7.答案:C8.答案:A9.答案:D10.答案:C11.答案:A12.答案:C13.答案:D二、填空题:1.传统的集合“并、交、差”运算施加于两个关系时,这两个关系的①必须相等,②必须取自同一个域。答案:①属性个数②相对应的属性值2.指出下列缩写的含义:①DBMS数据库管理系统、②DBA数据库管理员。3.在关系A(S,SN,D)和B(D,CN,NM)中,A的主码是S,B的主码是D,则D在S中称为____。答案:外码4.数据冗余可能导致的问题有①和②。答案:①浪费存储空间及修改麻烦②潜在的数据不一致性5.数据库在运行过程中可能产生的故障有①、②、③。答案:①Transactionfailure②Systemcrash③Diskfailure三、判断题:1.结论错误。例如581页Schedule9isaviewserializableschedulebutisnotaconflictserializableschedule.2.结论错误。在确定关系的候选码时,如果属性X在函数依赖的左右都不出现,则候选码中必包含X,因为只有X能够函数决定X。四、简答题:1.简要叙述关系数据库的优点答:关系数据库是以关系模型作为数据的组织方式,关系模型是建立在严格的数学概念基础上的,关系数据库的主要优点是概念简单清晰,用户不需了解复杂的存取路径,不需说明“怎么干”,只需说明“干什么”,易懂易学。2.什么是关系的外码并举例说明。答:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,也称外码。学生数据库中有关系STUDENT(SNO,SNAME,SEX,AGE)、关系COURSE(CNO,CNAME)和关系SC(SNO,CNO,GRADE),SC关系中SNO是外码,其参照关系是STUDENT;CNO也是外码,其参照关系是COURSE。3.如何通过定义视图和存取控制保证数据库的安全性并用SQL语言举例说明。视图能够对机密数据提供安全保护。有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使机密数据不出现在不应看到这些数据的用户视图上,这样就由视图的机制自动提供了对机密数据的安全保护功能。例如Student表涉及三个系的学生数据,可以在其上定义三个视图,每个视图只包含一个系的学生数据,并只允许每个系的学生查询自己所在系的学生视图。例:建立信息系学生的视图。CREATEVIEWIS_StudentASSELECTSno,Sname,SageFROMStudentWHERESdept='IS';数据库的安全性是指保护数据库,防止不合法的使用所造成的数据泄露和破坏。数据库系统中保证数据安全性的主要措施是进行存取控制,即规定不同用户对于不同数据对象所允许执行的操作,并控制各用户只能存取他有权存取的数据。不同的用户对不同的数据应具有何种操作权力,是由DBA和表的建立者(即表的属主)根据具体情况决定的,SQL语言则为DBA和表的属主定义和回收这种权力提供了手段。例:把查询Student表权限授给用户U1。GRANTSELECTONTABLEStudentTOU1;五、综合题:1.略2.略3.(1)找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。SELECTA#,ANAMEFROMA;WHEREWQTY<=100ORCITY=’长沙’AA#ANAME101韶山商店204前门百货商店345铁道商店(2)找出至少供应代号为256的商店所供应的全部商品的商店名和所在城市。SELECT,FROMA,B;WHERE#=#AND#IN(SELECT#FROMABWHEREA#=’256’)4.解:(1)Π2,6,7(σ籍贯=’上海’(SSC)(2)Π2,3(S(Π1,2(SC)Π1(C))5.设有关系模式R(U,F),其中:U={C,T,H,R,S,G},F={CSG,CT,THR,HRC,HSR}请根据算法(Figure)将R分解为满足BCNF且具有无损连。解:F1={C,S,G},F2={C,T},F