高级数据库-期中考试 - 答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

苏州大学高级数据库课程试卷(A)卷共 5页

考试形式闭卷 2015年11 月院系年级专业

学号姓名成绩

一.选择题(3*8=24)

1. 排序操作可以在( B )表空间有效进行

A.SYSTEM B. TEMPORARY

C.ROLLBACK D. USERS

2. 关于控制文件以下正确的是( A )

A.Oracle建议至少二个控制文件存放在二个磁盘分区

B.Oracle建议至少二个控制文件存放在一个磁盘分区

C.Oracle建议存放一个控制文件

D.一个控制文件不足以运行数据库

3.最新被SQL语句使用过的数据块存储在( B )

A. Shared Pool

B. Buffer Cache

C. PGA

D. UGA

4. 要统计某表中记录的总个数,以下哪项是正确的SQL语句( C )。

A. select Max(*) from 表名

B. select Sum(*) from 表名

C. select Count(*) from 表名

D. select Min(*) from 表名

5. 当B属于函数依赖于A属性时,属性A与B的联系是( B )。

A.1对多 B.多对1 C.多对多 D.以上都不是

6.E-R图是数据库设计的工具之一,它适用于建立数据库的( A )。

A.概念模型 B.逻辑模型 C.结构模型 D.物理模型

7. 在关系代数运算中,五种基本运算为( C )。

A.并、差、选择、投影、自然连接

B.并、差、交、选择、投影

C.并、差、选择、投影、乘积

D.并、差、交、选择、乘积

8. 假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE),要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系( D )。

A.S B.SC,C C.S,SC D.S,C,SC

二.简答题(6*6=36)

1.说明数据库控制文件的作用。

控制文件保存数据库的物理结构信息,包括数据库名称、数据文件的名称与状态、重做日志文件的名称与状态等。在数据库启动时,数据库实例依赖初始化参数定位控制文件,然后根据控制文件的信息加载数据文件和重做日志文件,最后打开数据文件和重做日志文件。

2.简述Oracle数据库中SGA中重做日志缓冲区、数据高速缓冲区及共享池的

功能。

数据高速缓冲区存储的是最近从数据文件中检索出来的数据,供所有用户共享。当用户要操作数据库中的数据时,先由服务器进程将数据从磁盘的数据文件读到数据高速缓冲区中,然后在缓冲区中进行处理。重做日志缓冲区用于缓存用户对数据库进行修改操作时生成的重做记录。共享池用于缓存最近执行过的SQL语句、PL/SQL程序和数据字典信息,是对SQL语句、PL/SQL程序进行语法分析、编译、执行的区域。

3.简述Oracle中重做日志文件的作用

重做日志文件是以重做记录的形式记录、保存用户对数据库所进行的修改操作,包括用户执行DDL、DML语句的操作。如果用户只对数据库进行查询操作,那么查询信息是不会记录到重做日志文件中的。

4.说明 Oracle 数据库归档的必要性及如何进行归档设置

归档是数据库恢复及热备份的基础。只用当数据库归档模式时,才可以进行热备份和完全恢复。进行归档设置包括归档模式设置(ARCHIVELOG)、归档方式设置以及归档路径的设置等。

5.简述主键和外键的定义,并说明各自分别在数据库中的作用

主键是用于唯一确定表中一个元组的一个属性或最小的属性组。外键用于实现数据之间的关联关系(参照完整性)。

Primary key(主键)约束:它可用来强制数据的完整性,在数据表中主键只能有一个,主键可以是一列,也可以是由多列所组成的主键,并且主键约束不充许在创建主键的列上有空值。

Foreign key(外键)约束:外键约束标识表之间的关系,可以使用外键约束为相关联的两个有建立关系,维护两表之间数据的一致性。

6.简述数据库建立索引的作用,以及建立和维护索引所需要解决的问题

索引用于提高数据的查询效率。根据索引值是否唯一,可以分为唯一性索引和非唯一性索引;根据索引的组织结构不同,可以分为平衡树索引和位图索引;根据索引基于的列数不同可以分为单列索引和复合索引。

主要问题:(1)索引不要与表存放在同一个表空间内(2)一个表的索引不要过多(3)对于大表而且使用频繁的表,在生产时最好不要去加索引(4)数据量小的表,使用不频繁的不要单独另建立索引(5)在查询条件中几个条件一起使用的,适合建立组合索引,否则不要建立组合索引,当单独引用非第一字段时将发生全表扫描(6)在查询的时候,where条件不要对索引的列做处理,而要对后面的条件字段做处理。否则用不上这个列上的索引。

三.综合题(2*20=40)

1.SQL(20分)写出完成下列操作的SQL命令:

已知关系S、SC、C的关系模式为:

S(S#,SN,SA,SEX,SD)

SC(C#,S#,G)

C(C#,CN,PC#)

其中:S#为学号,SN为学生名,SA为年龄,SEX为性别,SD为系别,C#为课程号,G为成绩,CN为课程名称,PC#先行课程号

(1)求选修了先行课号为‘C2’的课程的学生的名字,系别及人数

(2)求选修了‘C1’课程且成绩(G)在90分以上的学生的学号,姓名(3)求至少被N人以上的学生选修的课程

(4)求数学系学生选修‘C1’课程的平均成绩(数学系:MA)

(5)求在下列各系的学生:MA(数学系),CS(计算机科学系)

(1).SELECT S.SN,S.SD,count(S.*)

FROM S,SC,C

相关文档
最新文档