oracle课后习题答案
Oracle数据库管理习题及答案

1.6习题一.填空题1、关系模型提供了3类完整性规则,分别是_______、_______、_______。
参考答案:实体完整性规则、参照完整性规则、用户定义的完整性规则2、RDBMS由两部分组成,即_______、_______两部分。
答案:数据库系统内核、数据字典3、关系数据库模型支持三种类型的表关联关系:_______、_______、_______。
答案:一对一、一对多以及多对多4、数据模型的种类有很多,例如_______、_______、_______和_______等。
目前理论最成熟、使用最普及的是_______。
答案:层次模型、网状模型、关系数据模型、面向对象模型。
关系数据模型二、选择题1、Oracle 11g版本号中字母“g”的含义是()A.产品类型的“代”( generation) B.网格(gridding)C.集成(integration)D.无含义答案:A2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑答案:A3、消除了部分函数依赖的1NF的关系模式必定是()A.1NF B.2NF C.3NF D.4NF答案:B4、当B属于函数依赖于A属性时,属性B及A 的联系是()A.1对多B.多对1 C.多对多D.以上都不是答案:B5、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。
下面“部门”关系中,因哪个属性而使它不满足第一范式?部门(部门号,部门名,部门成员,部门总经理)A.部门总经理B.部门成员C.部门名D.部门号答案:B6、下列不属于Oracle数据库数据类型的是()A.NUMBER B.FLOAT C.CLOB D.BOOLEAN 答案:D三、简答题1、简述数据库及数据库管理系统的区别。
参考答案:数据库是用来存储信息或数据的机制,是按照数据结构来组织、存储和管理数据的仓库。
可以被定义为是在计算机存储设备上合理存放的,互相关联的数据集合。
ORACLE第1-4章 习题参考答案

第1章案例数据库设计【简答题】1.简要说明数据库设计的基本流程,并结合实例说明数据库设计各阶段的主要任务。
数据库设计的基本流程:按照规范的设计方法,将数据库设计分为六个阶段:(1)需求分析;(2)概念结构设计;(3)逻辑结构设计;(4)物理结构设计;(5)数据库实施;(6)数据库的运行和维护。
需要说明的是,数据库设计还包含了应用系统的设计过程。
每个阶段的主要任务是:(1)需求分析:通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)的工作概况,明确用户需求,确定新系统的功能。
(2)概念结构设计:应用E-R模型真实地反映现实世界,包括事物和相互之间的联系,能满足用户对数据的处理要求,是现实世界的一个真实模型;易于理解、易于更改、易于向关系、网状、层次等各种数据模型转换。
概念结构设计有以下四种方法:①自顶向下;②自底向上;③逐步扩张;④混合策略。
(3)逻辑结构设计:逻辑结构设计的目的是把概念设计阶段的基本E—R图转换成与选用的具体机器上DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。
逻辑结构设计有如下三个步骤:①将概念模型(E—R图)转换为一般的关系、网状、层次模型;②将关系、网状、层次模型向特定的DBMS支持下的数据模型转换;③对数据模型进行优化。
(4)物理结构设计:对于一个给定的逻辑数据模式选取一个最适合应用环境的物理结构的过程,称为数据库的物理设计。
(5)数据库实施:建立实际数据库结构;试运行;装入数据;同时进行数据库的重新组织设计;故障恢复方案设计;安全性考虑;事务控制;(6)数据库的运行和维护:数据库的日常维护(安全性、完整性控制,数据库的转储和恢复);性能的监督、分析与改进;扩充新功能;修改错误。
2.依据你对数据库管理员和程序员职业岗位的了解,说明这两个岗位对数据库知识和能力的需求。
要求学生通过前程无忧()等人才招聘网站进行了解。
《Oracle数据库应用与实践》课后习题参考答案

第 5 章 Oracle 模式对象
一、填空题
1. 字段级约束 表约束
2. NOT NULL 约束 UNIQUE 约束 PRIMARY KEY 约束
束
3. CREATE TABLE
CREATE ANY TABLE
4. UNIQUE PRIMARY KEY CHECK
5. 合并索引 重建索引
6. user_updatable_columns
一、 填空题 1. 数据挖掘 隐含的 未知的 2. API-ODM Java API ODM DBMS_DM PL/SQL API
3. Clustering Association Feature Extraction
Oracle 数据库应用与实践
2、某 cc 表数据如下: c1 c2 -------------1西 1安 1的 2天 2气
Oracle 数据库应用与实践
3好 …… 转换为 1 西安的 2 天气 3好 要求:不能改变表结构及数据内容,仅在最后通过 SELECT 显示出这个查询结果
代码为: create or replace function x return varchar2 is type t_array is table of number index by binary_integer; type tarray is table of varchar2(10) index by binary_integer; ta t_array; tar tarray; re varchar2(10); n number; na varchar2(10); begin select id bulk collect into ta from (select id,name from xx order by id) group by id; for i in st loop dbms_output.put(ta(i)||' '); select name bulk collect into tar from xx where id=ta(i); for i in st loop dbms_output.put(tar(i)); end loop; dbms_output.put_line(' '); end loop; return re; end;
Oracle10g数据库基础教程课后练习题含答案

Oracle10g数据库基础教程课后练习题含答案1. 简单查询练习1.1查询指定表的全部内容。
SELECT*FROM table_name;练习1.2按照指定列的顺序查询指定表的全部内容。
SELECT column1, column2, ..., columnN FROM table_name;练习1.3按照指定条件过滤查询指定表的内容。
SELECT*FROM table_name WHERE condition;2. 排序和聚合练习2.1按照指定列升序排序查询指定表的全部内容。
SELECT*FROM table_name ORDER BY column ASC;练习2.2按照指定列降序排序查询指定表的全部内容。
SELECT*FROM table_name ORDER BY column DESC;按照指定列进行聚合并查询结果。
SELECT COUNT(column), SUM(column), AVG(column), MAX(column), MIN(column) F ROM table_name;3. 连接表查询练习3.1查询指定表与另一张表的交集部分。
SELECT*FROM table1 INNER JOIN table2 ON condition;练习3.2查询指定表与另一张表的并集部分。
SELECT*FROM table1 LEFT OUTER JOIN table2 ON condition UNION SELECT*FR OM table1 RIGHT OUTER JOIN table2 ON condition;练习3.3查询指定表与另一张表的差集部分。
SELECT*FROM table1 LEFT OUTER JOIN table2 ON condition WHERE t2.column I S NULL;4. 插入、更新和删除数据练习4.1在指定表中插入一条新数据。
INSERT INTO table_name (column1, column2, ..., columnN) VALUES (value1, va lue2, ..., valueN);更新指定表中符合条件的数据。
Oracle 11g数据库管理与开发基础教程课后习题及答案

第一章选择题1、Oracle数据库服务器包含的两个主要组件是(AB)A、Oracle实例B、oracle数据库C、内存结构D、后台进程2、create database 创建Oracle数据库时创建的文件包括(AC)A、数据文件B、控制文件C、日志文件D、初始化参数文件3、创建Oracle数据库时,createdatabase语句中指出了需要创建的数据文件、日志文件存储路径和名称,但没有指出需要创建的控制文件,因此创建数据库之前需要创建(D)个控制文件。
A、0B、1C、2D、任意数量4、调用shutdown命令关闭Oracle数据库后,以下(D)命令关闭的数据库处于不一致状态。
A、shutdown normalB、shutdown transactionalC、shutdown immediateD、shutdown abort5、作为普通用户,只有当数据库处于以下(C)状态下才可连接访问。
A、NUMOUNTB、MOUNTC、OPEND、CLOSE填空题1、SGA可分为以下几种主要区域:(SGA固定)、(数据库缓冲区缓存)、(重做日志缓冲区)、(共享池)等。
2、Oracle实例有多种后台进程,其中每个数据库实例上必须启动的后台进程包括(数据库写入进程)、(日志写入进程)、(检查点进程)、(进程监视进程)、(系统监视进程)等。
3、Oracle数据库的逻辑存储结构是(表空间)、(段)、(区)、(数据块)等。
4、Oracle数据库逻辑上的表空间结构与磁盘上的物理(数据)文件相关联。
5、下面连接字符串采用的是(简易连接)命名方式。
CONNECT Scott/tiger@dbs:*************编程题1.写出以下操作的SQL*PLUS命令语句:先启动Oracle实例到“已启动实例状态”,再修改Oracle实例到“数据库已装载状态”,最后修改Oracle实例到打开状态。
Startup nomoutAlter database mount;Alter database open;第二章选择题1、SQL*Plus下可以采用以下(BD)方法结束SQL语句的编辑状态,并执行它。
oracle的习题及答案

oracle的习题及答案1. 如何启动实例、如何装载数据库,如何打开数据库。
Startup nomount alter database mount alter database openStartup mountStartup2. 如何禁止用户的操作系统认证修改SQLNET.ora nts为none3. 如何控制用户不可以远程登陆。
Alter system set remote_login_passwordfile=noneScope=spfile;4. sys/sias@orcl as sysdba 中orcl的解析这里将用到sqlnet.ora文件,如果names.directory_path=(tnsnames,hostname),客户端首先会在tnsnames.ora文件中找到orcl的记录,如果没有相应的记录则尝试把orcl当做一个主机名,通过网络的途径去解析它的ip地址然后去连接这个ip,如果解析路径中没有hostname,客户端就只从tnsnames.ora查找orcl的记录。
5. 修改服务器端orcl 的监听端口。
可以用net manager修改或直接修改参数文件6. 创建密码文件。
host orapwd file=e:\orapwd.ora Password=nzg entries=30;7. 怎么样从spfile生成pfileCreate pfile=’d:\pfileorcl.ora’ from spfile;Create spfile=’e:\spfileorcl.or a’ from pfile=’d:\pfileorcl.ora’;8. 通过参数文件查看控制文件的位置Show parameter control_file; select name from v$controlfile;(在例程连接数据库后Mount可执行)。
可通过以下几个动态数据字典视图中获得有关控制文件的信息V$controlfile v$database V$controlfile_record_sectionSelect name from v$database; 显示数据库名称。
ORACLE 10g 课后参考答案

ORACLE 10g 课后参考答案(答案仅供参考)第一章ORACLE 10g简介一、选择题1.下面不属于ORACLE 10g产品系列的是(D)A.Oracle数据库10g标准版1B.Oracle数据库10g标准版C.Oracle数据库10g企业版D.Oracle数据库10g网络版2.ORACLE 10g中的g表示(D)A.版本B.网络C.数据库D.网格计算3.下面关于ORACLE 10g数据库逻辑结构的描述错误的是(C)A.数据库由若干个表空间组成B.表空间由表组成C.表由数据块组成D.段由区间组成4.ORACLE管理数据库存储空间的最小存储单位是(A)A.数据块B.表空间C.表D.区间5.ORACLE分配磁盘空间的最小单位是(D)A.数据块B.表空间C.表D.区间6.下列不属于ORACLE表空间的是(D)A.大文件表空间B.系统表空间C.撤销表空间D.网格表空间7.当数据库服务器上的一个数据库启动时,ORACLE将分配一块内存区间,叫做系统全局区,英文缩写为(B)A.VGAB.SGAC.PGAD.GLOBAL二、填空题1.__视图__ 是虚拟的表,它在物理上并不存在。
可以把它看成是一个存储的查询。
2.创建___索引__可以提高读取数据的效率。
它的功能类似于书的目录,读者可以通过目录很快的在书中找到需要的内容。
3.有些表共享公共的列,并经常被同时访问,为了提高数据存取效率,把这些表在物理上存储在一起,得到的表的组合就是____簇____。
4.一个数据块对应磁盘上的一定数量的数据库空间,标准的数据块大小由初始参数(DB_BLOCK_SIZE )指定。
5.每个数据库都至少有一个系统表空间,被称为__SYSTEM_表空间。
6.每个ORACLE数据库都由3种类型的文件组成:数据文件、日志文件、控制文件。
7.ORACLE有两种内存结构,即_系统全局区_和_程序全局区_。
三、简答题1.简述ORACLE数据库逻辑结构中各要素之间的关系。
《Oracle数据库应用与开发》教材课后习题参考答案

《Oracle数据库应用与开发》教材课后习题参考答案1.8习题:1.(1)关系型数据库管理系统,简称RDBMSo是在E.F.Codd博士发表的论文《大规模共享数据银行的关系型模型》基础上设计出来的。
它通过数据、关系和对数据的约束三者组成的数据模型来存放和管理数据。
RDBMS是SQL的基础,同样也是所有现代数据库系统的基础。
(2)在关系型数据库中,标准二维表是基本的数据存储单元,里边存储了实体的属性和实体间的关系。
2.关系型数据库中,表与表之间包括的三种关系是:一对一、一对多和多对多。
(1)一对一:有两个表,表A和表B。
表A中的一条记录在表B 中有一条记录与之对应。
反过来,表B中的一条记录在表A中也仅有一条记录与之对应。
(2)一对多:有两个表,表A和表B。
表A中的一条记录在表B 中有多条记录与之对应。
反过来,表B中的一条记录在表A中仅有一条记录与之对应。
(3)多对多:有两个表,表A和表B。
表A中的一条记录在表B 中有多条记录与之对应。
反过来,表B中的一条记录在表A中也有多条记录与之对应。
3.Oracle 10g提供了四个版本,分别是:Oracle 10g标准版1、Oracle 10g 标准版、Oracle 20g 企业版、Oracle 20g 个人版。
4.(1)客户机/服务器结构:简称C/S结构,是软件系统的一种体系结构。
数据库和数据库管理系统运行在服务器端,各种Oracle管理工具运行在客户机上,二者通过SQL*NET进行通信。
(2)浏览器/服务器结构:简称B/S结构,是随着Web技术兴起后的一种新型软件系统结构。
它通常分为三层:数据库服务器,用来存储和管理数据库;应用程序服务器,与数据库服务器进行交互完成各种数据处理工作; 客户端浏览器,与应用程序服务器进行交互,负责提交数据处理请求并获得和显示结果。
5.(1) SYS:该用户被默认创建并授予DBA角色,它是Oracle数据库中权限最大的管理员账号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习62.实训题(2)Create table exer_class(CNO number(2) primary key,CNAME varchar2(20),NUM number(3));Create table exer_student(SNO number(4) primary key,SNAME varchar2(10) unique,SAGE number,SEX char(2),CNO number(2));(3)Alter table exer_student add constraint ck_sage check (sage>0 and sage<=100);(4)Alter table exer_student add constraint ck_stu check(sex='M' or sex='F') modify sex default 'M';(5)Create unique index ind_cname on exer_class(cname);(6)Create view stu_class_view (e_sno,e_sname,e_cno,e_cname) ASselect sno,sname,cno,cnameFrom exer_student;(7)Create sequence exer_student_seqstart with 100000001nocyclenocache;(8)Create table exer_student_range(sno number(4) primary key,sname varchar2(10),sage number,sex char(2),cno number(2))partition by range(sage)(partition part1 values less than(20) tablespace example,partition part2 values less than(30) tablespace orcltbs1,partition part3 values less than(maxvalue) tablespace orcltbs2);(9)Create table exer_student_list(sno number(4) primary key,sname varchar2(10),sage number,sex char(2),cno number(2))partition by list(sex)(partition man values('M') tablespace orcltbs1,partition woman values('F') tablespace orcltbs2);(10)题目修改为“为exer_student_range表的SAGE列上创建本地分区索引。
”Create index exer_student_range_local ON exer_student_range(sage) Local;练习7P106 实训题(1)略参见教材P97,98两种方法。
(2)(分两步:建表、插入数据)以system用户登录某数据库,创建一个用户bs,并给该用户授权:SQL>create user bs identified by bs default tablespace users;SQL>grant resource,connect,create view to bs;然后再创建三个表:Create table book(no number(10) primary key,title varchar2(40) not null,author varchar2(16) not null,publish varchar2(20),pub_date date,price number(4))tablespace users;Create table reader(rno number(10) primary key,rname varchar2(10) not null)tablespace users;Create table borrow(no number(10) primary key,rno number(10) references reader(rno),borrow_date date)tablespace users;book表:Insert into book values (100001,'Oracle 9i 数据库系统管理','李代平','冶金工业出版社',to_date('2003-01-01','yyyy-mm-dd'),38);... ...Insert into book values (100006,'Oracle 8 实用教程','翁正科等','电子工业出版社',to_date('2003-07-08','yyyy-mm-dd'),38);reader表:Insert into reader values (200001,'张三');... ...Insert into reader values (200005,'刘英');borrow表:Insert into borrow values (100001,200001,to_date('2004-08-10..10:06:14','yyyy-mm-dd..hh24:mi:ss'));... ...Insert into borrow values (100005,200005,to_date('2004-08-10..10:06:58','yyyy-mm-dd..hh24:mi:ss'));(3)Insert into book values(100007,'Java网络编程','李程等','电子工业出版社',to_date('2000-08-01','yyyy-mm-dd'),35);(4)Update book set price=29 where no=100007;(5)Delete from book where no=100007;练习81) 查询100号部门的所有员工信息。
单表有条件查询select * from employees where department_id=100;2) 查询所有职位编号为“SA_MAN”的员工的员工号、员工名和部门名。
单表有条件查询select employee_id,first_name,department_id from employees where job_id like 'SA_MAN';3) 查询每个员工的员工号、工资、奖金以及工资与奖金的和。
单表无条件带算术表达式查询select employee_id,salary,commission_pct*salary,salary*(1+commission_pct) from employees; (4) 查询40号部门中职位编号为“AD_ASST”和20号部门中职位编号为“SA_REP”的员工的信息。
单表有条件逻辑操作查询select * from employees where (department_id=40 and job_id='AD_ASST') or (department_id=20 and job_id='SA_REP');5) 查询所有职位名称不是“Stock Manager”和“Purching Manager”,且工资大于或等于2000元的员工的详细信息。
(多行单列子查询)select * from employees where salary>=2000 and job_id in (select job_id from jobs where job_title!='Stock Manager'or job_title!='Purchasing Manager');6) 查询有奖金的员工的不同职位编号和名称。
Select distinct job_id, job_title from jobs where job_id in (select job_id from employees where commission_pct is not null);(7) 查询没有奖金或奖金低于100元的员工信息。
select * from employees where commission_pct is null or commission_pct*salary<100 ;(8) 查询员工名(first_name)中不包含字母“S”员工。
Select first_name from employees where first_name not like '%S%';(9) 查询员工的姓名和入职日期,并按入职日期从先到后进行排序。
Select first_name,last_name,hire_date from employees order by hire_date;10) 查询所有员工的姓名及其直接上级的姓名。
Select a.first_name,b.first_name from employees a join employees b on b.employee_id = a.manage_id;Select a.first_name,b.first_name from employees a join employees b on b.employee_id =a.manage_id;11) 查询入职日期早于其直接上级领导的所有员工信息。
select * from employees a where hire_date<(select hire_date from employees b b.employee_id=a.manager_id);select * from employees a where hire_date<(select hire_date from employees b b.employee_id=a.manager_id);(12) 查询各个部门号、部门名称、部门所在地以及部门领导的姓名。