Oracle习题答案(课后题)
- 格式:doc
- 大小:245.00 KB
- 文档页数:20
oracle习题汇总答案Oracle习题汇总答案在学习Oracle数据库的过程中,练习题是非常重要的一部分。
通过解答习题,我们可以更好地掌握数据库的知识和技能。
下面是一些常见的Oracle数据库习题及其答案汇总,希望能够帮助大家更好地学习和理解Oracle数据库。
1. 什么是Oracle数据库?Oracle数据库是一种关系型数据库管理系统,由美国Oracle公司开发。
它是目前世界上最流行的企业级数据库之一,被广泛应用于各种企业和组织的信息管理系统中。
2. Oracle数据库的特点有哪些?Oracle数据库具有高性能、高可用性、高安全性和可扩展性等特点。
它支持多种操作系统平台,能够处理大规模的数据,具有强大的事务处理能力和灵活的数据管理功能。
3. 如何创建一个新的数据库用户?可以使用CREATE USER语句来创建一个新的数据库用户,例如:```sqlCREATE USER new_user IDENTIFIED BY password;```4. 如何查询数据库中的表结构?可以使用DESCRIBE语句或者查询数据字典来查询数据库中的表结构,例如:```sqlDESCRIBE table_name;SELECT * FROM user_tab_columns WHERE table_name = 'table_name';```5. 如何在Oracle数据库中插入新的数据?可以使用INSERT INTO语句来插入新的数据,例如:```sqlINSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);```6. 如何更新数据库中的数据?可以使用UPDATE语句来更新数据库中的数据,例如:```sqlUPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; ```7. 如何删除数据库中的数据?可以使用DELETE FROM语句来删除数据库中的数据,例如:```sqlDELETE FROM table_name WHERE condition;```通过不断地练习和积累,我们可以更加熟练地掌握Oracle数据库的知识和技能。
Oracle数据库试题100题(附答案)1.当Oracle服务器启动时,下列哪种文件不是必须的(D)。
A.数据文件B.控制文件C.日志文件D.归档日志文件2.在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用户需要的数据(B)。
A.用户进程B.服务器进程C.日志写入进程(LGWRD.检查点进程(CKPT)3.在Oracle中,一个用户拥有的所有数据库对象统称为(B)。
A.数据库B.模式C.表空间D.实例4.在Oracle中,有一个教师表teacher的结构如下:ID NUMBER(5)NAME V ARCHAR2(25)EMAIL VARCHAR2(50)下面哪个语句显示没有Email地址的教师姓名(C)。
A.SELECT name FROM teacher WHERE email = NULL;B.SELECT name FROM teacher WHERE email NULL;C.SELECT name FROM teacher WHERE email IS NULL;D.SELECT name FROM teacher WHERE email IS NOT NULL;5.在Oracle数据库的逻辑结构中有以下组件:A 表空间B 数据块C 区D 段这些组件从大到小依次是(B)。
A.A→B→C→DB.A→D→C→BC.A→C→B→DD.D→A→C→B6.在Windows操作系统中,Oracle的(A)服务监听并接受来自客户端应用程序的连接请求。
A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer7.在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle 就将(B)表空间分配给用户作为默认表空间。
oracle习题答案Oracle习题答案Oracle数据库是全球领先的企业级关系型数据库管理系统,被广泛应用于各种企业和组织中。
学习Oracle数据库管理是IT从业人员必备的技能之一,因此掌握Oracle习题答案对于提升自己的技能水平至关重要。
在学习Oracle数据库管理的过程中,经常会遇到各种习题和练习题,通过解答这些习题可以加深对Oracle数据库的理解和掌握。
下面我们就来看一些常见的Oracle习题以及它们的答案。
1. 什么是Oracle数据库?答:Oracle数据库是由美国Oracle公司开发的一款关系型数据库管理系统,它是一种高性能、可靠性强的数据库系统,被广泛应用于企业级应用中。
2. 如何创建一个新的数据库用户?答:可以使用CREATE USER语句来创建一个新的数据库用户,例如:CREATE USER new_user IDENTIFIED BY password;3. 如何查询表中的数据?答:可以使用SELECT语句来查询表中的数据,例如:SELECT * FROM table_name;4. 如何删除数据库中的数据表?答:可以使用DROP TABLE语句来删除数据库中的数据表,例如:DROP TABLE table_name;5. 如何备份Oracle数据库?答:可以使用RMAN工具来备份Oracle数据库,例如:RMAN> BACKUP DATABASE;通过解答这些习题,我们可以加深对Oracle数据库管理的理解和掌握,提升自己的技能水平。
希望以上Oracle习题答案对大家有所帮助,也希望大家在学习Oracle数据库管理的过程中能够不断提升自己的技能,成为一名优秀的数据库管理人员。
练习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列上创建本地分区索引。
第一章一选择题D D C A D D B二填空题1 视图2 索引3 簇4 DB_Block_size5 system6 数据文件日志文件控制文件7系统全局区SGA 程序全局区PGA三简答题1 P3——P52 P7——P83 P94 P13第二章一选择题B D B二填空题1 orcl2 oracle_sid3 OracleOraDb10g_home1TNSListener第三章一选择题D B B二填空题1 emctl start dbconsole2 主目录性能管理维护3 Oracle Net4 v$database第四章一选择题D C C A二填空题1 shutdown immediate2 startup force3 alter database4 spfile5 db_block_size6 alter system set7 数据库管理员安全官员网络管理员应用程序开发员应用程序管理员数据库用户三操作题4 P635 P65第五章一选择题B C D二填空题1 v$tablespace2 create tablespace3 bigfile4 alter tablespace5 offline6 alter logfile member2 P75——P763 P764 P77——P785 P816 P83第六章一选择题B A A B D二填空题1 grant2 v$pwfile_users3 create user4 password expire5 account lock6 alter role三操作题3 P95第七章一选择题B BC C二填空题1 primary key2 rename column…to3 where4 like5 inner join三操作题2 create table departments(depid number primary key,Depname varchar2(40) not null,Descr varchar(400),Upperid number check(upperid>0));注意:书上的desc是保留字,不能作为表名。
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; 显示数据库名称。
第1章Oracle安装配置1.Oracle服务端安装好之后,在命令提示符下,利用echo %Path%命令查看此时的系统变量Path。
在Windows系统中,单击【开始】|【运行】,并键入“cmd”,如下图所示:单击【确定】按钮,将进入Windows命令提示符,如下图所示:键入echo %path%,并按下回车键,将显示此时变量path的值,如下图所示:2.利用java –version命令,查看此时java环境的版本,以确认是否为Oracle安装时自带的Java 文件。
在Windows的【Command】窗口中执行java –version命令,将看到本机Java环境的版本,如下图所示:3.Oracle数据库服务器安装之后,在硬盘上搜寻名为oradata的文件夹。
其中包含了所有数据库的物理文件,查看已有数据库的子文件夹及文件。
一个数据库的典型文件包括:后缀为CTL的控制文件;后缀为LOG的重做日志;后缀为DBF的数据文件。
第2章Oracle常用工具1.有时无法连接数据库,是由于多次安装了服务端/客户端,而导致客户端软件寻找TNS配置文件时,混淆了当前有效的路径。
此时,可以利用将DNS描述直接作为参数传递给客户端软件的方式来登录数据库,从而不再使用TNS配置文件。
尝试利用数据库ORCL的TNS描述直接登录数据库。
利用sqlplus+TNS配置登录数据库的命令如下所示:sqlplussys/abc123@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.16.5)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl))) as sysdba 登录成功的界面如下所示:2.EZConnect是EasyConnect的简称。
利用EZConnect可以在客户端以IP+SID的方式登录数据。
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数据库逻辑结构中各要素之间的关系。
第一章一、选择题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 Z间的通信,通常与操作系统协调完成。
2.思考关系规范化的过程。
答:对于存在数据兀余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。
3.思考数据库设计的步骤。
答:1需求分析、2概念设计阶段、3逻辑结构设计阶段、4数据库物理结构设计阶段、5数据库实施阶段、6数据库运行和维护阶段。
第二章一、选择题1、Oracle llg不具备的版本是(C)A.个人版B.标准版C.扩展板D.企业版2、oracle数据库的数据字典不能做的工作有(B)A.查找oracle数据库用户信息B.查找oracle数据库表中的信息C.查找oracl e数据库模式对象的信息D.查找oracle数据库存储结构的信息二、填空题1、Oracle体系结构由内存结构、进程结构和存储结构组成。
/zhenyulu/articles/330494.html第一章略第二章5、已知一个关系数据库的模式如下:S (SNO,SNAME,SCITY)P (PNO,PNAME,COLOR,WEIGHT)J (JNO,JNAME,JCITY)SPJ (SNO,PNO,JNO,QTY)供应商S由供应商代码SNO、供应商姓名SNAME、供应商所在城市SCITY组成;零件P由零件代码PNO、零件名PNAME、颜色COLOR、重量WEIGHT组成;工程项目J由工程项目代码JNO、工程项目名JNAME、和所在城市JCITY组成;供应情况SPJ由供应商代码SNO、零件代码PNO、工程项目代码JNO、供应数量QTY组成。
用关系代数表达式表示下面的查询要求:(1)求供应工程J1零件的供应商代码SNO(2)求供应工程J1零件P1的供应上代码SNO(3)求供应工程J1零件为红色的供应商代码SNO(4)求没有使用天津供应商生产的红色零件的工程项目代码JNO(5)求至少用了供应商S1所供应的全部零件的工程项目代码JNO答:(1)))(('1'SPJ J JNO SNO =σπ (2)))(('1''1'SPJ P PNO J JNO SNO =∧=σπ (3)))(('''1'SPJ P CO LO R J JNO SNO 红色=∧=σπ(4)))()(()(''''P SPJ S J CO LO R CITY JNO JNO 红色天津==-σσππ (5)))(()('1',SPJ SPJ S SNO PNO JNO PNO =÷σππ第三章22.建立一个关于系、学生、班级、学会等诸信息的关系数据库。
学生:学号、姓名、出生年月、系名、班号、宿舍区。
班级:班号、专业名、系名、人数、入校年份。
系:系名、系号、系办公地点、人数。
学会:学会名、成立年份、办公地点、人数。
语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。
一个系的学生住在同一宿舍区。
每个学生可参加若干学会,每个学会有若干学生。
学生参加某学会有一个入会年份。
请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。
指出各关系模式的候选码、外部码,有没有全码存在?解:(1)关系模式如下:学生:S(Sno,Sname,Sbirth,Dept,Class,Sloc)班级:C(Class,Major,Dept,Cnum,Cyear)系:D(Dept,Dno,Office,Dnum)学会:P(Pname,Pyear,Paddr,Pnum)学生--学会SP(Sno,Pname,SPyear)(2)每个关系模式的最小函数依赖集如下:(a)、学生S (Sno,Sname,Sbirth,Dept,Class,Sloc) 的最小函数依赖集如下:Sno→Sname,Sno→Sbirth,Sno→Class,Class→Dept,Dept→Sloc传递依赖如下:由于Sno→Class,Class → Sno,Class→Dept所以Sno与Dept之间存在着传递函数依赖。
由于Sno→Dept,Dept → Sno,Dept→Sloc所以Sno与Sloc之间存在着传递函数依赖。
由于Class→Dept,Dept → Class,Dept→Sloc所以Class与Sloc之间存在着传递函数依赖。
(b)、班级C(Class,Major,Dept,Cnum,Cyear)的最小函数依赖集如下:Class→Major,Class→Cnum,Class→Cyear,Major →Dept,(Major,Cyear)→Class由于Class→ Major,Major →Class,Major →Dept所以Class与Dept之间存在着传递函数依赖。
(c)、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:Dept→Dno,Dno→Dept,Dno→Office,Dno→Dnum根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。
(d)、学会P(Pname,Pyear,Paddr,Pnum)的最小函数依赖集如下:Pname→Pyear,Pname→Paddr,Pname→Pnum该模式不存在传递依赖。
(e)、学生--学会SP的最小函数依赖集如下:(Sno,Pname)→SPyear(3)各关系模式的候选码、外部码,全码如下:A、学生S候选码:Sno;外部码:Dept、Class;无全码B、班级C候选码:Class和(Major,Cyear);外部码:Dept;无全码C、系D候选码:Dept或Dno;无外部码;无全码D、学会P候选码:Pname;无外部码;无全码学生--学会SP候选码:(Sno,Pname)外部码:Sno,Pname;无全码23 .试由amstrong 公理系统推导出下面三条推理规则:(1)合并规则:若X→Z,X→Y,则有X→YZ(2)伪传递规则:由X→Y,WY→Z有XW→Z(3)分解规则:X→Y,Z 包含于Y,有X→Z证明:(1)已知X→Z,由增广律知XY→YZ,又因为X→Y,可得XX →XY→YZ,最后根据传递律得X→YZ。
(2)已知X→Y,据增广律得XW→WY,因为WY→Z,所以XW→WY→Z,通过传递律可知XW→Z。
(3)已知Z 包含于Y,根据自反律知Y→Z,又因为X→Y,所以由传递律可得X→Z。
第四章5.请从表EMP中查找工资低于2000的雇员的姓名、工作、工资,并按工资降序排列。
select ename,job,sal from emp where sal<2000 order by sal desc;6.请从表中查询工作是CLERK的所有人的姓名、工资、部门号、部门名称以及部门地址的信息。
select ename,sal,emp.deptno,dname,loc from emp,dept where emp.deptno=dept.deptno and job=’CLERK’;7.查询表EMP中所有的工资大于等于2000的雇员姓名和他的经理的名字。
select a.ename,b.ename from emp a,emp b wherea.mgr=b.empno and a.sal>=2000;8.在表EMP中查询所有工资高于JONES的所有雇员姓名、工作和工资。
select ename,job,sal from emp where sal>(select sal from emp where ename=’JONES’);9.列出没有对应部门表信息的所有雇员的姓名、工作以及部门号。
select ename,job,deptno from emp where deptno not in (select deptno from dept);10.查找工资在1000~3000之间的雇员所在部门的所有人员信息select * from emp where deptno in (select distinct deptno from emp where sal between 1000 and 3000);11.查询列出来公司就职时间超过24年的员工名单select ename from emp wherehiredate<=add_months(sysdate,-288);12.查询显示每个雇员加入公司的准确时间,按××××年××月××日时分秒显示。
select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') from emp;13.查询所有81年7月1日以前来的员工姓名、工资、所属部门的名字select ename,sal,dname from emp,dept whereemp.deptno=dept.deptno andhiredate<=to_date(‘1981-07-01’,’yyyy-mm-dd’);14.查询公司中按年份月份统计各地的录用职工数量select to_char(hiredate,'yyyy-mm'),loc,count(*) from emp,dept where emp.deptno=dept.deptnogroup by to_char(hiredate,'yyyy-mm'),loc;15.查询部门平均工资最高的部门名称和最低的部门名称select dname from dept where deptno=(select deptno from (select deptno from emp group by deptno order by avg(sal) ) where rownum<=1)union all select dname from dept where deptno=(select deptno from (select deptno from emp group by deptno order byavg(sal) desc ) where rownum<=1);第五章5.对每一个雇员,显示 employee_id、last_name、salary 和 salary 增加 15%,并且表示成整数,列标签显示为 New_SalarySELECT employee_id, last_name, salary,ROUND(salary * 1.15, 0) "New Salary"FROM employees;6. 写一个查询用首字母大写,其它字母小写显示雇员的last_names,显示名字的长度,对所有名字开始字母是J、A 或M 的雇员,给每列一个适当的标签。
用雇员的last_names 排序结果。
SELECT INITCAP(last_name) "Name",LENGTH(last_name) "Length"FROM employeesWHERE last_name LIKE 'J%'OR last_name LIKE 'M%'OR last_name LIKE 'A%'ORDER BY last_name;7.对每一个雇员,显示其last_name,并计算从雇员受雇日期到今天的月数,列标签MONTHS_WORKED。