宁波工程学院2015–2016学年第2学期《数据库理论与技术》课程期中考试卷一、单项选择题(每小题1分,共20分)1. ( B )是长期存储在计算机内、有组织的、可共享的数据集合。
A.数据库系统 B.数据库 C.关系数据库 D.数据库管理系统2. 下面哪个不是数据库系统必须提供的数据控制功能(B )。
A.安全性 B.可移植性 C.完整性 D.并发控制3. 通过修改( C )可以保证数据库的逻辑独立性。
A.模式 B.外模式C.外模式/模式映射 D.模式/内模式映射4. 学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系种类是( D )。
A.多对多B.一对一C.多对一D.5. 结构数据模型的三个组成部分中,不包括( C )。
A.完整性规则 B.数据结构 C.恢复 D.数据操作6. SQL中,下列涉及空值的操作,不正确的是( C )。
A.AGE IS NULL B.AGE IS NOT NULLC.AGE=NULL D.NOT(AGE IS NULL)7. 设有关系模式R (A ,B ,C ),其关系r 如右表所示:下面叙述正确的是( B )。
A .函数依赖 A →B 在上述关系中成立B .函数依赖 BC → A 在上述关系中成立C .函数依赖 B → A 在上述关系中成立D .函数依赖 A → BC 在上述关系中成立8. 关系数据库规范化是为了解决关系数据库中( A )。
A .插入、删除和数据冗余问题而引入的B .提高查询速度问题而引入的C .减少数据操作的复杂性问题而引入的D .保证数据的安全性和完整性问题而引入的9. 实现关系代数选择运算的SQL 子句是( D )。
A .SELECTB .ORDER BYC .FROMD .WHERE10.设关系R 和S 的属性个数分别为2和3,则与关系代数表示式12R S >等价的是( B )。
A .12(R S)σ>⨯B .14(R S)σ>⨯C .14(R S)σ>D .12(R S)σ> 11.在关系模式R(A,B,C,D)中,有函数依赖集F={A→B,B→C,C→D},则R 能达到( B )。
A .1NFB .2NFC .3NFD .以上三者都不行12.SQL 的视图是从( C )中导出的。
A .基本表B .视图C .基本表或视图D .数据库13.在关系数据库中,实现数据之间联系的是( B )。
A .主键码B .外键码C .域D .指针14.下面列出的选项,哪项是关系数据库的基本特征? ①.不同的列应有不同的数据类型;②.不同的列应有不同的列名;③.与行的次序无关;④.与列的次序无关。
( C )A.仅① B.仅② C.②、③、④ D.全部15.在分组检索中,要去掉不满足条件的记录和不满足条件的分组,应当(D )。
A.使用WHERE子句 B.先使用HAVING子句,再使用WHERE子句C.使用HAVING子句 D.先使用WHERE子句,再使用HAVING子句16.关系模型中,一个关键字是( C )。
A.可由多个任意属性组成 B.至多由一个属性组成C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成D.以上都不是17.下面列出的条目中,哪些是数据库技术的主要特点?( A )Ⅰ.数据的结构化;Ⅱ.数据的冗余度小;Ⅲ.较高的数据独立性;Ⅳ.程序的标准化A.Ⅰ、Ⅱ和Ⅲ B.Ⅰ和Ⅱ C.Ⅰ、Ⅱ和Ⅳ D.都是18.设有关系模式R(A,B,C),F是R上成立的函数依赖集,F={B→C,C→A},那么分解ρ={AB,AC}相对于F( B )。
A.是无损分解,也保持函数依赖 B.既不是无损分解,也不保持函数依赖C.不是无损分解,但保持函数依赖 D.是无损分解,但不保持函数依赖19.关系运算中花费时间可能最长的运算是( D )。
A.投影 B.选择 C.笛卡尔积 D.自然联接20.在数据库设计过程中,需求分析阶段产生的结构可以是数据字典和( D )。
A. 实体-联系图B. 三级模式图C.E-R图D.数据流图二、填空题(每空1分,共20分)1.当前数据库系统的主流是关系数据库系统。
2.从数据库管理系统角度看,数据库系统通常采用三级模式结构,即数据库系统由内模式、模式和外模式组成。
3. 数据结构化是数据库系统与文件系统的根本区别。
4.数据独立性是指应用程序和数据之间相互独立,分为逻辑独立性和物理独立性。
5.实体完整性是指关系中的主键码不允许取空值。
6.一个实体集的某个属性(集)值只能引用另一实体集确实存在的键码属性(集)值,这称为引用完整性。
7.在关系数据库的规范化理论中,模式分解等价的概念主要是从分解是否能保持函数依赖和无损联接来考虑的。
8.一个关系模式R(x1, x2, x3, x4),假定该关系存在着如下函数依赖:x1→x2,x1→x3,x3→x4,则该关系属于第二范式。
9. 日子文件记录了SQL Server所有的事务和由这些事务引起的数据库的变化。
10.设一个关系A具有a1个属性和a2个元组,关系B具有b1个属性和b2个元组,则关系A×B具有 a1 +a2 个属性和 b1*b2 个元组。
11.设有关系R(书号,书名),如果要检索书名中至少包含4个字母,且第3个字母为M的图书,则SQL查询语句中WHERE子句的条件表达式应写成书名 like ‘??M_’。
12.DBMS可分为层次型、网状型、 _ 关系型、面向对象型等四种类型。
13.考察系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系:“系”这个关系的主键是系编号,外键是无;“学生”这个关系的主键是学号,外键是系编号。
三、关系代数题(每小题2分,共10分)已知三个关系模式:s(sno, sname, sex, dept),其中s表示学生表,4个属性分别表示学号、姓名、性别和系名;c(cno, cname, credit, teacher),其中c表示课程表,4个属性分别表示课程号、课程名、学分和任课教师;sc(sno, cno, grade),其中sc表示选课表,3个属性分别表示学号、课程号和成绩。
请用关系代数表达式完成下列操作。
1.查询任课教师为“张明”的所有课程号和课程名;ΠCNO,CNAME (σteacher=‘张明’(C))2.查询“计算机系”所有选修“数据库技术与设计”课程的“男”学生的学号和姓名;πSNO,SNAME (σdept>’计算机系’∧SEX=‘男’(S) ♦SC♦σCname=‘数据库技术与设计’(C))3.将学号为“40”的学生的“C8”课程的成绩修改为90分;(SC-{(‘’,‘C8’,?)})∪{ (‘’,‘C84’,90)}4.查询没有学生选修的课程号和课程名;ΠcNO,cNAME (C)-πcNO,cNAME (C ♦SC)5.查询所有学生都选修的课程号和课程名。
ΠcNO,cNAME ((πSNo,CNo(S))÷πSNo(S) ♦C)四、综合题(共20分)1、学校里有多栋学生宿舍楼,每栋楼由一个管理员管理,且每个管理员只管理一栋楼;每栋楼有多个宿舍,每个宿舍可安排多个学生住宿;每个宿舍中,按学期分配桌椅等多个财产(每个财产根据不同的学期可能分配到不同的宿舍中)。
其中宿舍楼的属性有楼宇编号、名称、地址、宿舍数量;管理员属性有管理员编号、姓名、性别、联系电话;宿舍属性有宿舍编号、宿舍名称、宿舍电话、可入住人数;财产属性有财产编号、财产名称、价格;学生属性有学号、姓名、班级、性别。
请根据以上信息画出概念数据模型(E-R图),并注明实体集的属性、实体集之间联系的类型及实体集的主键(10分)。
2、请将上述E-R图转换为一组关系模式,并判断每一关系模式的范式等级(10分)。
宿舍楼(楼宇编号、名称、地址、宿舍数量、管理员编号)管理员(管理员编号、姓名、性别、联系电话)宿舍(宿舍编号、宿舍名称、宿舍电话、可入住人数,楼宇编号)财产(财产编号、财产名称、价格)学生(学号、姓名、班级、性别、宿舍编号)分配(财产编号、宿舍编号、学期、数量)所有关系模式都是BCNF五.SQL操作题(每小题3分,共30分)已知三个关系模式:s(sno, sname, sex, dept),c(cno, cname, credit, teacher), sc(sno, cno, grade),其中关系名和属性含义同第三题。
请用SQL语言完成以下题目。
1.按照下表说明写出创建s表的SQL语句;sno char(10) NOT NULL PRIMARY KEY,sname varchar(20) NOT NULL,sex char(2) NOT NULL,dept varchar(30) NULL)2.将一条记录(‘’,‘张平’,‘男’,‘计算机系’)插入到s表中;INSERT INTO SVALUES(,‘张平’,‘男’,‘计算机系’)3.删除sc表中学号为‘16401010101’学生的所有成绩;DELETE FROM sc where sno=4.将选修“数据库技术与设计”课程的学生的不及格分数全部加上5分;UPDATE scSET grade = grade+5FROM cWHERE cno ='数据库技术与设计' and grade<60 and o=o5.查询学分大于4的所有课程的课程号和课程名;SELECT cno,cnameFROM cWHERE credit>46.查询‘计算机系’所有‘男’学生选修‘数据库技术与设计’课程的学号和姓名;SELECT sno,snameFROM S,c,scWHERE o=o and s.sno=sc.sno and ame=‘数据库技术与设计’and dept=‘计算机系’and sex=‘男’7.查询姓‘陈’的‘男’学生的学号、姓名、课程名和考试成绩;SELECT sno,sname,cname,gradeFROM s,sc,cWHERE o=o and s.sno=sc.sno and ame=‘数据库技术与设计’and sname like’陈%’and sex=‘男’8.查询每门课的课程名、平均成绩、最高成绩和最低成绩,对应的字段名显示为“课程名”、“平均成绩”、“最高成绩”和“最低成绩”;SELECT cname as 课程名,AVG(grade) as 平均成绩,MAX(grade)as最高成绩, MIN(grade)as最低成绩FROM c,scWhere o=oGROUP BY CNO, Cname9.查询至少选修2门课程的学生学号和姓名;SELECT s.sno,snameFROM s,scGROUP BY s.sno ,snameHaving count(cno)>=210.创建一张视图,该视图实现查询成绩不及格的所有学生姓名和对应课程(去除重复项)。