1、杭州电子科技大学学生考试卷(A)卷参考答案考试课程 数据库概论 考试日期 08年 6 月 16 日 成 绩课程号 教师号 任课教师姓名 李桂杰考生姓名 学号(8 位) 年级 专业说明:所有题目均直接答在试卷上。一、 单项选择题(每小题 2分,共 20分)1SQL 中的视图提高了数据库系统的 ( D ) A.完整性 B.并发控制 C.隔离性 D.安全性 2记载数据库系统运行过程中所有更新操作的文件称为 ( C )。A.更新文件 B. 后备文件 C.日志文件 D.数据文件3如果事务 T获得了数据项 Q上的排它锁,则 T对 Q ( C )A.只能读不能写 B.只能写不能读C.既可读又可写 D.不能读
2、不能写4在 SQL中,SELECT 语句的“SELECT DISTINCT“表示查询结果中 ( C )A.属性名都不相同 B.去掉了重复的列 C.行都不相同 D.属性值都不相同 5已知关系 R如图 1所示,可以作为 R主码的属性组是( B ) RA B C D1 2 3 41 3 4 52 4 5 61 4 3 41 3 4 73 4 5 6图 1A. ABC B. ABD C. ACD D. BCD6 关系数据库中的哪一种基本数据操作不能同时操作两个关系( B )A.交 B.选择 C.连接 D.并7事务的 ACID性质,是指事务具有原子性、一致性和 ( C ) A.隔离性、透明性 B.独立性
3、、透明性 C.隔离性、持久性 D.共享性、持久性8个别用户使用的数据视图的描述称为 ( A )A.外模式 B.概念模式 C.内模式 D.存储模式 9数据模型的三个组成部分是数据结构、数据操作和 ( c )。A.数据安全性控制 B.数据一致性规则 C.数据完整性约束 D.数据处理逻辑 10为实现嵌入式 SQL语句与主语言之间的通信,特引进了以下概念(B )A、视图、游标、SQL 通信区; B、SQL 通信区、游标、主变量;C、码、SQL 通信区、主变量; D、模式、视图、SQL 通信区。二、填空题(每空 1分,共 14分) 1数据库的一大特点是数据共享,即用户可以并发访问数据库对象,但并发操作可
4、能会引起丢失更新、不可重复读、读脏数据这几类数据不一致性的问题,于是就要进行并发控制。并发控制的主要技术是封锁,封锁对象的规模称为封锁粒度。2在数据库设计中,将 E-R模型转换成关系数据模型属于逻辑设计阶段,对数据库模式进行规范化处理,属于逻辑设计阶段,规划存储结构和存取方法属于物理设计阶段。 3数据管理技术的发展经历了_人工管理_、_文件系统_和 _数据库系统_段。4在数据库安全性控制技术中第一步就是用户标识与鉴定,在 SQL Server这一步技术包含有两部分内容,一是用户登陆 NT服务器的的认证;另一步是已经登陆到 NT 的用户进一步成为 SQL服务器帐户的认证,根据需要,这样的认证有
5、WINDOWS 身份验证模式 、 混合模式 两种模式。5SQL 语言中,定义事务的语句主要有 BEGIN TRANSACTION 、COMMIT 和 _ROLLBACK_ 。三、判断改错题(判断正误,错误的请改正。每小题 2分,共 10分)1 可以在基本表上定义视图,但不能在视图上定义视图。 “但不能”改为“也可以” 。 () 2 DBMS包括 DB和 DBS 。 改为:DBS 包括 DB和 DBMS ()3 对关系 R进行投影运算后,得到关系 S,则关系 R的元组数大于或等于关系 S的元组数。 ()4 如果一个关系模式 R属于 BCNF,则 R一定属于 3NF。 ()5 在 SQL的查询语句
6、中,对应关系代数中“选择”运算的语句是 SELECT。 ()“SELECT”改为“WHERE”或“选择”改为“投影“。四、 问答题(共 20分)1数据库的完整性与安全性有什么不同?(5 分)数据的完整性和安全性是两个不同的概念。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。 2什么是数据冗余?在关系数据库中能完全消除数据冗余吗?(5 分)数据库中
7、数据重复存储的现象称为数据冗余。在关系数据库中不能完全消除数据冗余。因为要实现关系数据库中表与表之间的联系,必须通过公共属性来完成,这些公共属性可能是一个表的主键,也可能是另一个表的外键,有相应的参照完整性规则来保证表之间的联系。所以关系数据库中存在数据冗余,但能控制数据的冗余度。3设有关系模式 R(A,B,C) ,F 是 R上成立的函数依赖集,F=ACB ,ABC ,BC, 试问 R在函数依赖范围内最高能达到第几范式,并简要说明理由。(6 分)R1NF。候选码为 AC和 AB。存在非主属性 C对码 AB的部分函数依赖,所以 R1NF,4现有部门表(DEPARTMENT)及员工表(EMPLOY
8、EE),假设各表中已有数据如下,请指出下面给出的各行数据中哪一行不能插入 EMPLOYEE 表 ,为什么? (4 分)DEPARTMENT: (主码为 DEPT_ID)DEPT_ID NAME LOCATION 10 Accounting New york 40 Sales miami EMPLOYEE: (主码为 EMP_ID,外部码为 DEPT_ID)EMP_ID EMP_NAME EMP_MGR TITLE DEPT_ID1234 Green President 40 4567 Gilmore 1234 Senior VP 40 1045 Rose 4567 Director 10 98
9、76 Smith 1045 Accountant 10 A. (9213, jones, 1045, clerk, 30 )B. (8997, grace, 1234 ,secretary, 40)C. (5932, allen, 4567, clerk, null )A行数据不能插入 EMPLOYEE 表。因为部门号 30不在部门表的 DEPT_ID取值范围内,违反了关系参照完整性约束的规定。五、数据库设计题(12)某大学教学数据库中有三个实体集。一是“课程”实体集,属性有课程号、课程名称;二是“教师”实体集,属性有教师工号、姓名、职称;三是“学生”实体集,属性有学号、姓名、性别、年龄。设教
10、师与课程之间有“主讲”联系,每位教师可主讲若干门课程,但每门课程只有一位主讲教师,教师主讲课程将选用某本教材;教师与学生之间有“指导”联系,每位教师可指导若干学生,但每个学生只有一位指导教师;学生与课程之间有“选课”联系,每个学生可选修若干课程,每门课程可由若干学生选修,学生选修课程有个成绩。(1)试画出 E-R图;(2)将 E-R图转换成关系模型,并说明主码和外部码。(1)E-R 图如下(2)转换成的关系模型具有 4个关系模式:N1成绩主讲课程课程号 课程名称N工号教师姓名指导教材学生学号 姓名 年龄电话1选课MN职称性别教师(工号,姓名,职称)学生(学号,姓名,性别,年龄,教师工号)课程(
11、课程号,课程名称,教师工号)选课(学号,课程号,成绩)六、关系代数及 SQL语句题(共 24分)已知关系:Student(Sno,Sname,Ssex,Sage,Clno, Sdept)学号 姓名 性别 年龄 班级号 系Course(Cno,Cname,Cpno,Ccredit)课程号 课程名 先修课号 学分SC (Cno,Sno,Grade) 课程号 学号 成绩(一) 用关系代数表示下列操作:(9 分)1. 查询年龄介于 20与 23岁之间的学生姓名及年龄; SNAME,SAGE( SAGE20SAGE23 (Student) 2. 查询没有选修 1号课程的学生姓名; SNAME(Stude
12、nt)- SNAME( CNO=1(SC) Student)此题可有多种答案3. 查询选修了“数据库概论”课程且成绩在 90分以上的学生姓名。 Sname( Cname=数据库概论 (Course) Grade90 (SC) Student)此题可有多种答案(二) 用 SQL语句完成下列操作:(15 分)1. 查询数学系姓王的学生姓名及年龄,并按学生年龄降序排序;select sname from studentwhere sdept=数学and sname like 王%order by sage;2. 查询每个班级每门课程的选课人数和平均分;select clno,cno,count(*)
13、 选课人数,avg(grade) 平均分from student,scwhere student.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 scSET grade=NULLWHERE sno IN(SELECT snoFROM studentWHERE clno=01311);