陕西师范大学2005—2006学年第二学期期末考试数据库原理 (2)

陕西师范大学2005—2006学年第二学期期末考试 计算机科学学院2003级计算机科学与技术专业

数据库原理(B )

答卷注意事项:

、学生必须用蓝色(或黑色)钢笔、圆珠笔或签字笔直接在试题卷上答题。

2、答卷前请将密封线内的项目填写清楚。

3、字迹要清楚、工整,不宜过大,以防试卷不够使用。

4、本卷共 5 大题,总分为100分。

一、单项选择题(将一个正确的答案代码填入括号中,每小题1分,共15分)

(1)数据库(DB ),数据库系统(DBS )和数据库管理系统(DBMS )之间的关系是

( )。

A 、DBS 包括D

B 和DBMS B 、DBMS 包括DB 和DBS

C 、DB 包括DBS 和DBMS

D 、DBS 就是DB ,也就是DBMS (2)数据库系统的数据独立性体现在( )。

A 、不会因为数据的变化而影响到应用程序

B 、不会因为数据存储结构与数据逻辑结构的变化而影响应用程序

C 、不会因为存储策略的变化而影响存储结构

D 、不会因为某些存储结构的变化而影响其他的存储结构 (3)下面的选项不是关系数据库基本特征的是( )。

A 、不同的列应有不同的数据类型

B 、不同的列应有不同的列名

C 、与行的次序无关

D 、与列的次序无关

(4)现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位),

医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果),其中,医疗

关系中的外码是()。

A、患者编号

B、患者姓名

C、患者编号和患者姓名

D、医生编号和患者编号

(5)五种基本关系代数运算是()。

A、并、交、差、笛卡尔积、除

B、并、交、选择、投影、连接

C、并、差、笛卡尔积、选择、连接

D、并、差、笛卡尔积、选择、投影(6)SQL语言是()的语言,容易学习。

A、过程化

B、非过程化

C、格式化

D、导航式

(7)在SQL语言中,删除一个视图的命令是()。

A、DELETE

B、DROP

C、CLEAR

D、REMOVE

(8)若要在基本表S中增加一列CN(课程名),可用()。

A、ADD TABLE S CN CHAR(8)

B、ADD TABLE S ALTER CN CHAR(8)

C、ALTER TABLE S ADD CN CHAR(8)

D、ALTER TABLE S ALTER CN CHAR(8)

(9)支持关系数据结构、选择、投影和(自然)连接运算,且对这些运算不必要求定义任何物理存取路径的关系系统称为()。

A、表式系统

B、最小关系系统

C、关系完备的系统

D、全关系系统(10)如果关系模式R中的属性全是主属性,则R一定属于()。

A、1NF

B、2NF

C、3NF

D、BCNF

(11)数据库设计可划分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上建什么样的索引”这一设计内容应该属于()设计阶段。

A、概念设计

B、逻辑设计

C、物理设计

D、全局设计

(12)在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如达到3NF,这是()阶段的任务。

A、需求分析阶段

B、概念设计阶段

C、物理设计阶段

D、逻辑设计阶段

(13)事务的持续性是指()。

A、事务中包括的所有操作要么都做,要么都不做

B、事务一旦提交,对数据库的改变是永久的

C、一个事务内部的操作对并发的其他事务是隔离的

D、事务必须使数据库从一个一致性状态变到另一个一致性状态

(14)DBMS普遍采用()方法来保证调度的正确性。

A、索引

B、授权

C、封锁

D、日志

(15)在数据库的安全性控制中,授权的数据对象的( ),授权子系统就越

灵活。

A 、范围越小

B 、约束越细致

C 、范围越大

D 、约束范围大

二、填空题(在横线上填写正确的答案,每空1分,共10分)

(16)数据模型是由 、 、和 三

部分组成的。

(17)在设计分E-R 图时,由于各个子系统分别有不同的应用,而且往往是由不同

的设计人员设计的,所以各个分E-R 图之间难免有不一致的地方,这些冲突主要有 、 和 三类。 (18)数据库系统在运行过程中,可能会发生故障。故障主要有 、

以及 、 和 四类。

三、判断题(判断下述结论是否正确,对正确的结论加以证明,对错误的结论说明原因或举一反例进行说明,每小题5分,共10分)

(19)一个遵循第三级封锁协议的并发事务调度必定是可串行化的并发事务调度。

(20)在关系模式R (A ,B ,C ,D )中,存在函数依赖关系{A→B,A→C,A→D,

(B ,C )→A},则关系模式R 属于3NF ,但不是BCNF 。

四、简答题(每小题5分,共15分)(21)数据字典的内容和作用是什么?

(22)什么是数据库管理系统?数据库管理系统有哪些功能?

(23)请解释三个级别的封锁协议以及它们之间的区别。

五、综合题(第24小题20分,第25小题10分,第26

小题20分,共50分)

(24)建立一个关于科室、病房、医生、病人等信息的关系数据库。

(a )科室:科室名,科地址,科电话;

(b )病房:病房号,床位号,所属科室名;

(c )医生:姓名,职称,所属科室名,年龄,工作证号

(d )病人:病历号,姓名,性别,诊断,主管医生,病房号

(e )有关语义如下:一个科室有多个病房、多个医生,一个病房只能属于一个科

室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管

医生只有一个。

完成如下设计:

(i )设计该关系数据库的E -R 图(实体名和属性名的命名根据题中给出的中文

名称来定);

(ii)将该E-R图转换为关系模型结构,指出转换结果中每个关系模式的候选码。

(25)对学生-课程数据库查询“信息系”学生选修的课程名称:

SELECT Cname FROM STUDENT, SC, Course

WHERE Student.Sdept='IS' AND Student.Sno=SC.Sno

AND https://www.360docs.net/doc/7613487603.html,o=https://www.360docs.net/doc/7613487603.html,o;

试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。

(26)设有如下表所示的三个关系S 、C 和SC 。

S (S#,SNAME ,SEX 字段为字符型,AGE 字段为整型)

C (C#,CNAME

,TEACHER 字段均为字符型)

SC (S#,C#字段为字符型,GRADE 字段为整型)

用SQL 语句实现如下要求:

(i )建立SC 表并设置主码和参照完整性规则(假设S 表和C 表已创建)。

(ii )将“李强”同学所有所学课程的成绩(GRADE )加3分。

(iii )查询选修全部课程的学生姓名(SNAME )。

(iv )查询至少选修两门课程的学生学号(S #)。

陕西师范大学2005—2006学年第二学期期末考试

计算机科学学院2003级计算机科学与技术专业

数据库原理(B)试题参考答案

一、单项选择题 (将一个正确的答案代码填入括号中,每小题

1分,共15分)

(1)A (2) B (3) A (4) A (5) D (6) B (7) B (8)C (9)

B

(10) C (11) C (12)D (13)B (14)C (15)A

二、填空题(在横线上填写正确的答案,每空1分,共10分)

(16)数据结构、数据操作、完整性约束

(17)属性冲突、命名冲突、结构冲突

(18)事务故障、系统故障、介质故障、计算机病毒

三、判断题(判断下述结论是否正确,对正确的结论加以证明,

对错误的结论说明原因或举一反例进行说明,每小题5分,共10分)

(19)正确。根据第三级封锁协议和两段锁协议的定义可知,遵守三级封锁协议的并发事务调度必定遵守两段锁协议,因此是

可串行化的。

(20)错误。关系模式R的候选码是A和(B,C),函数依赖满足BCNF定义,因此是BCNF。

四、简答题(每小题5分,共15分)

(21)数据字典的内容和作用是什么?

答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:数据项、数据结构、数据流、数据存储、处理过程五个部分。其中数据

项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。

数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。

(22)什么是数据库管理系统?数据库管理系统有哪些功能?

答:数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它主要功能包括以下几个方面:(1)数据定义功能,DBMS提供数据描述语言(DDL),用户可通过它来定义数据;(2)数据操纵功能,DBMS还提供数据操纵语言(DML),实现对数据库的基本操作:查询、插入、删除和修改;(3)数据库的运行管理这是DBMS运行时的核心部分,它包括开发控制,安全性检查,完整性约束条件的检查和执行,数据库的内容维护等;(4)数据库的建立和维护功能它包括数据库初始数据的输入及转换,数据库的转储与恢复,数据库的重组功能和性能的监视与分析功能等。

(23)请解释三个级别的封锁协议以及它们之间的区别。

答:一级封锁协议是:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)。一级封锁协议可防止丢失修改,并保证事务T是可恢复的。二级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。二级封锁协议除防止了丢失修改,还可进一步防止读“脏”数据。三级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。

三级封锁协议除防止了丢失修改和不读‘脏’数据外,还进一步防止了不可重复读。

五、综合题(第24小题20分,第25小题10分,第26小题20

分,共50分)

(24)答:(i)

(ii)对应的关系模型结构如下:

科室(科室名,科地址,科电话)

病房(病房号,床位号,科室名)

医生(工作证号,姓名,职称,科室名,年龄)

病人(病历号,姓名,性别,诊治,主管医生,病房号)每个关系模式的候选码如下:

科室的候选码是科名;

病房的候选码是科室名十病房号;

医生的候选码是工作证号;

病人的候选码是病历号。

(25)答:

26)答:

constraint pk_sc primary key(S#, C#),

update sc set grade = grade + 3 where s# =

(select s# from s where sname='李强')

select sname from s where not exists

(select * from c where not exists

(select * from sc where s.s#=sc.s# select s# from sc group by s# having count(*)>=2

相关文档
最新文档