数据库基础知识笔试题(一)   单选题 

DELETE语句用来删除表中的数据,一次可以删除(      )

  • A.一行
  • B.两行
  • C.一行和多行
  • D.多行
正确答案是  D

 

数据库文件中主数据文件扩展名和次数据库文件扩展名分别为(      )。

  • A..mdf    .ldf
  • B..ldf    .mdf
  • C..mdf    .ndf
  • D. .ndf    .mdf
正确答案是  C  

视图是从一个或多个表中或视图中导出的(     )。

  • A.表
  • B.查询
  • C.报表
  • D.数据
正确答案是  A  

下列运算符中表示任意字符的是(      )。

  • A.*
  • B.%
  • C.LIKE
  • D._
正确答案是  B  

(     )是SQL Server中最重要的管理工具。

  • A.企业管理器
  • B.查询分析器
  • C.服务管理器
  • D.事件探察器
正确答案是  A  

(     )不是用来查询、添加、修改和删除数据库中数据的语句。

  • A.SELECT
  • B.INSERT 
  • C.UPDATE
  • D.DROP
正确答案是  D  

在oracle中下列哪个表名是不允许的(      )。

  • A.abc$
  • B.abc
  • C.abc_
  • D._abc
正确答案是  D  

使用SQL命令将教师表teacher中工资salary字段的值增加500,应该使用的命令是(       )。

  • 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
正确答案是  D  

表的两种相关约束是(       )。

  • A.主键和索引
  • B.外键和索引
  • C.主键和外键
  • D.内键和外键
正确答案是  C  

在Oracle中,一个用户拥有的所有数据库对象统称为(          )。

  • A.数据库
  • B.模式
  • C.表空间
  • D.实例
正确答案是  C  

在Oracle数据库中,(        )用户模式存储数据字典表和视图对象。

  • A.SYSTEM
  • B.SYS
  • C.SCOTT
  • D.SYSDBA
正确答案是  D  

在Oracle中,下面用于限制分组函数的返回值的子句是(       )。

  • A.WHERE
  • B.HAVING
  • C.ORDER BY
  • D.无法限定分组函数的返回值
正确答案是  B  

使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当(       )。

  • A.使用WHERE子句
  • B.在GROUP BY后面使用HAVING 子句
  • C.先使用WHERE子句,再使用HAVING 子句
  • D.先使用HAVING 子句,再使用WHERE子句
正确答案是  B  

列出表结构的命令是(        )。

  • A.DESCRIBE
  • B.DROP
  • C.TRUNCATE
  • D.SELECT
正确答案是  A  

在Oracle中,可用于提取日期时间类型特定部分(如年、月、日、时、分、秒)的函数有(       )。

  • A.DATEPART
  • B.EXTRACT
  • C.TO_CHAR
  • D.TRUNC
正确答案是  D  

在Oracle维护过程中,第一步应查看数据库管理系统的运行日志,其日志文件名为:(       )。

  • A.error_'SID'.log
  • B.Alert_'SID'.log
  • C.trace_'SID'.log
  • D.logtail_'SID'.log
正确答案是  C  

在Oracle数据库的逻辑结构中有以下组件:A、表空间 B、数据块 C、区 D、段,这些组件从大到小依次是(       )。

  • A.A→B→C→D
  • B.A→D→C→B
  • C.A→C→B→D
  • D.D→A→C→B
正确答案是  B  

在动环监控系统的数据库服务器上安装了Windows2003系统,如果要使得BASS2100或者C3M系统的数据库支持4G以上的内存,那么应该安装(     )版本。

  • A.32位企业版
  • B.64位企业版
  • C.标准版
  • D.个人版
正确答案是  B     不定项选择题 

ORACLE数据库物理结构包括(        )。

  • A.数据文件
  • B.日志文件
  • C.控制文件
  • D.临时文件
正确答案是  A,B,C  

ORACLE中 char类型与varchar2类型的区别,描述正确的是(       )。

  • A.char 为定长字符数据类型
  • B.char为不定长字符数据类型
  • C.varchar2为定长数据类型
  • D.varchar2为不定长数据类型
正确答案是  A,D   填空题 

SQL语言中,用于排序的是(1)子句,用于分组的是(2)子句。

  • 填空(1): 正确答案 order by 
  • 填空(2): 正确答案 group by 
 

SQL属于(1)型数据库管理系统。

  • 填空(1): 正确答案 关系 。
 

C3M系统的数据库中,标准通道类型的表是在(1)用户的(2)和(3)两张表。

  • 填空(1): 正确答案 Gxx06 。
  • 填空(2): 正确答案 pre_channle_type 或 pre_channle_type_relation 。
  • 填空(3): 正确答案 pre_channle_type_relation 或 pre_channle_type 。

 

在C3M系统中,当发现设备模板信息错误的时候,应该进入(1)用户,找到(2)和(3)两张表,删除错误模板的记录,然后再重新导入数据。

  • 填空(1): 正确答案 Gxx02 。
  • 填空(2): 正确答案 set_device_template 或 set_device_standard 。
  • 填空(3): 正确答案 set_device_standard 或 set_device_template 。

 

C3M系统应用服务器上应该配置Oracle数据库的监听程序和(1)之后,才能访问数据库。

  • 填空(1): 正确答案 Net 网络服务名 。

 

(1)是一个非常特殊但又非常有用的函数,它可以计算出满足约束条件的一组条件的行数。

  • 填空(1): 正确答案 count 。

Oracle数据库由一个或多个表空间组成,表空间由一个或多个(1)组成。表空间具有(2)和(3)两种状态。当处于前者时,表空间的数据可为用户使用,当处于后者时,表空间的数据不可用。

  • 填空(1): 正确答案 数据文件 。
  • 填空(2): 正确答案 读写 或 read write 。
  • 填空(3): 正确答案 只读 或 read only 。

 

SQL Server中支持两种类型的变量,分别是(1)和(2)。

  • 填空(1): 正确答案 全局 。
  • 填空(2): 正确答案 局部 。

 

查看ORACLE中用户当前信息的命令是(1)。

  • 填空(1): 正确答案 select username,default_tablespace from user_users 。

 

C3M系统采用的数据库为Oracle 10G版本,其中,在应用服务器上应该安装(1),数据库服务器上应该安装(2)。

  • 填空(1): 正确答案 服务器版 。
  • 填空(2): 正确答案 客户端版 。

 

C3M系统数据库的备份是通过批处理脚本实现的,那么应该通过(1)实现自动定期的备份数据库。

  • 填空(1): 正确答案 定制任务 。

 

SQL中有一种简便的插入多行数据的方法,这种方法是使用(1)查询出的结果代替VALUES子句。

  • 填空(1): 正确答案 select语句 。

 

SQL Server中数据库是由(1)和(2)组成的。

  • 填空(1): 正确答案 .MDF 数据主记录文件 。
  • 填空(2): 正确答案 .LDF 数据库日志文件 。

 

C3M系统中,LSC数据库的默认实例的系统标识符SID名称是(1),默认密码是(2)。

  • 填空(1): 正确答案 C3MLSC 。
  • 填空(2): 正确答案 gxxgosun 。

 

使用(1)命令来创建一个新数据库及存储该数据库的文件。

  • 填空(1): 正确答案 create database 。

 

ORACLE数据库由三种类型的文件组成:(1)、(2)和(3)。

  • 填空(1): 正确答案 数据文件 或 日志文件 或 控制文件 。
  • 填空(2): 正确答案 日志文件 或 数据文件 或 控制文件 。
  • 填空(3): 正确答案 控制文件 或 数据文件 或 日志文件 。

 

ORACLE进程分为(1)、(2)和(3)。

  • 填空(1): 正确答案 用户进程 或 服务器进程 或 后台进程 。
  • 填空(2): 正确答案 用户进程 或 服务器进程 或 后台进程 。
  • 填空(3): 正确答案 用户进程 或 服务器进程 或 后台进程 。

 

SQL数据模型有三种类型,分别是(1)、(2)和(3)。

  • 填空(1): 正确答案 概念数据模型 或 逻辑数据模型 或 物理数据模型 。
  • 填空(2): 正确答案 概念数据模型 或 逻辑数据模型 或 物理数据模型 。
  • 填空(3): 正确答案 概念数据模型 或 逻辑数据模型 或 物理数据模型 。

 

问答题 

数据库在什么情况下不能被删除?

参考答案:

数据库在被使用的时候不能删除。

 

请简述ORACLE数据库系统具有的备份方式。

参考答案:

Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统。其中用export实用程序导出数据库对象(逻辑备份)、冷备份和热备份是三种最基本的备份方法。

    1、冷备份是Oracle最简单的一种备份。执行冷备份前必须关闭数据库,然后使用操作系统实用工具或者第三方工具备份所有相关的数据库文件。

    优点:能简单快速地备份;能简单快速地恢复;执行简单。

    缺点:必须关闭数据库,不能进行点恢复。

    2、热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是:数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统。

    优点:备份时数据库可以是打开的;热备份可以用来进行点恢复。初始化参数文件、归档日志在数据库正常运行时是关闭的,可用操作系统命令拷贝。

    缺点:执行过程复杂。由于数据库不间断运行,测试比较困难。不能用操作系统实用工具拷贝打开的文件。必须使用Oracle提供的ocopy工具来拷贝打开的文件。热备份可能造成CPU、I/O过载,应在数据库不太忙时进行。

    3、冷备份和热备份都备份物理数据库文件,因而被称为物理备份。而export备份的是数据库对象,因此被称为逻辑备份。

    优点:能执行对象或者行恢复;备份和恢复速度更快;能够跨操作系统平台迁移数据库;数据库可一直运行。

    缺点:export并不是冷备份和热备份的替代工具;冷、热备份可保护介质失效;export备份可保护用户或应用错误。

 

存储过程与触发器的区别?

参考答案:

    触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE。触发器可以查询其它表,而且可以包含复杂的SQL语句。它们主要用于强制复杂的业务规则或要求。例如,可以控制是否允许基于顾客的当前帐户状态插入定单。

    触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。

    触发器的优点如下:

    触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活。

    触发器可以通过数据库中的相关表进行层叠更改。例如,可以在 titles 表的 title_id 列上写入一个删除触发器,以使其它表中的各匹配行采取删除操作。该触发器用 title_id 列作为唯一键,在 titleauthor、sales 及 roysched 表中对各匹配行进行定位。

    触发器可以强制限制,这些限制比用 CHECK约束所定义的更复杂。与CHECK约束不同的是,触发器可以引用其它表中的列。

    存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。

    存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。

    可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:

    1.可以在单个存储过程中执行一系列SQL语句。

    2.可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。

    3.存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快。

    4.存储过程能够减少网络流量

    5.存储过程可被作为一种安全机制来充分利用

 

用一条SQL语句查询出student表中每门功课都大于80分的学生姓名。

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)

   

学生表(student表)如下:

自动编号     学号      姓名   课程编号    课程名称    分数

  1         2005001     张三     0001         数学      69

  2         2005002     李四     0001         数学      89

  3         2005001     张三     0001         数学      69

  4         2005001     张三     0001         数学      69



请写出删除除了自动编号不同,其他都相同的学生冗余信息的方法

参考答案:

SELECT  distinct  学号,姓名,课程编号,课程名称,分数,max(自动编号)  from  students  WHERE  学号  =  "&学号& "  ORDER  BY  姓名  ASC

     

假设在一个ORACLE数据库中有一张雇员登记表,表名为EMP,用desc查看时显示如下结果,其中:


EMPNO-----雇员编号                 ENAME-----雇员名字

JOB-----雇员工种                    MGR-----雇员上级主管编号 

HIREDATE-----参加工作日期           SAL-----雇员工资

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语句:

         1)查询每个部门的工资总和。


         2)向EMP表中插入一条与SMITH内容相同的记录,但姓名改为Lida,雇员号改为7899。


         3)将雇员Smith工资加$1000。


        4)创建一张新表EMP2,把EMP表中工资大于$2000的雇员插入。


        5)将EMP表增加一列AGE,用来存放雇员年龄。

 

参考答案:

1)select sum(sal) from emp;

2)insert (empno,ename,job,mgr,hiredate,sal,comm,depno) into emp values (select (7899,Lida,job,mgr,hiredate,sal,comm,depno) from emp where ename=’smith’);

3)update emp set sal=sal+1000 where ename=’Smith’;

4)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)alter table emp add column [age] [number](4) 

  posted on 2018-09-28 16:17 肥兔one 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://wwwblogs/longmiao/p/9719321.html

更多推荐

数据库基础知识笔试题(一)