部门____________ 姓名__________ 日期_________ 得分__________
一、 不定项选择题(每题 1.5 分,共 30 分)
1. DELETE语句用来删除表中的数据 , 一次可以删除 ( ) 。D
A . 一行 B. 多行 C. 一行和多行 D. 多行
2. 数据库文件中主数据文件扩展名和次数据库文件扩展名分别为 ( ) 。 C
A. .mdf .ldf B. .ldf .mdf
C. .mdf .ndf D. .ndf .mdf
3. 视图是从一个或多个表中或视图中导出的( )。A
A 表 B 查询 C 报表 D 数据
4. 下列运算符中表示任意字符的是 ( ) 。B
A. * B. % C. LIKE D._
5. ( )是 SQL Server 中最重要的管理工具。 A
A.企业管理器 B. 查询分析器 C. 服务管理器 D. 事件探察器
6. ( )不是用来查询、添加、修改和删除数据库中数据的语句。 D
A、SELECT B 、INSERT C 、UPDATE D 、DROP
7. 在 oracle 中下列哪个表名是不允许的( )。D
A、abc$ B 、abc C 、abc_ D 、_abc
8. 使用 SQL命令将教师表 teacher 中工资 salary 字段的值增加 500,应该使用的命
令是( )。D
A、Replace salary with salary+500
B、Update teacher salary with salary+500
C、Update set salary with salary+500
D、Update teacher set salary=salary+500
9. 表的两种相关约束是( )。C
第 1 页,共 6 页
A、主键和索引 B 、外键和索引 C 、主键和外键 D 、内键和外键
10. ORACLE数据库物理结构包括( )。ABC
A、数据文件 B 、日志文件 C、控制文件 D、临时文件
11. 在 Oracle 中,一个用户拥有的所有数据库对象统称为( )。C
A、数据库 B、模式 C、表空间 D、实例
12. 在 Oracle 中,可用于提取日期时间类型特定部分(如年、月、日、时、分、秒)
的函数有( )。B
A、DATEPART B、EXTRACT C、TO_CHAR D、TRUNC
13. 在 Oracle 中,下面用于分组函数的返回值的子句是( )。B
A、WHERE B、HAVING C、ORDER BY D、无法限定分组函数的返回值
14. 在 Oracle 数据库中,( )用户模式存储数据字典表和视图对象。 D
A、SYSTEM B、SYS C、SCOTT D、SYSDBA
15. 在 Oracle 数据库的逻辑结构中有以下组件: A、表空间 B 、数据块 C、区 D、段,
这些组件从大到小依次是( )。B
A、A→B→C→D B、A→D→C→B
C、A→C→B→D D、D→A→C→B
16. 列出表结构的命令是( D )。
A、DESCRIBE B 、DROP C 、TRUNCATE D 、SELECT
17. 使用 SQL语句进行分组检索时,为了去掉不满足条件的分组,应当( )。B
使用 SQL语句进行分组检索时,为了去掉不满足条件的分组,应当( )
A、使用 WHERE子句
B、在 GROUP BY后面使用 HAVING子句
C、先使用 WHERE子句,再使用 HAVING子句
D、先使用 HAVING子句,再使用 WHERE子句
18. 在 Oracle 维护过程中,第一步应查看数据库管理系统的运行日志,其日志文件名
为:( )。C
A、error_'SID'.log
B、Alert_'SID'.log
C、trace_'SID'.log
D、logtail_'SID'.log
19. ORACLE中 char 类型与 varchar2 类型的区别,描述正确的是( )。AD
A、char 为定长字符数据类型
B、char 为不定长字符数据类型
第 2 页,共 6 页
C、varchar2 为定长数据类型
D、varchar2 为不定长数据类型
20. 在动环监控系统的数据库服务器上安装了 Windows2003系统,如果要使得 BASS2100
或者 C3M系统的数据库支持 4G以上的内存,那么应该安装( )版本。 B
A、32 位企业版 B 、 位企业版 C 、标准版 D 、个人版
二、 填空题(每空 1 分,共 35 分)
1. SQL Server 中数据库是由 ___________和_______________组成的。
.MDF 数据主记录文件 .LDF 数据库日志文件
2. 使用________________命令来创建一个新数据库及存储该数据库的文件。
CREATE DATABASE
3. SQL Server 中支持两种类型的变量,分别是 ______________和_____________。
全局、局部
4. Oracle 数据库由一个或多个表空间组成 , 表空间由一个或多个 _________组成。表
空间具有 ____________和____________两种状态。 当处于前者时, 表空间的数据可
为用户使用,当处于后者时,表空间的数据不可用。
数据文件、 读写 READ WRITE 和只读 READ ONLY
5. 查看 ORACLE中用户当前信息的命令是 ______________________________ 。
select username,default_tablespace from user_users
6. ORACLE数据库由三种类型的文件组成: ___________、___________和__________。
数据文件、日志文件和控制文件
7. ORACLE进程分为 ___________、___________和__________。
用户进程、服务器进程、后台进程
8. C3M系统中,LSC数据库的默认实例的系统标识符 SID 名称是 ___________,默认密
码是____________。
C3MLSC、gxxgosun
9. C3M系统采用的数据库为 Oracle 10G 版本,其中,在应用服务器上应该安装
________________,数据库服务器上应该安装 ____________________。
服务器版、客户端版
10. C3M系统数据库的备份是通过批处理脚本实现的,那么应该通过 ___________实现
自动定期的备份数据库。
定制任务
第 3 页,共 6 页
21. C3M系统应用服务器上应该配置 Oracle 数据库的监听程序和 ________________ 之
后,才能访问数据库。
Net 网络服务名
22. 在 C3M系统中, 当发现设备模板信息错误的时候, 应该进入 ____________用户, 找
到_________________ 和________________两张表,删除错误模板的记录,然后再
重新导入数据。
Gxx02、set_device_template 、set_device_standard
23. C3M系统的数据库中,标准通道类型的表是在 _________用户的 ______________和
_________________两张表。
Gxx06、pre_channle_type 、pre_channle_type_relation
24. SQL语言中, 用于排序的是 _____________子句,用于分组的是 _____________子句。
Order by 、group by
25. ______________是一个非常特殊但又非常有用的函数, 它可以计算出满足约束条件
的一组条件的行数。
count
26. SQL数据模型有三种类型,分别是 _____________、____________和___________。
概念数据模型、逻辑数据模型和物理数据模型
27. SQL属于___________型数据库管理系统。
关系
28. SQL 中有一种简便的插入多行数据的方法,这种方法是使用 _______________查询
出的结果代替 VALUES子句。
select 语句
三、 简答题(共 55 分)
11. 数据库在什么情况下不能被删除?( 5 分)
12. 在 ORACLE数据库中,如何恢复被误删的数据文件?( 5 分)
第 4 页,共 6 页
29. 请简述 ORACLE数据库系统具有的备份方式。 (5 分)
Oracle 数据库的备份方法很多, 无论使用那种备份方法, 备份的目的都是为了在出
现故障后能够以尽可能小的时间和代价恢复系统。其中用 export 实用程序导出数
据库对象(逻辑备份) 、冷备份和热备份是三种最基本的备份方法。
1、冷备份是 Oracle 最简单的一种备份。执行冷备份前必须关闭数据库,然后使用
操作系统实用工具或者第三方工具备份所有相关的数据库文件。
优点:能简单快速地备份;能简单快速地恢复;执行简单。
缺点:必须关闭数据库,不能进行点恢复。
2、热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是:数
据库运行在可归档日志模式。适用于 24X7 不间断运行的关键应用系统。
优点:备份时数据库可以是打开的; 热备份可以用来进行点恢复。 初始化参数文件、
归档日志在数据库正常运行时是关闭的,可用操作系统命令拷贝。
缺点:执行过程复杂。由于数据库不间断运行,测试比较困难。不能用操作系统实
用工具拷贝打开的文件。 必须使用 Oracle 提供的 ocopy 工具来拷贝打开的文件。 热
备份可能造成 CPU、I/O 过载,应在数据库不太忙时进行。
3、冷备份和热备份都备份物理数据库文件,因而被称为物理备份。而 export 备份
的是数据库对象,因此被称为逻辑备份。
优点: 能执行对象或者行恢复; 备份和恢复速度更快; 能够跨操作系统平台迁移数
据库;数据库可一直运行。
缺点:export 并不是冷备份和热备份的替代工具; 冷、热备份可保护介质失效; export
备份可保护用户或应用错误。
30. 存储过程与触发器的区别 ?(5 分)
触发器是一种特殊类型的存储过程, 当使用下面的一种或多种数据修改操作在指定
表中对数据进行修改时,触发器会生效: UPDATE、INSERT 或 DELETE。触发器可
以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规
则或要求。例如,可以控制是否允许基于顾客的当前帐户状态插入定单。
触发器还有助于强制引用完整性, 以便在添加、 更新或删除表中的行时保留表之间
已定义的关系。 然而,强制引用完整性的最好方法是在相关表中定义主键和外键约
束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。
触发器的优点如下:
触发器是自动的: 它们在对表的数据作了任何修改 (比如手工输入或者应用程序采
取的操作)之后立即被激活。
触发器可以通过数据库中的相关表进行层叠更改。 例如,可以在 titles 表的 title_id
列上写入一个删除触发器,以使其它表中的各匹配行采取删除操作。该触发器用
title_id 列作为唯一键,在 titleauthor 、sales 及 roysched 表中对各匹配行进行定
位。
触发器可以强制,这些比用 CHECK约束所定义的更复杂。与 CHECK约束
第 5 页,共 6 页
不同的是,触发器可以引用其它表中的列。
存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一
个单元处理。 存储过程存储在数据库内, 可由应用程序通过一个调用执行, 而且允
许用户声明变量、有条件执行以及其它强大的编程功能。
存储过程可包含程序流、 逻辑以及对数据库的查询。 它们可以接受参数、 输出参数、
返回单个或多个结果集以及返回值。
可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:
31.可以在单个存储过程中执行一系列 SQL语句。
32.可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
33.存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL语句快。
34.存储过程能够减少网络流量
35.存储过程可被作为一种安全机制来充分利用
13. 用一条 SQL语句查询出 student 表中每门功课都大于 80 分的学生姓名。 (5 分)
Name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
select distinct name from student where name not in (select name from student where
fenshu<80)
14. 学生表( student 表)如下 :
自动编号 学号 姓名 课程编号 课程名称 分数
1 2005001 张三 0001 数学 69
2 2005002 李四 0001 数学
3 2005001 张三 0001 数学 69
4 2005001 张三 0001 数学 69
请写出删除除了自动编号不同,其他都相同的学生冗余信息的方法: (5 分)
SELECT distinct 学号 , 姓名 , 课程编号 , 课程名称 , 分数,max( 自动编号 ) from
students WHERE 学号 = "& 学号& " ORDER BY 姓名 ASC
15. 假设在一个 ORACLE数据库中有一张雇员登记表,表名为 EMP,用 desc 查看时显示
如下结果,其中:
EMPNO-----雇员编号 ENAME-----雇员名字
JOB-----雇员工种 MGR-----雇员上级主管编号
HIREDATE----参- 加工作日期 SAL-----雇员工资
第 6 页,共 6 页
COMM----- 雇员奖金 DEPTNO----雇- 员所在部门编号
SQL> desc emp
Name Null? Type
------------------------------- -------- ----
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
请写出以下操作的完整的 SQL语句:(25 分)
1)、查询每个部门的工资总和。
select sum(sal) from emp
2)、向 EMP 表中插入一条与 SMITH 内容相同的记录,但姓名改为 Lida,雇员号改
为 79。
insert (empno,ename,job,mgr,hiredate,sal,comm,depno) into emp values (select
(79,Lida,job,mgr,hiredate,sal,comm,depno) from emp where ename= ’smith ’)
3)、将雇员 Smith 工资加 $1000。
update emp set sal=sal+1000 where ename= ’Smith’
4)、创建一张新表 EMP2,把 EMP 表中工资大于 $2000 的雇员插入。
create table emp2 ([EMPNO] [number](4) not null ,[ENAME] [VARCHAR2](10),[JOB]
[VARCHAR2](9),[MGR] [number](4),[HIREDATE] [DATE],[SAL] [NUMBER](7,2),[COMM]
[NUMBER](7,2),[DEPNO] [NUMBER](2))
select * into emp2 from emp where sal>2000
5)、将 EMP表增加一列 AGE,用来存放雇员年龄。
alter table emp add column [age] [number](4)
第 7 页,共 6 页
第 8 页,共 6 页