Oracle 10g 数据库管理 应用开发 标准教程 思考与练习 联系客服

发布时间 : 星期三 文章Oracle 10g 数据库管理 应用开发 标准教程 思考与练习更新完毕开始阅读e96a5579a26925c52cc5bfdf

1.下列哪个对象属于模式对象? C

A.数据段 B.盘区 C.表 D.表空间 2.关于模式的描述下列哪一项不正确? C A.表或索引等模式对象一定属于某一个模式

B.在Oracle 数据库中,模式与数据库用户是一一对应的

C.一个表可以属于多个模式 D.一个模式可以拥有多个表

3.如果一个表中某条记录的一个字段暂时不具有任何值,那么在其中将保存什么内容? C A.空格字符 B.数字0 C.NULL D.该字段数据类型的默认值 4.下列哪一项不是伪列ROWID 的作用? D

A.保存记录的物理地址 B.快速查询指定的记录 C.标识各条记录 D.保存记录的头信息 5.下列哪一项错误地描述了默认值的作用? B A.为表中某列定义默认值后,如果向表中添加记录而未为该列提供值,则使用定义的默认值 代替

B.如果向表中添加记录并且为定义默认值的列提供值,则该列仍然使用定义的默认值 C.如果向表中添加记录并且为定义默认值的列提供值,则该列使用提供的值 D.向表中添加记录时,如果定义默认值的列提供值为NULL,则该列使用NULL 值 6.某用户需要创建一个很小的表,但是该表会被许多查询使用,这时用户应当在创建该表时 指定下列哪个子句? B

A.PCTFREE 和PCTUSED B.CACHE C.NOLOGGING D.TABLESPACE 7.为了减少表中的链接记录和迁移记录,应当增大表的哪一个存储参数? A

A.PCTFREE B.PCTUSED C.MAXEXTENTS D.PCTINCREASE 8.唯一约束与主键约束的一个区别是? D

A.唯一约束的列的值不可以有重复值 B.唯一约束的列的值可以不是唯一的 C.唯一约束的列不可以为空值 D.唯一约束的列可以为空值

9.如果为表Employee 添加一个字段Email,现在规定每个雇员都必须具有唯一的Email 地址,则应当为Email 字段建立哪种约束? B

A.Primary Key B.UNIQUE C.CHECK D.NOT NULL

第六章 一、填空题

1.在使用逗号连接的多表查询中,为了防止出现笛卡儿积,需要SELECT 语句的Where 子 句中提供连接条件。

2.使用逗号连接的多表查询中,用户可以根据下述基本原则创建需要的各种查询:From 子 句应当包括所有的表名,在Where 子句中应定义一个连接条件,当列名为多个表共有时, 列名必须被限制。

3.自然连接为具有相同名称的列自动进行记录匹配,它不必指定任何同等连接条件。 4.集合运算符UNION 实现了集合的并运算,操作INTERSECT 实现了对集合的交运算,而 MINUS 则实现了减运算。

5.使用关键字连接子查询时,EXISTS 关键只注重子查询是否返回行,如果子查询返回一个 或多个行,那么便返回为真,否则为假。

二、选择题

1.下列哪一种连接与逗号分隔连接执行的效果相同? C

A.外连接 B.交叉连接 C.自然连接 D.内连接 2.如果只需要返回匹配的列,则应当使用哪种连接? A

A.内连接 B.交叉连接 C.左连接 D.全连接 3.下列SELECT 语句中,哪些子句可以包含子查询? C

A.SELECT B.GROUP BY C.WHERE D.ORDER BY

4.如果使用逗号分隔连接查询两个表,其中一表有20 行,而另一个表有50 行,如果未使用 WHERE 子句,则将返回多少行? B

A.20 B.1000 C.50 D.500 5.下列的SELECT 语句中哪个不能正常运行? D A.

SELECT STD,SNAME,SCLASS,CNAME FROM STUDENT S,CLASS C WHERE SCLASS=CID; B.

SELECT * FROM STUDENT S,CLASS C WHERE SCLASS=CID; C.

SELECT S.SID,S.NAME,SCLASS,C.CNAME FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID; D.

SELECT S.SID,S.SNAME,SCLASS,C.CNAME FROM STUDENT WHERE SCLASS S IN (SELECT CID FROM CLAS C);

6.下面的A SELECT 语句用于查询SCHOOL 模式中的STUDENT 、CLASS 和 DEPARTMENT 表中的信息。完成该语句,使其可以正常运行。 SELECT s.sname,s.saddress,c.cname,D.DNAME,D.DOFFICE

FROM STUDENT S _________ CLASS C ________ _________ DEPARTMENT D WHERE D.DNAME='法律系';

A.JOIN、ON S.SCLASS=C.CID、JOIN、ON D.DID=C.DEPARTMENT

B.NATURAL JOIN、ON D.DID=C.DEPARTMENT、JOIN、ON S.SCLASS=C.CID C.CROSS JOIN、ON S.SCLASS=C.CID、JOIN、ON D.DID=C.DERPARTMENT D.JOIN、ON S.SCLASS=C.CID、NATURAL JOIN、ON D.DID=C.DEPARTMENT 7.在下面各选项中, B 与下面SELECT 语句的查询结果相同。 SELECT SID,SNAME,SADDRESS FROM STUDENT

WHERE SCLASS='C0010545' OR SCLASS IN( SELECT CID FROM CLASS WHERE DEPARTMENT IN(

SELECT DID FROM DEPARTMENT WHERE DNAME='化工系')); A.

SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS='C0010545' INTERSECT

SELECT SID,SNAME,SADDRESS FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN

(SELECT DID FROM DEPARTMENT WHERE DNAME='化工系'); B.

SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS='C0010545'

UNION

SELECT SID,SNAME,SADDRESS FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN

(SELECT DID FROM DEPARTMENT WHERE DNAME='化工系'); C.

SELECT * FROM STUDENT WHERE SCLASS='C0010545' UNION

SELECT * FROM STUDENT S,CLASS C

WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN

(SELECT DID FROM DEPARTMENT WHERE DNAME='化工系'); D.

SELECT SID,SNAME,SADDRESS FROM STUDENT WHERE SCLASS='C0010545' MINUS

SELECT SID,SNAME,SADDRESS FROM STUDENT S,CLASS C WHERE S.SCLASS=C.CID AND C.DEPARTMENT IN

(SELECT DID FROM DEPARTMENT WHERE DNAME='化工系');

第七章 一、填空题

1.PL/SQL 程序块主要包含3 个主要部分:声明部分、可执行部分和异常处理部分。 2.使用显式游标主要有4 个步骤:声明游标、打开游标、检索数据、关闭游标。 3.在PL/SQL 中, 如果SELECT 语句没有返回列, 则会引发ORACLE 错误, 并引发 no_data_found 异常。

4.自定义异常必须使用raise 语句引发。

5.查看操作在数据表中所影响的行数,可通过游标的%RowCount 属性实现。 6.查看下面的程序块,DBMS_OUTPUT 将显示什么结果? N DECLARE

var_a CHAR(1):='N'; BEGIN DECLARE

var_a CHAR(2); BEGIN

var_a:='Y'; END;

DBMS_OUTPUT.put_line(var_a); END;

7.查看下面的程序块,其中变量var_b 的结果为5 。 DECLARE

Var_a number:=1200; Var_b number; BEGIN

IF var_a>500 THEN

var_b:=5;

ELSIF var_a>1000 THEN var_b:=10; ELSE

var_b:=8; END IF; END;

8.下列程序计算由0~9 之间的任意3 个不相同的数字组成的三位数,共有多少种不同的组合 方式?完成下列程序使其能够正确运行。 DECLARE

counter number:=0; BEGIN

FOR i IN 1..9 LOOP

FOR j IN 0..9 LOOP

IF i!=j THEN

FOR k IN 0..9 LOOP

IF k!=i and k!=j THEN

counter:=counter+1; END IF; END LOOP; END IF; END LOOP; END LOOP;

DBMS_OUTPUT.put_line(counter); END;

二、选择题

1.以下定义的哪个变量是非法的? B

A.var_ab NUMBER(3); B.var_ab NUMBER(3) NOT NULL:='0'; C.var_ab NUMBER(3) DEFAULT:=1; D.var_ab NUMBER(3):=3; 2.下列哪一个不是BOOLEAN 变量可能的取值? D

A.TRUE B.FALSE C.NULL D.BLANK 3.只能存储一个值的变量是哪种变量? B

A.游标 B.标题变量 C.游标变量 D.记录变量 4.声明%TYPE 类型的变量时,服务器将会做什么操作? A A.为该变量检索数据库列的数据类型 B.复制一个变量

C.检索数据库中的数据 D.为该变量检索列的数据类型和值 5.下列哪一项可以正确地引用记录变量中的一个值? B

A.rec_abc(1); B.rec_abc(1).col; C.rec_abc.col; D.rec_abc.first(); 6. 下列哪个语句允许检查UPDATE 语句所影响的行数? B

A.SQL%FOUND B.SQL%ROWCOUNT C.SQL%COUNTD D.SQL%NOTFOUND 7.在定义游标时使用的FOR UPDATE 子句的作用是B

A.执行游标 B.执行SQL 语句的UPDATE语句 C.对要更新表的列进行加锁 D.都不对 8.对于游标FOR 循环,以下哪一种说法是不正确的? D