1、(完整word版)杭州电子科技大学试卷2011-2012(1)(数据库原理A)-个人模拟(1)杭州电子科技大学学生考试卷(A)卷参考答案考试课程数据库原理考试日期2012年1月 4日成 绩课程号教师号任课教师姓名张红娟考生姓名学号(8位)年级专业说明:所有题目均直接答在试卷上。一、 单项选择题(每小题1分,共20分)1.在采用客户机/服务器体系结构的数据库应用系统中,应该将用户应用程序安装在 ( a ) A.客户机端 B.服务器端 C.终端 D.系统端 2. SQL语言中,删除一个表的命令是(b )。A DELETE B DROP C CLEAR D REMOVE3. 关系代数表达式的优化策略
2、中,首先要做的是 ( b )。A.对文件进行预处理 B.尽早执行选择运算 C.执行笛卡儿积运算 D.投影运算4. DB、DBMS和DBS三者间的关系是( b )。A DB包括DBMS和DBS B DBS包括DB和DBMSC DBMS包括DBS和DB D DBS与DB和DBMS无关5. 对关系R进行投影运算后,得到关系S,则 ( c )。 A.关系R的元组数等于关系S的元组数 B.关系R的元组数小于关系S的元组数 C.关系R的元组数大于或等于关系S的元组数 D.关系R的元组数大于关系S的元组数6.数据库系统可能发生的故障有(d)A.事物内部故障 B.系统故障 C介质故障 D以上都是7.将E-R模
3、型转化为关系模型时,会产生的冲突有(D)A.命名冲突 B.属性冲突 C.结构冲突 D.以上都是8. 五种基本关系代数运算是 ( a ) A.,-,和 B.,-,和 C.,和 D.,和9. 在数据操作语言(DML)的基本功能中,不包括的是 ( b ) A.插入新数据 B.描述数据库结构 C.对数据库中数据排序 D. 删除数据库中数据10. 在SQL中使用FOREIGN KEY 时,与之配合的语句是 ( d ) A.EXISTS B.EXCEPT C.TABLE D.REFERENCES 11SQL中的视图提高了数据库系统的 ( d ) A.完整性 B.并发控制 C.隔离性 D.安全性12记载数据
4、库系统运行过程中所有更新操作的文件称为 ( c )。 A.更新文件 B. 后备文件 C.日志文件 D.数据文件13如果事务T获得了数据项Q上的排它锁,则T对Q ( c ) A.只能读不能写 B.只能写不能读 C.既可读又可写 D.不能读不能写14在SQL中,SELECT语句的SELECT DISTINCT表示查询结果中 (c )A.属性名都不相同B.去掉了重复的列 C.行都不相同D.属性值都不相同 15已知关系R如图1所示,可以作为R主码的属性组是( b ) ABCD123413452456143413473456图1A. ABC B. ABD C. ACD D. BCD16.关系数据库中的哪
5、一种基本数据操作不能同时操作两个关系( b )A.交 B.选择 C.连接 D.并17.数据模型的三个组成部分是数据结构、数据操作和 ( c )。 A.数据安全性控制 B.数据一致性规则 C.数据完整性约束 D.数据处理逻辑18要保证数据库的数据独立性,需要修改的是 ( c )。A. 三级模式之间的两种映射 B. 模式与内模式 C. 模式与外模式 D. 三层模式 19事务的ACID性质,是指事务具有原子性、一致性和 ( c ) A.隔离性、透明性 B.独立性、透明性 C.隔离性、持久性 D.共享性、持久性20个别用户使用的数据视图的描述称为 ( a ) A.外模式 B.概念模式 C.内模式 D.
6、存储模式第 1 页 共 4 页二、填空题(每空2分,共20分) 1数据库的一大特点是数据共享,即用户可以并发访问数据库对象,但并发操作可能会引起_丢失更新_、不可重复读、_读脏数据_这三类数据不一致性的问题,于是就要进行并发控制。并发控制的主要技术是_封锁_。2在数据库设计中,物理设计阶段包括确定_物理存储结构_和_存取方法和路径_。 3数据管理技术的发展经历了_人工管理_阶段、文件系统阶段和_数据库系统_阶段。4SQL语言中,定义事务的语句主要有BEGIN TRANSACTION 、COMMIT 和 _ROLLBACK_ 。三、判断改错题(判断正误,错误的请改正。每小题2分,共10分)1 可
7、以在基本表上定义视图,但不能在视图上定义视图。 “但不能”改为“也可以”。 () 2 DBMS包括DB和DBS 。 改为:DBS包括DB和DBMS ()3 对关系R进行投影运算后,得到关系S,则关系R的元组数大于或等于关系S的元组数。()4 如果一个关系模式R属于BCNF,则R一定属于3NF。 ()5 在SQL的查询语句中,对应关系代数中“选择”运算的语句是SELECT。 ()“SELECT”改为“WHERE”或“选择”改为“投影“。三、英译中并简明解释(每小题3分,共15分)1.DBS/DBMS/DBA 数据库系统 数据库管理系统 数据库管理员 2.CANDIDATE KEY 候选码3.TR
8、ANSACTION 事务5.DDL/DML/DCL数据定义语言 数据操纵语言 数据控制语言四、 问答题(共20分)1.Dept 表及已有的一些行数据如下所示 (department 为主码 ) ,请问下列插入语句哪些正确的,哪些是错误的,错在哪里? (3分)DEPARTMENT NAME LOCATION BUDGET 20 Sales Miami 1700000 10 Marketing New york 2000000 A insert into dept values(10,research, new york,1500000) B insert into dept values(nul
9、l, accounting, Atlanta,1200000) C insert into dept values(15, computing, Miami,1500000) 2.假定初始值:X=10,Y=20。现有三个事务,分别包含以下操作(3分): T1:X=X+Y T2: Y=X-Y T3: X=Y-X 可串行化调度的执行结果有几种,分别是多少?3. 对于教学数据库的三个基本表(6分) Student(Sno,Sname,Sage) SC(Sno,Cno,Grade) Course(Cno,Cname) 试用关系代数表达式和SQL语句表示:检索WANG同学不学的课程号。 SELECT C
10、noFROM CourseWHERE Cno NOT IN (SELECT Cno FROM SCWHERE Sno=(SELECT SnoFROM StudentWHERE Sname=WANG);Cno(Coures) cno(Sname=WANG(Student) Cno(Sc)第 2 页 共 4 页4. 如下图所示的关系,请回答以下问题(8分):课程名教师名教师办公室C1马千里实验楼415C2于得水实验楼415C3李华实验楼115C4于得水实验楼415调查额的 写出函数依赖 它为第几范式? 为什么? 是否存在删除异常?若存在,说明是在什么情况下发生的? 将它分解为高一级范式。它是2NF
11、。因为R的候选码是课程名,而课程名不依赖于教师名,教师名也不依赖于课程名,教师名教师地址,所以存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。存在。当删除某门课程时会删除不该删除的教师的有关信息。关系R1:课程号教师名C1马千里C2于军C3杨敏C4于军关系R2:教师名教师地址马千里D1于军D1杨敏D23设有关系模式R(A,B,C),F是R上成立的函数依赖集,F=ACB ,ABC ,BC, 试问R在函数依赖范围内最高能达到第几范式,并简要说明理由。(6分)R1NF。候选码为AC和AB。存在非主属性C对码AB的部分函数依赖,所以R1NF四、 问答题(共20分)1数据库的完整性与
12、安全性有什么不同?(5分)数据的完整性和安全性是两个不同的概念。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。 2什么是数据冗余?在关系数据库中能完全消除数据冗余吗?(5分)数据库中数据重复存储的现象称为数据冗余。在关系数据库中不能完全消除数据冗余。因为要实现关系数据库中表与表之间的联系,必须通过公共属性来完成,这些公共属性可能是一个表的主键,也
13、可能是另一个表的外键,有相应的参照完整性规则来保证表之间的联系。所以关系数据库中存在数据冗余,但能控制数据的冗余度。五、数据库设计题(10)某大学教学数据库中有三个实体集。一是“课程”实体集,属性有课程号、课程名称;二是“教师”实体集,属性有教师工号、姓名、职称;三是“学生”实体集,属性有学号、姓名、性别、年龄。设教师与课程之间有“主讲”联系,每位教师可主讲若干门课程,但每门课程只有一位主讲教师,教师主讲课程将选用某本教材;教师与学生之间有“指导”联系,每位教师可指导若干学生,但每个学生只有一位指导教师;学生与课程之间有“选课”联系,每个学生可选修若干课程,每门课程可由若干学生选修,学生选修课
14、程有个成绩。(1)试画出E-R图;(2)将E-R图转换成关系模型,并说明主码和外部码。1)E-R图如下(2)转换成的关系模型具有4个关系模式:1)E-R图如下N1成绩主讲课程课程号课程名称N工号教师姓名指导教材学生学号姓名年龄电话1选课MN职称性别(2)转换成的关系模型具有4个关系模式:教师(工号,姓名,职称)学生(学号,姓名,性别,年龄,教师工号)课程(课程号,课程名称,教师工号)选课(学号,课程号,成绩)第 3 页 共 4 页六、编程(共20分)Student(Sno,Sname,Ssex,Sage,Clno, Sdept) 学号 姓名 性别 年龄 班级号 系Course(Cno,Cnam
15、e,Cpno,Ccredit) 课程号 课程名 先修课号 学分SC (Cno,Sno,Grade) 课程号 学号 成绩(一) 用SQL语句完成下列操作:(12分)1. 查询年龄介于20与23岁之间的学生姓名及年龄;1. 查询数学系姓王的学生姓名及年龄,并按学生年龄降序排序;select sname from studentwhere sdept=数学and sname like 王%order by sage;2.查询每个班级每门课程的选课人数和平均分;select clno,cno,count(*) 选课人数,avg(grade) 平均分from student,scwhere studen
16、t.sno=sc.snogroup by clno,cno;3.查询李爽同学没选修的课程名;SELECT cnameFROM courseWHERE NOT EXISTS(SELECT *FROM scWHERE cno=oAND sno=(SELECT snoFROM studentWHERE sname=李爽);4.把对表Course的查询权限及对Ccredit字段的更新权限授予用户张三;GRANT SELECT ,UPDATE(Ccredit) ON course TO 张三;5.将01311班全体学生成绩置空;UPDATE sc SET grade=NULL WHERE sno IN(
17、SELECT sno FROM studentWHERE clno=01311); 6.为Student表的Sno建立索引(二) 用关系代数表示下列操作:(6分)1、 查询没有选修1号课程的学生姓名;SNAME(Student)-SNAME(CNO=1(SC) SNAME(Student)2、 查询选修了“数据库概论”课程且成绩在90分以上的学生姓名。Sname(Cname=数据库概论(Course)Grade90(SC) Sname (Student))3、查询年龄介于20与23岁之间的学生姓名及年龄;SNAME,SAGE(SAGE20SAGE23(Student) 4、查询没有选修1号课程的学生姓名;SNAME(Student)-SNAME(CNO=1(SC) SNAME(Student)(三)将上题(二)2关系代数转换成SQL语句(2分)