陕西师范大学2007—2008学年第二学期期末考试数据库原理
- 格式:doc
- 大小:101.00 KB
- 文档页数:7
第 1 页 ( 共 7 页 )陕西师范大学2007—2008学年第二学期期末考试 计算机科学学院2005级计算机科学与技术专业数据库原理(2)一、单项选择题(将一个正确的答案代码填入括号中,每小题1分,共15分)1)数据库系统与文件系统的本质区别是( B )。
A 、数据共享B 、整体数据结构化C 、数据高独立性D 、数据统一管理2)关系模型中,候选码( C )。
A 、可由多个任意属性组成B 、至多由一个属性组成C 、可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成D 、以上都不是3)从关系R 与S 的广义笛卡儿积中选取A ,B 属性值相等的元组,并且在结果中A )。
A 、自然连接B 、等值连接C 、选择D 、投影(4)假设有关系R 和S ,用来表示R ∩S 的关系代数表达式是( D )。
A 、R ÷S B 、R×S C 、R -(R +S ) D 、R -(R -S )(5)对于关系模式SC (SNO ,grade ,CNO )与SQL 语句select SNO from SC where等价的SQL 语句是( B )。
A 、select SNO from SC where grade>ALL(grade)B 、select SNO from SC where grade>ANY(grade) C 、select SNO from SC where grade<ALL(grade)D 、select SNO from SC where grade<ANY(grade) (6)下列关于SQL 语言描述不正确的是( C )。
A 、Group By 子句可以将查询结果按某一列或多列的值分组B 、Order BY 子句对查询结果按照一个或多个属性列的升序或降序排列C 、如果指定Distinct 短语,则表示在计算时要将指定列中重复的值计算在内D 、谓词Like 可以用来进行字符串的匹配(7)对于关系模式R ,R 中的每一个非主属性既不部分依赖于码也不传递依赖于码,则R属于( C )。
A、1NFB、2NFC、3NFD、BCNF(8)下列关于视图描述错误的是( B )。
A、视图是从一个或几个基本表导出的表B、数据库中存储了视图的定义和视图中对应的数据C、SQl语言可以用Create View命令创建视图D、视图能够对机密数据提供安全保护(9)对数据模型进行优化是( A )阶段要解决的问题。
A、设计逻辑结构B、设计物理结构C、设计概念结构D、数据库实施(10)在关系数据库设计中,评价设计、性能测试是__B__的任务。
A、逻辑设计阶段B、物理设计阶段C、数据库实施阶段D、数据库运行和维护阶段(11)一个事务一旦提交,它对数据库中数据的改变是永久性的,接下来的其他操作或故障不对其执行结果有任何影响,反映的是事务的( D )。
A、原子性B、一致性C、隔离性D、持续性(12)设事务T1和T2,对数据库中的数据A进行操作,可能有如下几种情况,请问哪一种不会发生冲突操作( D )。
A、T1正在写A,T2要读AB、T1正在写A,T2也要写AC、T1正在读A,T2要写AD、T1正在读A,T2也要读A(13)关系模型的实体完整性在Create Table命令中用( A )定义。
A、primary keyB、foreign keyC、uniqueD、check(14)下列可以用来维护数据库的安全性的SQL命令是。
DA、Select、UpdateB、Drop、AlterC、Create、GrantD、Grant、Revoke(15)以下( D )违反了两段锁协议。
A、Slock A … Slock B … Xlock C ……Unlock A … Unlock B … Unlock CB、Slock A … Slock B … Xlock C…… Unlock C … Unlock B … Unlock AC、Slock A … Slock B … Xlock C ……Unlock B … Unlock C … Unlock AD、Slock A …Unlock A …Slock B … Xlock C …… Unlock B … Unlock C二、填空题(在横线上填写正确的答案,每空1分,共10分)(16)关系模型中的三类完整性约束包括实体完整性、参照完整性和用户定义完第2页( 共7 页)第 3 页 ( 共 7 页 )整性(17)并发操作带来的数据不一致性主要包括 丢失修改、不可重复读、读脏数据 。
(18)RDBMS 查询处理可以分为 查询分析、查询检查、查询优化、查询执行 四个阶段。
三、判断题((19) 据库之前,也可以在写数据库之后。
按日志文件恢复时只不过是多执行一次不必要的UNDO (20所有事务都符合两段锁协议。
教材P299图11.7d 调度,但事务T1和T2都不遵守两段锁协议。
四、简答题(每小题5分,共15分)(21)设有如下两事务:T1:读B ,A=B+1,写回A ;T2:读A ,B=A+1,写回B 请将下列可串行化的调度策略补充完整。
(设:A 、B 的初值均为2)第 4 页 ( 共 7 页 )(22)设有关系S (SNO (学号),Sname(姓名),Age (年龄),Sex (性别)),现在SQL 语句将上述问答:Update S set sex=’M ’ where sex=’女’ Update S set sex=’女’ where sex=’男’ Update S set sex=’男’ where sex=’M ’如果缺少中间步骤将某种性别用M 代替,则会导致该后的表中性别全部为男或女。
(23)简述死锁产生的原因和预防死锁的方法。
答:死锁产生的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据对象,从而出现死等待。
防止死锁的发生的方法包括:(1)一次封锁法,要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行;(2)顺序封锁法,预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。
五、综合题(第24小题15分,第25小题10分,第26小题15分,第27小题10分,共50分)(24)假设有下面两个关系模式:职工(职工号char (4),姓名varchar (10),年龄int ,职务varchar (10),工资int ,部门号char (2))其中职工号为主码;部门(部门号char (2),名称varchar (10),经理名varchar (10),电话int ),其中部门号为主码。
①请用SQL语言定义这两个关系模式,要求在定义的同时完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。
注:各字段的数据类型题中已经给出,定义过程中请使用题中给出的关系模式中的中文名字做表名和字段名,主码用PK_+字段名,外码用FK_+字段名,check 约束用CK_字段名。
答:CREATE TABLE 部门(部门号 char(2),名称 varchar(10),经理名 varchar(10),电话 int,CONSTRAINT pk_部门号 PRIMARY KEY (部门号))CREATE TABLE 职工(职工号 char(4),姓名 varchar(10),年龄 int,职务 varchar(10),工资 int,部门号 char(2),CONSTRAINT ck_年龄 CHECK (年龄 <= 60),CONSTRAINT pk_职工号 PRIMARY KEY (职工号),CONSTRAINT fk_部门号 FOREIGN KEY (部门号) REFERENCES 部门(部门号))(25)假设某连锁商店数据库中有一关系模式R如下:R(商店编号,商品编号,商品库存数量,部门编号,负责人)如果规定:①每个商店的每种商品旨在该商店的一个部门销售;②每个商店的每个部门只有一个负责人;③每个商店的每种商品只有一个库存数量。
请回答下列问题:①根据上述规定写出关系模式R的函数依赖;②写出关系模式R的侯选码;③判断R属于第几范式并说明理由,如果不属于3NF请将其分解成3NF。
第5页( 共7 页)第 6 页 ( 共 7 页 )答:基本的FD 有3个: (商店编号,商品编号)→ 部门编号 (商店编号,部门编号)→ 负责人(商店编号,商品编号)→ 商品库存数量R 的候选码为(商店编号,商品编号)。
R 递函数依赖,所以R 处于2NF 。
将R 分解成:R1号),R2(商店编号,部门编号,负责人)(26)设有如下三个关系(英文是字段名,括号中的中文是对字段名的解释):S (SNO (学号),Sname(姓名),Age (年龄),Sex (性别)) SC (SNO (学号),CNO(课程号),Score (成绩))C (CNO (课程号),Cname (课程名),Teacher (教师姓名))试用关系代数表达式描述查询①和②,写出所有下列查询的SQL 查询语句: ①检索姓名为’Liu ’的老师所授课程的课程号和课程名; ②检索年龄大于23岁男生的学号和姓名;③用带有In 谓词的子查询检索学号为S3④用带有Exists 谓词的子查询查询没有选修C1号课程的学生姓名;数);答:①:))(('',C LIU Teacher Cnam e CNO =σπteacher=’LIU ’②))((''23,S sex age Snam e SNO 男=∧>σπand sex=’男’③select Cname,Teacher from C where Cno in (select Cno from SC Sno=’S3’)④select Sname from S where not exists(select * from SC Sno=S.Sno and Cno=’C1’)⑤select Cno as 课程号,count(*) as 人数 from SC group by Cno第7页( 共7 页)27存放在多个仓库中,零件按所属产品分别放在多个仓库中。
请用E—R 厂产品、零件、材料、仓库的概念模型。
答:。