1、第 页 ( 共 15 页 )陕西师范大学 20052006 学年第二学期期末考试计算机科学学院 2003 级计算机科学与技术专业数据库原理(E)题号 一 二 三 四 五 总分分数答卷注意事项:1、学生必须用蓝色(或黑色)钢笔、圆珠笔或签字笔直接在试题卷上答题。2、答卷前请将密封线内的项目填写清楚。 3、字迹要清楚、工整,不宜过大,以防试卷不够使用。 4、本卷共 5 大题,总分为 100 分。一、单项选择题(将一个正确的答案代码填入括号中,每小题 1 分,共 15 分)(1)下面列出的数据库管理技术发展的三个阶段中(I人工管理阶段, II文件系统阶段, III数据库阶段) ,没有专门的软件对数据
2、进行管理的是( ) 。 A、I 和 II B、只有 II C、II 和 III D、只有 I (2)描述数据库全体数据的全局逻辑结构和特性的是( ) 。 A、模式 B、内模式 C、外模式 D、 模式和外模式(3)自然连接是构成新关系的有效方法。一般情况下,当对关系 R 和 S 使用自然连接时,要求 R 和 S 含有一个或多个共有的( ) 。 A、元组 B、行 C、记录 D、属性(4)若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为( ) 。A、主码 B、候选码 C、主属性 D、外码(5)SQL 语言具有两种使用方式,分别称为交互式 SQL 和( ) 。 A、提示式 SQL B、多用
3、户 SQL C、嵌入式 SQL D、解释式 SQL得分 评卷人上 装 订 线 院(系)名: 班级: 姓名: 学号: 考生类别: 考试日期: 下 装 订 线 第 页 ( 共 15 页 )(6)有关系 S(S,SNAME,SAGE) ,C(C,CNAME) ,SC(S,C,GRADE) 。其中 S是学生号,SNAME 是学生姓名,SAGE 是学生年龄, C是课程号,CNAME 是课程名称。要查询选修“ACCESS”课的年龄不小于 20 的全体学生姓名的 SQL 语句是 SELECT SNAME FROM S,C,SC WHERE 子句。这里的 WHERE 子句的内容是( ) 。 A、S.S# =
4、SC.S# and C.C# = SC.C# and SAGE=20 and CNAME=ACCESS B、S.S# = SC.S# and C.C# = SC.C# and SAGE in(=20) and CNAME in (ACCESS )C、SAGE in=20 and CNAME in ACCESS D、SAGE=20 and CNAME=ACCESS (7)设有关系模式 R(S,D,M) ,其函数依赖集:FSD,DM,则关系模式R 的规范化程度最高达到( ) 。 A、1NF B、2NF C、3NF D、BCNF (8)XY,当下列哪一条成立时,称为平凡的函数依赖( ) 。 A、X
5、Y B、YX C、XY D、XY(9)概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的( ) 。 A、数据模型 B、概念模型 C、层次模型 D、关系模型(10)从 ER 图导出关系模型时,如果实体间的联系是 M:N 的,下列说法中正确的是( ) 。 A、将 N 方码和联系的属性纳入 M 方的属性中 B、将 M 方码和联系的属性纳入 N 方的属性中 C、增加一个关系表示联系,其中纳入 M 方和 N 方的码 D、在 M 方属性和 N 方属性中均增加一个表示级别的属性 (11)后援副本的作用是( ) 。 A、保障安全性 B、一致性控制 C、故
6、障后的恢复 D、数据的转储 (12)事务日志用于保存( ) 。 A、程序运行过程 B、程序的执行结果 C、对数据的更新操作 D、对数据的查询操作 (13)如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是( ) 。 A、一个是 DELETE,一个是 SELECT B、一个是 SELECT,一个是 DELETE C、两个都是 UPDATE D、两个都是 SELECT (14) ( )对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制,能够较好地满足大型企业或一般政府部门对于第 页 ( 共 15 页 )数据的安全需求,是真正意义上的安全产品。A
7、、C1 级 B、C2 级 C、B1 级 D、B2 级(15)数据类型、取值范围、空值约束属于( ) 。A、静态列级约束 B、静态元组约束C、静态关系约束 D、动态列级约束二、填空题(在横线上填写正确的答案,每空 1 分,共10 分)(16)数据库管理系统是数据库系统的一个重要组成部分,它的主要包括以下的几个功能: 功能、 功能、 以及数据库的建立和维护。(17)数据库设计分为以下六个阶段: 阶段、 阶段、 阶段、 阶段、 阶段以及数据库的运行与维护阶段。(18)SQL 语言除了具有数据查询和数据操纵功能之外,还具有 功能和 功能,它是一个综合性的功能强大的语言。 三、判断题(判断下述结论是否正
8、确,对正确的结论加以证明,对错误的结论说明原因或举一反例进行说明,每小题 5 分,共 10 分)(19)关系模式中全部属性组成的集合为候选码的关系是 3NF,也是 BCNF。(20)设存在关系模式 R(U) ,U 为全部属性的集合,如果多值依赖 XY 在 W(W是 U 的真子集,W 包含 X 和 Y)上成立,那么多值依赖 XY 也一定在 U 上成立。得分 评卷人得分 评卷人第 页 ( 共 15 页 )下 装 订 线 上 装 订 线 四、简答题(每小题 5 分,共 15 分)(21)数据库转储的意义是什么? 试比较各种数据转储方法。(22)在嵌入式 SQL 中是如何解决数据库工作单元与源程序工作
9、单元之间通信的?得分 评卷人第 页 ( 共 15 页 )(23)试述事务故障的恢复策略和步骤。五、综合题(第 24 小题 20 分,第 25 小题 10 分,第26 小题 20 分,共 50 分)(24)假定一个部门的数据库包括以下的信息:职工的信息:职工号、姓名、住址和所在部门。部门的信息:部门所有职工、部门名称、部门编号、办公地点和销售的产品。得分 评卷人上 装 订 线 院(系)名: 班级: 姓名: 学号: 考生类别: 考试日期: 下 装 订 线 第 页 ( 共 15 页 )产品的信息:产品名、产品编号、颜色和重量。制造商的信息:制造商名称、制造商编号、地址。有关语义如下:一个职工只隶属于
10、一个部门,每一个部门有若干名职工;一个部门可以销售若干种产品,而某一产品也可以被若干个部门销售,某一个部门销售某一种产品会有一个销售数量;一个制造商可以生产若干种产品,而一种产品也可以被若干个制造商生产,某一个制造商生产某一种产品会有一个价格。职工号、部门编号、产品编号和制造商编号是唯一的。根据以上情况和假设,试作如下设计:(i)构造满足需求的 ER 图(实体名和属性名的命名根据题中给出的中文名称来定) 。(ii)将 ER 图转换为等价的关系模型结构,并指出各个关系模式的候选码。第 页 ( 共 15 页 )(25)假设某商业集团数据库中有一关系模式 R 如下:R (商店编号,商品编号,数量,部
11、门编号,负责人)。如果规定:每个商店可以销售若干种商品,而每种商品也可以被若干个商店销售;每个商店的每种商品只由一个部门负责销售;每个商店的每个部门只有一个负责人;每个商店的每种商品只有一个库存数量。试回答下列问题:(i) 根据上述规定,写出关系模式 R 的函数依赖集和的候选码;(ii)试问关系模式 R 最高属于第几范式并说明理由,如果你认为 R 不属于BCNF,请将 R 分解成 BCNF 模式集。第 页 ( 共 15 页 )下 装 订 线 上 装 订 线 (26)设有如下表所示的三个关系 S、C 和 SC。S(S#,SNAME,SEX 字段为字符型,AGE 字段为整型)C(C#,CNAME,
12、TEACHER 字段均为字符型)C# CNAME TEACHERK1 C 语言 王华K5 数据库原理 程军K8 编译原理 程军SC(S#,C#字段为字符型,GRADE 字段为整型)S# C# GRADE1 K1 832 K1 855 K1 922 K5 905 K5 845 K8 80用关系代数实现如下要求:(i)检索年龄大于 21 岁男学生的学号(S)和姓名(SNAME) ;用 SQL 语句实现如下要求:S# SNAME AGE SEX1 李强 23 男2 刘丽 22 女5 张友 22 男第 页 ( 共 15 页 )(ii)把对表 S 的 INSERT 权限授予用户张勇,并允许他再将此权限授
13、予其他用户;(iii)查询既选修了 K1 号课程又选修了 K5 号课程的学生姓名(SNAME) ;(iv)建立女同学选修 K5 号课程并且成绩大于等于 90 分的学生学号(S#)和姓名(SNAME )信息的视图。上 装 订 线 院(系)名: 班级: 姓名: 学号: 考生类别: 考试日期: 下 装 订 线 第 页 ( 共 15 页 )陕西师范大学 20052006 学年第二学期期末考试计算机科学学院 2003 级计算机科学与技术专业数据库原理(E)试题参考答案一、 单项选择题(将一个正确的答案代码填入括号中,每小题 1分,共 15 分)(1)D (2) A (3) D (4) B (5) C (
14、6) A (7)B (8)B (9)B (10) C (11) C (12) C (13) D (14)C (15) A二、 填空题(在横线上填写正确的答案,每空 1 分,共 10 分)(16)数据定义功能 数据操纵功能 数据库的运行管理 (17)需求分析、概念结构设计、逻辑结构设计、物理设计、数据库实施(18)数据定义、数据控制三、 判断题(判断下述结论是否正确,对正确的结论加以证明,对错误的结论说明原因或举一反例进行说明,每小题 5 分,共 10 分)(19)正确。因为关系模式的候选码由全部属性组成,所以该关系中没有非主属性。因此满足关系只属于 3NF 的条件:每个非主属性既不部分依赖于码
15、,也不传递依赖于码。此外,由于只有唯一一个候选码,因此也满足 BCNF 的条件:所有的主属性对于每一个不包含它的码,也是完全函数依赖。(20)错误。因为多值依赖的定义中不仅涉及属性组 X 和 Y,而且涉及 U 中的其余属性 Z,因此不一定成立。四、 简答题(每小题 5 分,共 15 分)第 页 ( 共 15 页 )(21)数据库转储的意义是什么? 试比较各种数据转储方法。答:数据转储是数据库恢复中采用的基本技术。所谓转储即 DBA 定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。静态转储:在系统中无运行事务时进行的转储
16、操作。静态转储简单,但会降低数据库的可用性。动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点。但是,转储结束时后援副本上的数据并不能保证正确有效。 只有后援副本加上日志文件才能得到数据库某一时刻的正确状态。转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。(22)在嵌入式 SQL 中是如何解决数据库工作单元与源程序工作单元之间通信的? 答:数据库工作单元与源程序工作
17、单元之间的通信主要包括: (1)SQL 通信区 SQLCA,用来向主语言传递 SQL 语句的执行状态信息,使主语言能够根据此信息控制程序流程。 (2)主变量,一方面用来实现主语言向 SQL 语句提供参数,另一方面将 SQL 语句查询数据库的结果交主语言进一步处理。 (3)游标,解决集合性操作语言与过程性操作语言的不匹配通过游标逐一获取记录,并赋给主变量,交由主语言进一步处理。(23)试述事务故障的恢复策略和步骤。答:事务故障的恢复是由 DBMS 自动完成的,对用户是透明的。DBMS 执行恢复步骤是:(1)反向扫描文件日志(即从最后向前扫描日志文件) ,查找该事务的更新操作。 (2)对该事务的更
18、新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。 (3)继续反向扫描日志文件,做同样处理。 (4)如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。第 页 ( 共 15 页 )五、 综合题(第 24 小题 20 分,第 25 小题 10 分,第 26 小题 20分,共 50 分)(24)答:(i)E-R 图如下:(ii) 对应的关系模式如下:职工(职工号,姓名,地址,部门编号) ,候选码为职工号;部门(部门名,部门编号,办公地点) ,候选码为部门编号;产品(产品编号,产品名,颜色,重量) ,候选码为产品编号;制造商(制造商编号,名称,地址) ,候选码为制造商编号;销售
19、(部门编号,产品编号,数量) ,候选码为(部门编号,产品编号) ;生产(制造商编号,产品编号,价格) ,候选码为(制造商编号,产品编号) 。(25)答:(i)基本函数依赖有三个:(商店编号,商品编号) 部门编号,部门编号 负责人(商店编号,商品编号) 数量R 的候选码是 (商店编号,商品编号)(ii) 因为 R 中存在着非主属性“负责人”对候选码 (商店编号、商品第 页 ( 共 15 页 )编号)的传递函数依赖,所以 R 属于 2NF,R 不属于 3NF。将 R 分解成:R1 (商店编号,商品编号,数量,部门编号)R2 (部门编号,负责人)这是,R1 和 R2 既是 3NF 也是 BCNF。(
20、26)答:(i) S,CNAME ( AGE21SEX=男 (S) )(ii) grant insert on s to 张勇 with grant option(iii) select sname from s where s# in(select s# from sc where sc.c#=K1and s# in (select s# from sc where sc.c#=K5)(iv) create view good_female as select s.s#, sname from s,sc where(s.s#=sc.s# and s.sex=女and sc.c#=K5and sc.grade=90)第 页 ( 共 15 页 )第 页 ( 共 15 页 )下 装 订 线 上 装 订 线