2007-2008学年第一学期数据库试题(A)答案.doc

2007-2008学年第一学期数据库试题(A)答案.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2007-2008学年第一学期数据库试题(A)答案

2007—2008学年第二学期闽江学院考试试卷(A) 适用年级专业: 06级计算机本科1、2班 考试形式:闭卷 考试课程: 数据库原理及应用 一、单项选择题(每小题1.5分,共30分) ????1.A?????? 2.C?????? 3.C?????? 4.A?????? 5.C 6.C?????? 7.B?????? 8.D?????? 9.A??????10.D 11.A 12.A 13.C 14.B 15.A 16.B 17.D 18.B 19.D 20.C 二、填空题(每小题1分,共10分) ?1.数据子语言 ?2.完整性 ?3.连接 ?4.索引文件 ?5.删除异常 ?6.非过程性强 ?7.选择存储结构 ?8.3NF ?9.结构的约束 ?10.数据流程图和数据字典 三、简答题(每小题4分,共24分) 1、设关系模式RU,F,其中U={A,B,C,D,E}, 若F={A→BC,C→D,BCD→E,E→D},则关系模式R的候选码是什么,并指出R所属的范式最高等级及原因。(6分) 答:E只在函数依赖的右边出现,所以候选码中不可能包含E;A只在函数依赖的左边出现,所以候选码中一定包含A; 根据F,AF+=ABCDE=U,所以A为候选码。 另,除A外,其他几个属性BCD及其组合在F上的闭包都不等于U,所以,关系模式R的候选码为A。 由于A是单属性,所以R至少是2NF。 因A→BC,所以A→C,由于 C→D,所以D传递函数依赖于A。所以R不是3NF。 R范式最高等级为2NF 。 2、阐述活锁的产生原因及解决办法?(4分) 答:如果事务T1封锁了数据对象R,另一事务T2申请对它加锁就需要等待。若此时还有其他事务T3申请对R加锁,系统根据相容矩阵首先批准了T3的请求。导致T2继续等待,若有更多的事务如T4,T5…请求对R加锁系统在相容矩阵允许的情况下批准了它们的请求,从而导致T2无限期地等待下去。这样导致活锁的产生。 解决办法是采用先来先服务的策略:当多个事务请求封锁同一数据对象时,按请求封锁的先后次序对这些事务排队,该数据对象上的锁一旦释放,首先批准申请队列中第一个事务获得锁。 登记日志文件时,为什么必须遵守“先写日志文件,后写数据库”的原则?(4分) 答:写数据库和写日志文件是两个不同的操作,在这两个操作之间可能发生故障,如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了,如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。 建索引的目的是什么?那些情况宜建索引?(4分) 答:建索引的目的是提高数据查询速度。 下列情况宜建索引: 1)如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引); 2)如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引; 3)如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引。 视图的作用是什么?为什么说视图的更新是有条件的?(5分) 答:视图的作用:1)视图能够简化用户的操作;2)视图机制能使不同用户以不同方式看待同一数据,适应数据库共享的需要;3)视图对重构数据库提供了一定程度的逻辑独立性;4)视图能够对机密数据提供安全保护。 对视图的更新最终都转化为对基本表的更新,对于一些视图, DBMS无论用实体化法还是消解法都无法将其转换成对基本表SC的更新,他们是不可更新的,因为对这些视图的更新不能唯一地有意义地转换成对相应基本表的更新。对于视图的更新不同系统有不同限制。 四、设计题 (共23分) 1.Π学号,姓名,课程名,分数(σ奖学金0∧专业=国际贸易(学生∞学习∞课程)) 2.Π课程号,名称,学分(σ分数=100(学习∞课程)) 3.Π学号,姓名,专业(σ奖学金=0∧分数95(学生∞学习)) 4.Π学号,姓名,专业(学生)—Π学号,姓名,专业(σ分数80(学生∞学习)) 5.SELECT 学生.学号,姓名,专业 ?FROM 学生,学习 ? WHERE 学生.学号=学习.学号 AND 学习.课程号=课程.课程号 AND 奖学金=0 AND 分数95 6.SELECT 学号,姓名,专业 ??FROM 学生 ??WHERE 学号 NOT IN ??(SELECT 学号 ??FROM 学习 ??WHERE 分数80) ?7.UPDATE 学生 ??????SET 奖学金=1000 ??????WHERE 奖学金=0 AND 学号 IN ??????(SELECT 学号 ??????FROM 学习

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档