oracle 11g(钱慎一)课后习题答案

更新时间:2023-11-23 02:54:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章

一、选择题 1. 若关系的某一属性组的值能唯一地标识一个元组,我们称之为( B )。

A、主码 B、候选码 C、外码 D、联系 2. 以下不属于数据库模型的三要素的是( C )。

A、数据结构 B、数据操作 C、数据控制 D、完整性约束 3. 以下对关系性质的描述中,哪个是错误的?( B )

A、关系中每个属性值都是不可分解的 B、关系中允许出现相同的元组

C、定义关系模式时可随意指定属性的排列次序 D、关系中元组的排列次序可以任意交换 二、填空题

1. 数据管理发展的三个阶段是 人工管理 、 文件管理 和 数据库管理。 2. 数据库系统的三级模式包括 逻辑数据模型(逻辑模型)、 逻辑数据模型(概念模型) 、物理数据模型(物理模型)。 三、思考题

1. 数据库管理系统的主要功能有哪些?

1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。

2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。

3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控 制和管理,以确保数据正确有效。

4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。

5)数据库的传输。DBMS提供处理数据的传输,实现用户 程序与DBMS之间的通信,通常与操作系统协调完成。

2. 思考关系规范化的过程。

答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。

3. 思考数据库设计的步骤。

答:1需求分析、2概念设计阶段、3逻辑结构设计阶段、4数据库物理结构设计阶段、5数据库实施阶段、6数据库运行和维护阶段。

第二章

一、选择题

1、Oracle 11g不具备的版本是(C)

A.个人版 B.标准版 C. 扩展板 D.企业版

2、oracle 数据库的数据字典不能做的工作有(B) A. 查找oracle数据库用户信息 B. 查找oracle数据库表中的信息 C. 查找oracle数据库模式对象的信息 D. 查找oracle数据库存储结构的信息 二、填空题

1、 Oracle体系结构由内存结构、进程结构和存储结构组成。

2、 Oracle数据库中,段包括 数据段、牵引段、回滚段和临时段四种。 3、 Oracle物理存储结构包含三种数据文件:控制文件、数据文件和日志文件。

三.思考题

1. 名词解释:

数据块:是数据块使用的I/O最小单元,也是最基础的存储单位,又称逻辑块或oracle块。数据块包括块头和存储区。 区:是数据存储空间分配的逻辑单元,,在一个段中可以存在多个区间,区间是数据一次性预留的一个较大的存储空间。

段:是对象在数据库中占用的空间。段和数据库对象是一一对应的,但段是从数据库存储的角度来看。一个段只能属于一个表空间,一个表空间可以有多个段。 表空间。

2. Oracle的物理结构主要包括那些类型的文件?

答:控制文件、数据文件 、日志文件。(还包括参数文件)

第三章

一:选择题

1.下列操作系统中,不能运行Oracle 11g的是( C )。 A.Windows B.Linux C.Macintosh D.Unix 2.以下不属于Oracle安装前的准备工作的是( C )。

A.对服务器进行正确的网络配置,并且记录IP地址、域名的网络配置信息,如果采用动态IP,需先将Microsoft LoopBack Adapter配置为系统的主网络适配 B.卸载其他的数据库管理系统

C.如果服务器上运行有其他Oracle服务,必须在安装前将他们全部停止

D.关闭Windows防火墙和某些杀毒软件

二:填空题

1.卸载Oracle需要经过停止Oracle服务、卸载Oracle组件和删除遗留

成分三个步骤。

2.Oracle数据库监听器的启用有3种方法:利用Enterprise Manager、用监听器控制实用程序和利用Net Manager提供的“监听程序”。

第四章

一、选择题

1、SQL语言中不属于数据定义的命令动词是(C)。

A、CREATE B、DROP C、GRANT D、ALTER

2、在同样的条件下,下面的哪个操作得到的结果集有可能最多?(D)

A、内连接 B、左外连接 C、右外连接 D、完全外连接

3、下列操作权限中,在视图上不具备的是(C)。

A、SELECT B、ALTER C、DELETE D、INSERT

二、填空题

1、SQL语言的功能主要包括 数据定义 、 数据操作 和 数据控制 三类。 2、希望删除查询结果集中重复的行,需要使用 distinct 关键字。 3、常用的统计函数有 count 、MIN、MAX、 sum 和AVG。 三、实训题

1、登陆Oracle,进入HR方案,使用DESC和SELECT命令查看各个表的结构以及现有的数据。

代码如下: (1)a.查看JOBS表的结构:DESC JOBS; b.查看JOBS 表的部分数据:SELECT * FROM JOBS;

(2)a.查看EMPLOYEES表的结构:DESC EMPLOYEES;

b.查看EMPLOYEES表的部分数据:SELECT * FROM EMPLOYEES ;

(3)a.查看表的结构:DESC DEPARTMENTS;

b.查看DEPARTMENTS表的部分数据:SELECT * FROM DEPARTMENTS;

(4)a.查看REGIONS表的结构:DESC REGIONS;

b.查看REGIONS表的部分数据:SELECT * FROM REGIONS;

(5)a.查看LOCATIONS表的结构:DESC LOCATIONS;

b.查看LOCATIONS表的部分数据:SELECT * FROM LOCATIONS;

(6)a.查看COUNTRIES表的结构:DESC COUNTRIES;

b.查看COUNTRIES表的部分数据:SELECT * FROM COUNTRIES;

(7)a.查看JOB_JISTORY表的结构:DESC JOB_JISTORY;

b.查看JOB_JISTORY表的部分数据:SELECT * FROM JOB_JISTORY;

2、在HR方案中进行表的创建、修改和删除(CREATE、DROP、ALTER命令)。

创建表:CREATE TABLE MANAGER(

MANAGER_ID NUMBER2(6) NOT NULL UNIQUE,

FIRST_NAME VARCHAR2(20), LAST_NAME VARCHAR2(25), DEPT_ID VARCHAR2(10));

修改:ALTER TABLE MANAGER ADD SEX VARCHAR2(2); ALTER TABLE MANAGER MODIFY MANAGER_ID NUMBER(8); 删除:ALTER TABLE MANAGER DROP UNIQUE(MANAGER_ID) ; DROP TABLE MANAGER;

3. 在HR方案中完成对EMPLOYEES表以及相关各表的各种查询操作(WHERE子句

GROUP BY子句以及各种连接等)。 代码如下: 查询: SELECT * FROM HR.COUNTRIES,HR.DEPARTMENTS,HR.EMPLOYEES; GROUP BY 语句:SELECT DEPARTMENT_ID,COUNT(*),AVG(SALARY)

FROM EMPLOYEES

GROUP BY ROLLUP(DEPARTMENT_ID);

各种连接:

(1) 简单连接:SELECT EMPLOYEES.*,JOBS.* FROM

EMPLOYEES,DEPARTMENTS;(连接EMPLOYEES和DEPARTMENTS)

(2) 内链接:SELECT EMPLOYEES.LAST_NAME,JOBS.JOB_TITLE

FROM EMPLOYEES INNER JOIN JOBS ON EMPLOYEES.JOB_ID=JOBS.JOB_ID

(3) 自然连接:SELECT EMPLOYEES

EM.LAST_NAME,EM.FIRST_NAME,EM.EMPLOYEE_ID,DEP.DEPARTMENT_NAME

FROM EMPLOYEES EM NATURAL JOIN DEPARTMENTS DEP WHERE DEP.DEPARTMENT_NAME=”SALES”

(4) 外连接:SELECT EM.EMPLOYEE_ID,EM.LAST_NAME,

DEP.DEPARTMENT_NAME

FROM EMPLOYEES EM LEFT OUTER JOIN DEPARTMENTS DEP ON EM.DEPARTMENT_ID = DEP. DEPARTMENT WHERE EM.JOB_ID=’IT_PROG’; (左连接)

(5) 自身连接:SELECT EMPLOYEES_ID ,LAST_NAME,JOB_ID

FROM EMPOYEES

ORDER BY EMPLOYEE_ID

4. 在HR方案中,针对EMPLOYEES表进行数据的创建、修改和删除操作(INSERT、

UPDATE、DELETE命令)。

代码如下:

INSERT: INSERT INTO EMPLOYEES

VALUES(‘2001’,’TOM’,’KING’,’SKING’,516.123.3456,1999.12.12,’IT_PROG’,20006,103,60)

UPDATE:UPDATE EMPLOYEES

SET SALARY=SALAY+100

WHERE JOB_ID=”IT_PROG”;(IT_PROG部门的薪水涨100$)

DELETE:DELETE FROM EMPLOYEES WHERE FIRST_NAME=’TOM’;(删除真名叫tom的人的信息)

第五章

一、选择题

1、下列属于Oracle PL/SQL的数据类型是(A)。 A.DATE B.TIME C.DATETIME D.SMALLDATETIME. 2、下面不属于Oracle PL/SQL 的参数类型是(D)。 A.in B.out C.inout D.null 二、填空题

1、显式游标的处理包括声明游标、打开游标、提取游标和关闭游标4个步骤。 2、包有两个独立的部分:说明部分和包体部分。

3、触发器的类型包括DML触发器、INSTEAD OF触发器 和 系统触发器。 三、实训题

1、实现一个游标,完成对emplouees表的遍历;

SQL> create or replace procedure show_all_employees 2 as

3 emp_row employees%rowtype;

4 cursor emp_cur is select * from employees;--声明游标 5 begin

6 OPEN emp_cur;--打开游标 7 LOOP

8 FETCH emp_cur INTO emp_row;--提取行 9 EXIT WHEN emp_cur%NOTFOUND;

10 DBMS_OUTPUT.PUT_LINE('雇员ID是:'||emp_row.employee_id||' 姓名是:'||emp_row.first_name||' '||emp_row.last_name); 11 END LOOP;

12 CLOSE emp_cur;--关闭游标 13 end; 14 /

Procedure created

SQL> execute show_all_employees();

2、 实现一个过程,完成对emplouees表中job_id为'IT_PROG'的员工salary的增加,增

加额度为800;

create or replace procedure salary_add(jobid in employees.JOB_ID%type,adds in employees.SALARY%type) 2 as 3 begin

4 update employees set SALARY=SALARY+adds where JOB_ID=jobid;

5 dbms_output.put_line('emploees表中列的'||jobid||'增加的salary为'||adds);

6 end salary_add; 7 /

Procedure created SQL> set serverout on;

SQL> EXECUTE salary_add('IT_PROG',800);

emploees表中列的IT_PROG增加的salary为800

PL/SQL procedure successfully completed

3.实现一个函数,完成对EMPLOYEES表中JOB_ID为“IT_PROG的员工SALARY的增加”,增加额度作为参数传入。

create or replace function

incr_emp_salary_func(inrement in number) return boolean IS begin

update employees set salary=salary+inrement where job_id='IT_PROG'; if sql%notfound then return false; end if; return true; end;

第六章

一、选择题

1.Oracle的一般启动步骤是(B)

A.打开数据库、启动例程、装载数据库 B.启动例程、装载数据库、打开数据库 A.启动例程、打开数据库、装载数据库 B. 装载数据库、启动例程、打开数据库 2.数据库的三种启动模式不包括(B) A.NOMOUNT B.STARTUP C.MOUNT D.OPEN 3.下列哪个表与列的命名是错误的(C) A.IT_emp B.st3cx C.1_stu D.dept 4.下列关于视图的描述哪个是错误的(B)

A.视图是由SELECT子查询语句定义的一个逻辑表 B.视图中保存有数据 C.通过视图操作的数据仍然保存在表中 D.可以通过视图操作数据库中的数据 二、填空题

1.与每个数据库的启动和关闭有关的服务有 OracleOracle_homeTNSListener 、 OracleServiceSID 和 OracleDBConsoleSID 。

2.关闭Oracle数据库的步骤包括:关闭数据库、卸载数据库、和终止例程。

3.在Oracle中可以建立的约束条件包括:NOT NULL,UNIQUE,CHECK,PRIMARY KEY,FOREIGN KEY。

4.修改表的关键字为:Alter。

5.创建索引的主要关键字为CREATEINDEX。 三、实训题 1.

第七章

一、选择题

1. create user 命令中的default tablespace语句用于下列哪种中设置?( A ) A、 用户创建的数据库对象 B、 用户创建的临时对象 C、 用户创建的系统对象 D、 以上都不对

2. 下列哪一种不属于系统权限( A )。

A、Select B、Update Any C、Create View D、Create Session 3. 哪一种操作受表空间配额的限制?( C ) A、Update B、Delete C、Create D、以上全是 二、填空题

1. 数据库中的权限包括 系统权限 和 对象权限 两类。 2. Oracle数据库安全控制机制包括用户管理、 权限管理 、 角色管理 、表空间设置和配额、 概要文件管理 、数据库审计6个方面。 三、实训题

1. 创建一个口令认证的数据库用户usera_exer,口令为usera,默认表空间为USERS,配额为10MB,初始账户为锁定状态。

create user usera_exer identifiled by usera default tablesspace users quota 10m on users account lock;

2. 创建一个口令认证的数据库用户userb_exer,口令userb。 create user userb_exer identifiled by userb; 3. 将用户usera_exer的账户解锁。 alter user usera_exer account unlock;

4. 为usera_exer用户授权Create Session权限、Scott.emp的select权限和update权限,同时允许该用户将获取的权限授予其他用户。 grant create session to usera_exer with option;

grant select,update on scott.emp to usera_exer with option;

第八章

一、选择题

1.创建数据库需要(1)个数据文件。 2.创建控制文件时,数据库必须(未加载)。

3.以下哪一种数据字典视图显示出数据库处于ACHIVELOG方式?(V$DATABASE) 二、填空题

1.oracle数据库逻辑存储结构包括(数据库块、区、段、表空间)四种。

2.oracle数据库物理存储结构是指存储在磁盘上的物理文件,包括(数据文件、控制文件、重做日志文件、初始化参数文件、归档文件)、跟踪文件、口令文件、警告文件、备份文件等。 三、实训题

1.为USER表空间添加一个数据文件,文件名为users03.dbf,大小为50MB。 ALTER TABLESPACE USER

ADD DATAFILE ‘D:\\ORACLE\\ORADATA\\ORCL\%users03.dbf’ SIZE 50M;

3. 为EXAMPLE表空间添加一个数据文件,文件名为example02.dbf,大小为

20MB。

ALTER DATABASE EXAMPLE

ADD DATAFILE 'C:\\TEMP\\example02.dbf' SIZE 20M;

3.修改USER表空间中的userdata03.dbf,文件的大小为40MB。 ALTER DATABASE DATAFILE

‘D:\\ORACLE\\ORADATA\\ORCL\%users03.dbf’ SIZE 40M;

本文来源:https://www.bwwdw.com/article/7pgv.html

Top