一、    填空题

  1. 在用 create 语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据插入表中。
  2. 在基本表不需要时,可以使用 drop table 语句撤消。在一个基本表撤消后,所有的数据都丢弃。所有相关的索引被删除。
  3. 可以使用 rename 语句改变表名(视图),要求必须是表(视图)的所有者。
  4. 根据约束的作用域,约束可以分为表级约束和列级约束两种。     列级约束   是字段定义的一部分,只能够应用在一个列上;而另外一种约束的定义独立于列的定义,它可以应用于一个表中的多个列。
  5. 完整性约束分类:域完整性约束、实体完整性约束、  参照完整性约束   。
  6. 主键约束  是数据库中最重要的一种约束。在关系中,主键值不可为空,也不允许出现重复,即关系要满足实体完整性规则。
  7. 唯一性约束确保所在的字段或者字段组合不出现重复值。
  8. 索引类似字典的和课本目录,是为了加快对数据的搜索速度而设立的。
  9. 索引类型默认采用  B树数据结构,数据全部集中在叶子节点。
  10. 视图  是从若干基本表和(或)其他视图构造出来的表。
  11. 在用户使用视图时才去求相对应的数据。所以视图被称作  虚表  。
  12. 如果视图对应多个表,一般不允许添加操作,可以通过  触发器解决。
  13. 使用   with read only  定义只读视图。
  14. 事务(Transaction)是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。
  15. commit  表示事务成功地结束,此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都以交付实施。
  16. 一旦执行了commit语句,将目前对数据库的操作提交给数据库(实际写入DB),以后就不能用  rollback   进行撤销。
  17. 为保证数据库设计水平,必须遵循一定的规则,在关系型数据库中这种规则就称为   范式   。
  18. 第一范式:简单说就是要确保每列保持   原子性  。
  19. Oralce数据库在进行物理备份有联机备份和  脱机备份  两种方式可供选择。
  20. 在多进程Oracle实例系统中,进程分为用户进程、后台进程和   服务进程    。

二、    选择题

 

1.

从数据库中删除表的命令是)。(选择一项)

A.

DROP TABLE

B.

ALTER TABLE

C.

DELETE TABLE

D.

USE

 

2.

Oracle中要生成数据库表,下列哪个选项是无效表生成的语句(  D  )。(选择一项)

A.

create table cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));

B.

create table my_cats as select * from cats where owner = ‘ME’;

C.

create global temporary table temp_cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));

D.

create table 51cats as select c_name, c_weight from cats where c_weight > 5;

3.

如果在一个关系中,存在某个属性(或属性组),虽然不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的  C  )(选择一项)

A.

候选码

B.

主码

C.

外码

D.

连接码

 

4.

SQL语句中修改表结构的命令是  C  )。(选择一项)

A.

MODIFY TABLE

B.

MODIFY STRUCTURE

C.

ALTER TABLE

D.

ALTER STRUCTURE

5.

关系模型有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。定义外键实现的是哪一(些)类完整性(  B  )。(选择一项)

A.

实体完整性

B.

参照完整性

C.

用户定义的完整性

D.

实体完整性、参照完整性和用户定义的完整性

6.

在关系数据库中,建立数据库表时,将年龄字段值限制在12~40岁之间的这种约束属于  B  )。(选择一项)

A.

视图完整性约束

B.

域完整性约束

C.

参照完整性约束

D.

实体完整性约束

 

7.

用于删除约束的命令是哪一个(  C  。(选择一项)

A.

ALTER TABLE MODIFY CONSTRAINT

B.

DROP CONSTRAINT

C.

ALTER TABLE DROP CONSTRAINT

D.

ALTER CONSTRAINT DROP

 

8.

 

现有如下关系:职工(职工号,姓名,性别,职务)

部门(部门编号,部门名称,职工号,姓名,部门地址,电话)

其中,部门关系中的外码是  C  )。(选择一项)

A.

部门编号

B.

姓名

C.

职工号

D.

职工号,姓名

9.

要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表  A  )。(选择一项)

A.

是同一个数据库中的两个表

B.

不同数据库中的两个表

C.

两个自由表

D.

一个是数据库表另一个是自由表

 

10.

删除Oracle数据库中父/子关系中的父表。在删除父表时下列哪个对象不会删除(  B  )。(选择一项)

A.

相关约束

B.

子表

C.

相关触发器

D.

相关索引

 

11.

假定USER表的PRIMARY
KEY
约束名为USER_ID_PK,下面哪一个语句将删除这个约束  C  )。(选择一项)

A.

DROP CONSTRAINT USER_ID_PK;

B.

ALTER TABLE USER DROP USER_ID_PK;

C.

ALTER TABLE USER DROP CONSTRAINT USER_ID_PK;

D.

ALTER TABLE USER DROP PRIMARY KEY;

12.

对于索引以下不正确的描述是(  D  )。(选择一项)

A.

索引可以加快查询效率

B.

索引与DML速度无关

C.

索引创建后会自动被Oracle使用

D.

索引不占用存储空间

13.

索引字段值不唯一,应该选择的索引类型为  B  )。(选择一项)

A.

主索引

B.

普通索引

C.

候选索引

D.

唯一索引

 

14.

对于学生—选课—课程的三个关系

S(S#,SNAME,SEX,AGE) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER)

为了提高查询速度,对SC表创建唯一索引,应建哪个组上 A   )。(选择一项)

A.

(S#,C#)

B.

S#

C.

C#

D.

GRADE

 

15.

如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是  B  )。(选择一项)

A.

部门+性别+基本工资

B.

部门+性别+STR(基本工资)

C.

STR(基本工资)+性别+部门

D.

性别+部门+STR(基本工资)

 

16.

哪个约束会自动建立索引(  AC  )。(选择二项)

A.

主码

B.

外码

C.

唯一

D

CHECK

 

17.

在SQL中,删除视图用  C  )。(选择一项)

A.

DROP SCHEMA命令

B.

CREATE TABLE命令

C.

DROP VIEW命令

D.

DROP INDEX命令

 

18.

对于学生—选课—课程的三个关系S(S#,SNAME,SEX,AGE)
SC(S#,C#,GRADE) C(C#,CNAME,TEACHER) 为了考虑安全性,每个教师只能存取自己讲授的课程的学生成绩,应创建  A  )。(选择一项)

A.

视图

B.

索引

C.

游标

D.

 

19.

下列关于关系数据库视图的说法中,哪些是错误的(  A  )(选择一项)

A.

视图是关系数据库三级模式中的内模式。

B.

视图能够对机密数据库提供一定的安全保护。

C.

视图对重构数据库提供了一定程度的逻辑独立性

D.

对视图的一切操作最终都要转换为对基本表的操作

 

 

20.

数据库的并发操作可能带来的问题包括 B   )。(选择一项)

A.

非法用户的使用

B.

丢失更新

C.

数据独立性会提高

D.

增加数据冗余度

 

21.

oracle中获取前10条的关键字是(  D  )。(选择一项)

A.

Top

B.

Limit

C.

First

D.

Rownum

 

22.

 

Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是(  C  )。(选择一项)

A.

select seq.ROWNUM from dual;

B.

select seq.ROWID from dual;

C.

select seq.CURRVAL from dual;

D.

select seq.NEXTVAL from dual;

 

23.

下面对序列venseq修改的语句,错误的是(  A  )。(选择一项)

A.

ALTER SEQUENCE venseq START WITH 1

B.

ALTER SEQUENCE venseq
MAXVALUE 90

C.

ALTER SEQUENCE venseq
NOMINVALUE

D.

ALTER SEQUENCE venseq
NOCACHE

三、   
判断题

  1. 唯一性约束条件的字段允许出现空值,但是最多只能是一个空值。(  F  )
  2. 可增加或删除约束,也可以直接修改。(  F  )
  3. 序列是oracle专有的对象,它用来产生一个自动递增的数列。(  T  )
  4. 索引的作用:在数据库中用来加速对表的查询,通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O。(  T  )
  5. 索引数据不会占用存储空间。(  F  )
  6. 索引改善检索操作的性能,但降低数据插入、修改和删除的性能。在执行这些操作时,DBMS必须动态地更新索引。(  T  )
  7. 删掉视图不会导致数据丢失,因为视图是基于数据库表的一个查询。(  T  )
  8. 改变基本表的数据,不会反应到基于该表的视图上。(  F  )
  9. 视图可以基于一个表、多个表,甚至是基于其他的视图。(  T  )
  10. Rollback表示事务不成功的结束,此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的更新必须被撤销,数据库应恢复该事务到初始状态。每个Rollback语句同时也是另一个事务的开始。(  T  )
  11. 范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。(  T  )
  12. 范式越高,设计质量越高,在现实设计中也越难实现。一般数据库设计,只要达到第二范式,即可避免异常的出现。( F  )
  13. 第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关。(  T  )
  14. 范式的优点有:结构合理、冗余较小、尽量避免插入删除修改异常、执行效率非常高。( F  )
  15. 特定表的的设计可以违反第三范式,增加冗余提高性能。(  T  )
  16. 数据库表之间的关系包括:一对一、一对多、多对多。(  T  )

四、   
编码题

  1. 某教学数据库有三个表:

学生表S:SNO (学生编号),SNAME(学生姓名),SAGE(年龄),SSEX(性别),SDEPT(院系));

学习表SC:SNO(学生编号),CNO(课程编号),GRADE(年级));

课程关系C:CNO(课程编号),CNAME(课程名称),CDEPT(院系);

1) 
用SQL语句完成下列查询(比较):

a)  查所有年龄在20岁以下的学生姓名及年龄:

  SELECT Sname,Sage FROM
WHERE Sage<20;

b)  查考试成绩有不及格的学生的学号:

SELECT DISTINCT  Sno 
FROM SC  WHERE grade<60;

2) 
用SQL语句完成下列查询(确定范围):

查所年龄在20至23岁之间的学生姓名、系别及年龄:

SELECT SnameSdeptSage  FROM S

WHERE  Sage 
BETWEEN  20  AND  23;

3) 
用SQL语句完成下列查询(确定集合  ):

a)  查计算机系、数学系、信息系的学生姓名、性别:

SELECT SnameSsex 
FROM S

WHERE  Sdept IN (’CS’,‘IS’,‘MATH’);

b)  查既不是计算机系、数学系、又不是信息系的学生姓名、性别:

SELECT SnameSsex 
FROM S

WHERE  Sdept  NOT IN (’CS’, ‘IS’, ‘MATH’);

4) 
用SQL语句完成下列查询(字符匹配):

a) 
查所有姓“刘”的学生的姓名、学号和性别:

SELECT SnameSnoSsex FROM S WHERE  Sname  LIKE ‘%’;

b) 
查姓“上官”且全名为3个汉字的学生姓名:

SELECT Sname  FROM S WHERE  Sname  LIKE ‘上官_’;

c) 
查所有不姓“张”的学生的姓名:

SELECT SnameSnoSsex  FROM S WHERE  Sname  NOT  LIKE ‘%’;

d) 
查DB_Design课程的课程号:

SELECT Cno FROM CWHERE  Cname  LIKE ‘DB\_Design’ ESCAPE ‘\’;

5) 
用SQL语句完成下列查询(涉及空值的查询):

a) 
查缺考的学生的学号和课程号:

SELECT SnoCno FROM SC WHERE  Grade  IS NULL;

b) 
查年龄为空值的学生的学号和姓名:

SELECT SnoSname FROM S WHERE  Sage 
IS  NULL;

6) 
用SQL语句完成下列查询(多重条件查询):

a)  查计算机系20岁以下的学生的学号和姓名:

SELECT SnoSname FROM S WHERE  Sdept=‘CS’ AND Sage<20;

b)  查计算机系、数学系、信息系的学生姓名、性别:

SELECT SnameSsex FROM S WHERE  Sdept =’CS’ OR Sdept =‘IS’ OR Sdept =’MATH’;

7) 
用SQL语句完成下列查询(对查询结果排序):

a)  查询选修了C3课程的学生的学号和成绩,其结果按分数的降序排列:

SELECT SnoGrade FROM SC WHERE  Cno=‘C3’ORDER BY Grade  DESC;

b)  查询全体学生的情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列:

SELECT  * FROM S ORDER BY  SdepSage 
DESC;

8) 
用SQL语句完成下列查询(聚合函数的使用):

a)  查询学生总人数:

SELECT  COUNT(*) FROM S;

b)  查询选修了课程的学生人数:

SELECT  COUNT(DISTINCT Sno) FROM SC;

c)  计算选修了C1课程的学生平均成绩:

SELECT  AVG(Grade) FROM SC WHERE Cno=‘C1’;

d)  查询学习C3课程的学生最高分数:

SELECT  MAX(Grade) FROM SC WHERE Cno=‘C3’;

9) 
用SQL语句完成下列查询(对查询结果分组):

a)  查询各个课程号与相应的选课人数:

SELECT  Cno,COUNT(Sno)FROM SC GROUP BY Cno;

b)  查询计算机系选修了3门以上课程的学生的学号:

SELECT  Sno FROM SC WHERE Sdept=‘CS’ GROUP BY Sno  HAVING COUNT(*)>3;

c)  求基本表S中男同学的每一年级组(超过50人)有多少人?要求查询结果按人数升序排列,人数相同按年龄降序排列:

SELECT Sage,COUNT(Sno)FROM S WHERE Ssex='M'GROUP BY Sage HAVING COUNT(*)> 50 ORDER BY 2,Sage DESC;

10)
用SQL语句完成下列查询(多表联接查询):

a)  查询每个学生及其选修课程的情况:

SELECT S.Sno,Sname,Sage,Ssex,Sdept,Cno,Grade FROM S, SC WHERE S.Sno=SC.Sno;

b)  查询选修了C2课程且成绩在90分以上的所有学生:

SELECT  S.SnoSname FROM SSC WHERE S.Sno=SC.Sno AND   SC.Cno=‘C2’ 
AND   SC.Grade > 90;

c)  查询每个学生选修的课程名及其成绩:

SELECT  S.SnoSnameCnameSC.Grade FROM SSCC WHERE S.Sno=SC.Sno  AND SC.Cno=C.Cno;

d)  统计每一年龄选修课程的学生人数:

SELECT Sage,COUNT(DISTINCT S.Sno)FROM SSC WHERE S.Sno=SC.Sno GROUP BY Sage;

11)
用SQL语句完成下列查询(多表嵌套查询-带有IN谓词的子查询):

a)  查询选修了C2课程的学生姓名:

SELECT  Sname FROM  S WHERE Sno  IN ( SELECT  Sno FROM  SC WHERE Cno=‘C2’);

b)  查询与“张三”在同一个系学习的学生学号、姓名和系别:

SELECT SnoSnameSdept FROM S WHERE  Sdept  IN (SELECT Sdept FROM S WHERE Sname=‘张三’);

c)  查询选修课程名为“数据库”的学生学号和姓名:

SELECT SnoSname FROM S WHERE  Sno 
IN (SELECT Sno FROM SC WHERE Cno  IN(SELECT Cno FROM C WHERE  Cname='DB'));

  1. 2. 
    (可选题)订货管理数据库,有四个表:

仓库表:仓库号,面积,城市;

供应商表:供应商号,地址;

订购单表:订货单号,供应商号,职工号,订货日期,
总金额;

职工表:职工号,仓库号,工资;

用SQL语句完成下列操作:

1) 
查询订货管理数据库中数据的仓库号、城市、供应商名和地址信息

方法一:使用简单连接格式。

SELECT 仓库.仓库号,城市,供应商名,地址 FROM 供应商,订购单,职工,仓库

WHERE 供应商.供应商号=订购单.供应商号 AND订购单.职工号=职工.职工号

AND 职工.仓库号=仓库.仓库号;

方法二:使用超连接的内部连接格式(注意连接条件的顺序)。

SELECT 仓库.仓库号,城市,供应商名,地址 FROM 供应商

JOIN 订购单 ON  供应商.供应商号=订购单.供应商号

JOIN 职工  ON  订购单.职工号=职工.职工号

JOIN 仓库 ON 职工.仓库号=仓库.仓库号 ;

2) 
检索在北京的供应商的名称:

SELECT 供应商名 FROM 供应商 WHERE 地址 LIKE ‘%北京%’;

3) 
检索出向供应商S3发过订购单的职工的职工号和仓库号:

方法一(嵌套查询):

SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN

(SELECT 职工号 FROM 订购单 WHERE 供应商号='S3');

方法二(连接查询):

SELECT 职工.职工号,仓库号 FROM 职工,订购单

WHERE 职工.职工号=订购单.职工号 AND 供应商号='S3';

4) 
检索出和职工E1、E3都有联系的北京的供应商信息:

SELECT * FROM 供应商 WHERE 地址 LIKE ‘%北京%’ AND 供应商号 IN

(SELECT 供应商号 FROM 订购单 WHERE 职工号=’E1’) AND 供应商号 IN

(SELECT 供应商号 FROM 订购单 WHERE 职工号=’E3’);

5) 
检索出向S4供应商发出订购单的仓库所在的城市:

SELECT 城市 FROM 仓库,职工,订购单 WHERE 仓库.仓库号=职工.仓库号

AND 职工.职工号=订购单.职工号 AND 供应商号=’S4’;

6) 
检索出由工资多于1230元的职工向北京的供应商发出的订购单号:

SELECT 订货单号 FROM 职工,订购单,供应商 WHERE 职工.职工号=订购单.职工号AND 订购单.供应商号=供应商.供应商号 AND 工资>1230 AND 地址 LIKE ‘%北京%’;

7) 
检索出所有仓库的平均面积:

SELECT AVG(面积) AS 面积 FROM 仓库;

8) 
检索出每个仓库中工资多于1220元的职工个数:

SELECT 仓库号,COUNT(*) 职工个数 FROM 职工 WHERE 工资>1220 GROUP BY 仓库号;

9) 
检索工资低于本仓库平均工资的职工信息:

SELECT * FROM 职工 AA WHERE 工资<(SELECT AVG(工资) FROM 职工 BB GROUP BY BB.仓库号);

10)
列出表订购单中每个职工经手的具有最高总金额的订购单信息:

SELECT 职工号,供应商号,订货单号,总金额 FROM 订购单 WHERE 总金额=(SELECT MAX(总金额) FROM 订购单 GROUP BY 职工号);

 

Oracle数据库对象题库的更多相关文章

  1. Oracle 数据库对象

    数据库对象是数据库的组成部分,常常用CREATE命令进行创建,可以使用ALTER命令修改,用DROP执行删除操作.前面已经接触过的数据库对象有表.用户等. 今天将学习更多的Oracle数据库对象: 同 ...

  2. Oracle数据库对象,同义词、序列、视图、索引

    数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...

  3. Oracle数据库对象(表空间/同义词/序列/视图/索引)

    数据库对象 Oracle数据库对象: 数据库对象是数据库的组成部分,常常用 CREATE 命令进行创建,可以使用 ALTER 命令修改,用 DROP 执行删除操作. 种类: (1)表空间:所有的数据对 ...

  4. 【Oracle】实现Oracle数据库对象的一键升级

    引言     公司内部的项目比较倾向于将业务逻辑放在oracle存储过程中实现,所以每次项目升级都涉及到很多的oracle表,存储过程等数据库对象的升级.然而采取的升级方式是比较"原始&qu ...

  5. 记录排查解决Hubble.Net连接Oracle数据库建立镜像库数据丢失的问题

    起因 前几天在弄Hubble连接Oracle数据库,然后在mongodb中建立一个镜像数据库; 发现一个问题,原本数据是11W,但是镜像库中只有6w多条; 刚开始以为是没运行好,又rebuild了一下 ...

  6. Oracle数据库对象_同义词

    同义词是一种数据库对象,它是为一个数据库对象定义的别名,使用同义词的主要目的是为了简化SQL语句的书写. 同义词的概念和类型 利用同义词可以为用户的一个对象,或者其他用户的一个对象定义别名,从而简化命 ...

  7. 数据库 Oracle数据库对象一

    常见的数据库对象 表:基本的数据存储集合,由行和列组成 视图:从表中抽出的逻辑上相关的数据集合 序列:提供有规律的数值 索引:提高查询的效率 同义词:给对象起别名 create table语句 --c ...

  8. oracle数据库对象使用说明

    1.创建一个分区表,并插入一些数据,同时查询出每个分区的数据. 答:创建分区表如下 2.创建一个视图,并给出一个查询语句. 3.在当前用户下创建一个同义词,用于查询scott用户下的dept表,并给出 ...

  9. Oracle数据库对象_视图

    视图是一种非常重要的数据库对象,它的形式类似于普通表,我们可以从视图中查询数据. 实际上它是建立在表上的一种虚表,在视图中并不存储真正的数据,而是仅仅保存一条SELECT语句,对视图的访问将被转化为对 ...

随机推荐

  1. CF #305 (Div. 2) C. Mike and Frog(扩展欧几里得&&当然暴力is also no problem)

    C. Mike and Frog time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  2. EasyUI中Dialog的使用

    $(function () { $('<div id="dlgContent"></div>').appendTo($('body')); $('#dlgC ...

  3. Android学习笔记(十七)——数据库操作(下)

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 这一次我们来试一试升级数据库,并进行数据库的CRUD操作,其中, C 代表添加(Create) ,R 代表查询 ...

  4. git 教程(8)--删除文件

    在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:

  5. net-snmp源码VS2013编译添加加密支持(OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  6. 搭建高可用mongodb集群(四)—— 分片

    按照上一节中<搭建高可用mongodb集群(三)-- 深入副本集>搭建后还有两个问题没有解决: 从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据压力大到机器支撑不了的 ...

  7. phpcms图片模型调用组图的问题

    phpcms里面有个图片模型,之前一直没有用过,之前用的轮播图是用文章+缩略图+推荐位实现的 今天看了一下图片模型添加内容的地方,和平常的文章相比多了一个组图的地方:

  8. [转]Tomcat----Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

    对于使用IDE开发的程序员来讲,并不是所有人都对自己用来吃饭的工具了如指掌.常在阴沟跑,哪能不翻船.为此我把自己使用Tomcat/Eclipse的一些经验教训整理了一下,会陆续的贴出来,也许会帮到和我 ...

  9. java导出生成word

    最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的 ...

  10. Sort Transformed Array

    Given a sorted array of integers nums and integer values a, b and c. Apply a function of the form f( ...