数据库原理复习题一、单项选择题1、()的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作A、关系模型B、层次模型C、网状模型D、以上都是2、SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()。A、完整性B、可靠性C、安全性D、一致性3、一个关系只有一个()A、候选码B、主码C、超码D、外码4、关系模式中,满足2NF的模式()。A、可能是1NFB、必定是BCNFC、必定是3NFD、必定是1NF5、如果事务T获得了数据项Q上的排它锁,则T对Q()。A、只能读不能写B、只能写不能读C、既可读又可写D、不能读不能写6、在ER模型中,如果有3个不同的实体型,3个M:N联系,根据ER模型转换为关系模型的规则,转换为关系的数目是()。A、4B、5C、6D、77、“年龄在15至30岁之间”这种约束属于DBMS的()功能。A、恢复B、并发控制C、完整性D、安全性8、解决事务并发操作带来的数据不一致性问题普遍采用()技术。A、封锁B、恢复C、存储D、协商9、关系数据库中的关系必须满足:其中的每一属性都是()。A、互不相关B、不可再分C、长度可变D、互相关联10、在两个实体类型间有一个M:N联系时,这个结构转换成的关系有()个。A、1B、2C、3D、411、描述数据库全体数据的全局逻辑结构和特性的是()。A、存储模式B、外模式C、内模式D、模式12、若R为n元关系,S为m元关系,则R×S为()元关系。A、mB、nC、m+nD、m×n13、数据系统的概念模型独立于()。A、具体的机器和DBMSB、信息世界C、E--R图D、现实世界14、关系数据库中的关系必须满足:其中的每一属性都是()。A、互不相关B、不可再分C、长度可变D、互相关联15、X→Y,当下列哪一条成立时,称为平凡的函数依赖()。A、X∩Y=ΦB、X∩Y≠ΦC、XYD、YX16、当两个子查询的结果()时,可以执行并、交、差操作。A、结构完全不一致B、结构部分一致C、结构完全一致D、主键一致二、填空题1、设有关系模式R(S,D,M),其函数依赖集:F={S→D,D→M},则关系模式R的规范化程度最高达到。2、数据库系统的数据独立性包括独立性和独立性。3、关系模型中有三类完整性约束,它们是、、。4、关系数据模型中,二维表的列称为,二维表的行称为。5、关系数据库的规范化理论是数据库设计的一个有力工具。6、数据库系统并发控制中,排他锁又称为(),共享锁又称为()。7、E—R模型是现实世界的一种抽象,它的主要组成是()、()、()。8、数据库系统的特点主要包括()、()、()、()。9、若一个关系模式满足()为1NF,()为2NF,()为3NF。10、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于()。三、简答题1、什么是数据库恢复?简述数据库恢复的基本技术。2、简述函数依赖的一般定义,什么是非平凡的函数依赖,什么是平凡的函数依赖?四、E-R图操作试给出三个实例的E_R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系。学生选修m课程n五、综合题1、建立一个学生信息表student,表中有5个字段:学号Sno(字符型),姓名Sname(字符型),性别Ssex(字符型),年龄Sage(整型),所在系Sdept(字符型),其中Sno是关系的码;用SQL语言完成题目1-6:(1)、建立学生信息表student。(要求:包含主码的定义;定义学生的年龄在15到40之间)(2)、添加一个学生记录,编号为‘0910010001’,姓名为‘吴鹏’,性别为‘男’,年龄为21,所在系为‘计算机系’。(3)、更新学生记录,把编号为‘0910010012’的学生信息更新为如下内容:姓名为‘张萌’,性别为‘女’,年龄为22,所在系为‘传媒技术系’。(4)、查询计算机系所有年龄小于20的学生的姓名。(5)、定义视图,完成如下功能:输出学生平均年龄大于19的系及该系学生的平均年龄。(6)、将查询student表的权限授予用户admin,并允许该用户将此权限授予其他用户。(7)、写出题目4的关系代数表述形式。2、建立一个教职工关系表TEACHER,表中有6个字段:教职工编号NO(字符型),姓名NAME(字符型),性别SEX(字符型),年龄AGE(整型),职称PROF(字符型),所在系DEPART(字符型),其中NO是关系的码;用SQL语言完成题目1-6:(1)、建立教职工关系表TEACHER。(要求:包含主码的定义;定义职工的性别必须取值为‘男’或‘女’)(2)、添加一个教职工记录,编号为‘021912’,姓名为‘王敏’,性别为‘女’,职称为‘助教’,所在系为‘计算机系’。(3)、更新教职工记录,把编号为‘021923’的教师信息更新为如下内容:姓名为‘朱湘’,性别为‘女’,职称为‘教授’,所在系为‘传媒技术系’。(4)、查询计算机系所有年龄大于30岁的女教师的姓名。(5)、定义视图,完成如下功能:输出教师平均年龄大于30的系及该系教师的平均年龄。(6)、将查询TEACHER表的权限授予用户U1,并允许该用户将此权限授予其他用户。(7)、写出题目4的关系代数表述形式。六、查询优化给定图书管理数据库,包括如下三个表。图书表Book:书号(BnoChar(20)),书名(BnameChar(30)),作者(BauthorChar(15)),出版社(BpublisherChar(15)),其中Bno为主码。学生表Student:借书证号(Lno,Char(12)),学号(SnoChar(10)),姓名(SnameChar(8)),所在系(SdChar(15)),其中借书证号为主码。借阅表L:书号(BnoChar(20)),借书证号(Lno,Char(12)),借阅日期(LdateDate),主码为(Bno,Lno)。查询借阅图书号为“B001”的学号、姓名和借阅日期,请完成以下题目。1、写出上述查询要求的SQL语句2、写出上述查询要求的关系代数表达式3、画出用关系代数表示的语法树4、画出优化后的标准语法树七、关系数据理论设有如图所示的学生关系student:学生号学生名年龄性别系号系名100001王婧18女D3通信工程100002张露19女D1电子工程200001黎明远20男D2计算机200002潘建21男D3通信工程试问student是否属于3NF?为什么?若不是,它属于第几范式?并将其规范化为3NF?八、给定喝酒者-啤酒数据库中包括如下三个表,表已建立。●beers(beername,manf,price),分别表示啤酒名称,生产厂商,价格。beername为主码;●drinkers(drinkerid,drinkername,addr,phones),分别表示喝酒者编号,喝酒者姓名,住址和联系电话,drinkerid为主码;●likes(drinkerid,beername)分别表示喝酒者编号,喜欢喝的啤酒名称。drinkerid和beername是主码。要求写出每小题的关系代数表达式和SQL语句。1、查找所有喜欢喝“青岛啤酒”的喝酒者的姓名和电话。2、查找“李明”喜欢喝的所有啤酒的名称和生产厂商。3、查找“刘晨”喜欢喝的所有啤酒的名称,价格以及刘晨的住址和联系电话。4、查找喝酒者编号为“3002”的喝酒者喜欢喝的啤酒的名称、生产厂商以及价格。九.今有一个层次数据库实例,试用子女-兄弟链接法和层次序列链接法画出它的存储结构示意图。十.设有如图所示的关系R职工号职工名年龄性别单位号单位名E1ZHAO20FD3CCCE2QIAN25MD1AAAE3SEN38MD3CCCE4L125FD3CCC试问R属于3NF?为什么?若不是,它属于第几范式?并如何规范化为3NF?参考答案一、单项选择题1-5ACBDC6-10CCABC11-15DCABD16C二、填空题1、2NF2、逻辑物理3、实体完整性参照完整性用户定义完整性4、属性元组(记录)5、逻辑结构6、写锁(X锁)读锁(S锁)7、实体属性联系8、数据库系统的特点:(数据结构化)、(数据的共享性高)、(数据独立性高)、(数据由DBMS统一管理和控制)。9、若一个关系模式满足:(每个属性不能再分)为1NF,(当消除了非主属性对码的部分函数依赖)为2NF,(消除了非主属性对码的传递函数依赖)为3NF。10、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于(第一范式1NF)。三、简答题1、什么是数据库恢复?简述数据库恢复的基本技术。把数据库从错误状态恢复到某一已知的正确状态(即一致状态或完整状态),就是数据库恢复。数据库恢复的基本技术是数据转储和登录日志文件。即根据存储在系统别处的冗余信息来恢复数据库系统。转储即DBA按照一定的策略将数据库复制到磁带或另一个磁盘上保存起来的过程。日志文件是用来记录事务对数据库的所有更新操作的文件,包括数据库内部的更新操作。不同数据库系统采用的日志文件格式是不同的。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。(4分)2、简述函数依赖的一般定义,什么是非平凡的函数依赖,什么是平凡的函数依赖?设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但YX,则称X→Y是非平凡的函数依赖,若X→Y,但YX,则称X→Y是平凡的函数依赖四、E-R图操作一对一:学员和座位的关系.学员联系1座位1一对多:学生和班级之间的归属关系班级归属1学生n多对多:学生和课程之间的选修关系五、综合题1、(1)、CREATEtablestudent(snochar(8)primarykey,snamevarchar2(20)notnull,ssexvarchar2(2)check(ssexin(‘男’,’女’)),sageintcheck(sagebetween15and40),sdeptvarchar2(20))(2)、INSERTintostudent(sno,sname,ssex,sage,sdept)values(‘0910010001’,’吴鹏’,’男’,21,’计算机系’)(3)、UPDATEstudentsetsname=’张萌’,ssex=’女’,sage=22,sdept=’传媒技术系’wheresno=’0910010012’(4)、SELECTsnameFromstudentWheresdept=’计算机系’andsage20(5)、CREATEviewv_studentAsSELECTsdept,avg(sage)平均年龄FromstudentGroupbysdeptHavingavg(sage)19(6)、GRANTselectonstudenttoadminwithgrantoption7、Πname(σsdept=’计算机系’andsage20(student))2、(1)、CREATEtableteacher(Nochar(8)primarykey,Namevarchar(20)notnull,Sexvarchar(2)check(sexin('男','女')),Ageintcheck(agebetween15and40),Profvarchar(6),Departvarchar(20))(2)、INSERTintoteachar(no,name,sex,prof,depart)values('021912','王敏','女','助教','计算机系')(3)、UPDATEteachersetname='朱湘',sex='女',prof='教授',depart='传媒技术系'whereno='021923'(4)、SELECTno,nameFromteacherWh