ORACLE数据库测试1及答案
ORACLE数据库及SQL语言考试题一(含答案)
ORACLE 数据库及SQL 语言考试题及答案考试试题说明:试题包括三类,名词解释、ORACLE 数据库知识问答、SQL 语句编写,主要用于考察新同事ORACLE 数据库知识和SQL 语言掌握情况。
名词解释可以在回答中阐明名词的定义和你所了解的任何相关信息,没有字数限制,但避免长篇大论,简要描述即可。
ORACLE 数据库知识问答,重点在于切中要害,回答按点给分,每题2分。
SQL 语句编写检查大家的实际SQL 语句编写能力及掌握情况,注意格式规范,要清晰易读。
一、名词解释一、名词解释1. 数据库数据库是按照数据结构来组织、存储和管理数据的仓库。
2. 实例实例是一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。
3. 表空间表空间是数据库的逻辑划分,用于存放数据库对象,主要是数据表,所以称作表空间。
ORACLE 自身存在一些表空间,如system 、user 和undo 表空间。
数据库用户也可以自己定义自己的表空间,并为每个表空间分配对应的数据文件。
4. 索引索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
索引不论逻辑上和物理上都与相关的表的数据无关,索引需要独立的存储空间,所以索引在创建之初就需要设置对应的表空间。
二、ORACLE 数据库知识问答1. 数据表Pirmary Key 和Unique Key 的作用和区别作用:Pirmary Key 和Unique Key 都是为数据表提供唯一性约束。
区别:Primary key 的1个或多个列必须为NOT NULL ,如果列为NULL ,在增加PRIMARY KEY 时,列自动更改为NOT NULL 。
而UNIQUE KEY 对列没有此要求。
一个表只能有一个PRIMARY KEY ,但可以有多个UNIQUE KEY 。
2. dos 模式下数据库用户备份、恢复命令数据库备份:exp 用户名/密码@连接标识符数据库恢复:imp 用户名/密码@连接标识符3. 列举五个常用的集合函数max,min,sum,avg,count4. round 与trunc 在处理数字方面的区别,并举例说明round 返回四舍五入后的值,而trunc 返回截取后的值,不进行四舍五入。
oracle考试试题及答案[1]
试题一一、填空题(每题4分,共20分)1、数据库管理技术经历了人工管理、文件系统、数据库系统三个阶段2、数据库三级数据结构是外模式、模式、内模式3、数据库中,由数据库缓冲区,重做日志缓冲区,共享池组成4、在数据库中,完正性约束类型有约束。
约束,约束,约束,约束5、中游标操作包括声明游标,翻开游标,提取游标,关闭游标二、正误判断题〔每题2分,共20分〕1、数据库中存储的根本对象是数据〔T〕2、数据库系统的核心是〔T〕3、关系操作的特点是集合操作〔T〕4、关系代数中五种根本运算是并、差、选择、投影、连接〔F〕5、进程就是效劳器进程〔F〕6、系统中所有用户进程和效劳器进程所共享〔T〕7、数据库系统中数据块的大小与操作系统有关〔T〕8、数据库系统中,启动数据库和第一步是启动一个数据库实例〔T〕9、中游标的数据是可以改变的〔F〕10、数据库概念模型主要用于数据库概念结构设计〔F〕三、简答题〔每题7分,共35分〕1、何谓数据与程序的逻辑独立性和物理独立性?2、试述关系代数中等值连接与自然连接的区别与联系?3、何谓数据库,数据库设计一般分为哪些阶段?4、简述逻辑数据库的组成?5、试任举一例说明游标的使用方法?五、设有雇员表(),其中:编号,姓名,年齡,工资,部门号。
请按以下要求分别晨*下编程。
〔每题3分,共15分〕•1、查询家有的职工信息。
> * ;•2、查询工资在500至800元之间的雇员信息> * 500 800;•3、按年龄递增顺序显示雇员编号、姓名、年龄、工资> ;•4、求部门号为01的平均工资> () '01';•5、查找部门号为01的40岁以上而工资在400元以下的雇员名单。
> '01' >40<400;试题一答案一、填空题1、人工管理、文件系统、数据库系统2、外模式、模式、内模式3、数据库缓冲区,重做日志缓冲区,共享池4、约束。
oracle数据库的试题及答案
oracle数据库的试题及答案一、选择题1. Oracle数据库是一种()数据库管理系统。
A. 非关系型B. 关系型C. 分布式D. 图形化2. 数据库中,将所有数据进行分类和组织的基本单位是()。
A. 表B. 字段C. 记录D. 数据库3. 在Oracle数据库中,用于删除表中所有数据的操作是()。
A. DELETEB. REMOVEC. DROPD. TRUNCATE4. 在Oracle数据库中,用于更新表中数据的操作是()。
A. UPDATEB. MODIFYC. ALTERD. REPLACE5. 在Oracle数据库中,用于查询数据的操作是()。
A. SELECTB. SEARCHC. FINDD. WHERE二、简答题1. 请简述Oracle数据库的特点。
Oracle数据库具有以下特点:- 完整性:通过约束和触发器来保证数据的完整性。
- 可扩展性:支持集群部署和分布式数据库,可以动态扩展数据库的容量。
- 安全性:提供了严格的数据权限管理和用户认证机制,保护数据免受未经授权的访问。
- 可靠性:支持数据备份和恢复功能,保障数据的持久性和可靠性。
- 高性能:采用多线程和缓存技术,提高数据库的读写性能和响应速度。
2. 在Oracle数据库中,什么是事务?事务是指逻辑上的一组操作,这组操作要么全部成功执行,要么全部失败回滚。
事务具有以下特性:- 原子性:事务中的操作要么全部执行成功,要么全部回滚,不会出现部分执行的情况。
- 一致性:事务执行前后,数据库的状态保持一致性,不会破坏数据的完整性。
- 隔离性:事务之间相互独立,每个事务都认为自己是唯一在操作数据库的。
- 持久性:事务一旦提交,其对数据库的修改将永久保存,不会被回滚。
3. 请说明Oracle数据库中的索引是什么,并简要介绍索引的作用。
索引是一种特殊的数据库对象,用于快速查找数据库中的数据。
索引基于一个或多个列值创建,并按照特定的排序规则存储列值和对应的行指针。
oracle笔试题及答案
oracle笔试题及答案一、选择题1. Oracle数据库是一种()数据库管理系统。
A. 关系型B. 非关系型C. 层次型D. 网状型答案:A2. 下列哪个选项不属于Oracle数据库的特点?A. 完全支持SQL语言B. 支持分布式数据库C. 提供高可用性和故障恢复机制D. 仅支持单用户操作答案:D3. 在Oracle数据库中,下列关键字中哪个用于插入一行数据?A. UPDATEB. DELETEC. SELECTD. INSERT答案:D4. 在Oracle数据库中,下列关键字中哪个用于从表中删除一行数据?A. TRUNCATEB. DROPC. DELETED. REMOVE答案:C5. 在Oracle数据库中,下列关键字中哪个用于更新表中的数据?A. MODIFYB. ALTERC. UPDATED. CHANGE答案:C6. 在Oracle数据库中,下列哪个语句用于创建一个新的用户?A. CREATE ROLEB. CREATE USERC. GRANT PERMISSIOND. ALTER ACCOUNT答案:B7. 在Oracle数据库中,下列关键字中哪个用于将表中的数据按照指定的列进行排序?A. SORTB. GROUPC. ORDERD. ARRANGE答案:C8. 在Oracle数据库中,下列关键字中哪个用于查询满足特定条件的数据?A. SELECTB. SEARCHC. FINDD. FILTER答案:A9. 在Oracle数据库中,下面哪个关键字用于创建新的表?A. CREATEB. MAKEC. BUILDD. CONSTRUCT答案:A10. 下列哪个Oracle数据库对象用于避免数据冗余,提高查询速度,并提供数据的一致性和完整性?A. 视图(View)B. 函数(Function)C. 存储过程(Stored Procedure)D. 游标(Cursor)答案:A二、简答题请简要回答以下问题。
oracle数据库sql试题及答案
oracle数据库sql试题及答案Oracle数据库SQL试题及答案1. 如何查询员工表中所有员工的姓名和工资,要求工资从高到低排序?```sqlSELECT name, salaryFROM employeesORDER BY salary DESC;```2. 如何统计每个部门的员工人数?```sqlSELECT department_id, COUNT(*) AS employee_countFROM employeesGROUP BY department_id;```3. 如何查询工资高于平均值的员工信息?```sqlSELECT *FROM employeesWHERE salary > (SELECT AVG(salary) FROM employees);```4. 如何找出没有直属上司的员工?```sqlSELECT *FROM employees e1WHERE NOT EXISTS (SELECT 1FROM employees e2WHERE e1.manager_id = e2.employee_id);```5. 如何查询工资在3000到5000之间的员工姓名和工资?```sqlSELECT name, salaryFROM employeesWHERE salary BETWEEN 3000 AND 5000;```6. 如何删除员工表中所有工资低于3000的员工记录?```sqlDELETE FROM employeesWHERE salary < 3000;```7. 如何更新员工表中所有部门为10的员工的工资,增加10%?```sqlUPDATE employeesSET salary = salary * 1.1WHERE department_id = 10;```8. 如何查询员工表中每个员工的姓名和他们直属上司的姓名?```sqlSELECT AS employee_name, AS manager_name FROM employees e1JOIN employees e2 ON e1.manager_id = e2.employee_id; ```9. 如何查询员工表中每个部门的平均工资?```sqlSELECT department_id, AVG(salary) AS avg_salary FROM employeesGROUP BY department_id;```10. 如何查询员工表中工资最高的员工信息?```sqlSELECT *FROM employeesWHERE salary = (SELECT MAX(salary) FROM employees); ```。
Oracle数据库试题及答案
Oracle数据库试题一、选择题1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。
(A)索引段(B)临时段(C)回滚段(D)代码段2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。
(A)系统文件(B)日志文件(C)数据文件(D)控制文件3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C )(A)select*from scott.wz where wunit is null and rownum<5;(B)select*from myuser.wz where wunit = null and rownum<5;(C) select*from myuser.wz where wunit is null and rownum<6;(D)select*form scott.wz where wunit is null and rownum<6;4、若当前日期为’25-5月-06’,以下( D )表达式能计算出5个月后那一天所在月份的最后一天的日期。
(A)NEXT_DAY(ADD_MONTHS(28-5月-06,5))(B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5))(C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5))(D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5))5、下列叙述中正确的是_C_。
A、数据库是一个独立的系统,不需要操作系统的支持B、数据库设计是指设计数据库管理系统C、数据库技术的根本目标是要解决数据共享的问题D、数据库系统中,数据的物理结构必须与逻辑结构一致6、SQL语句中修改表结构的命令是 C 。
ORACLE数据库测试1及答案
ORACLE数据库过程测试11、用SQL完成以下表格的创建:(5分*4=20分)1)仓库(仓库号,城市,面积),其中仓库号为主键;create table 仓库(仓库号char(4) primary key,城市char(6),面积number(8,2));2)职工(仓库号,职工号,工资),其中职工号为主键,仓库号为外键;create table 职工(仓库号char(4) foreign key references 仓库,职工号char(4) primary key,工资number(8,2));3)供应商(供应商号,供应商名,地址),其中供应商号为主键;create table 供应商(供应商号char(3) primary key,供应商名char(4),地址char(6));4)订购单(职工号,供应商号,订购单号,订购日期),其中订购单号为主键,供应商号和职工号为外键。
create table 订购单(订购单号char(4) primary key,经手人char(4) foreign key references 职工(职工号),供应商号char(3) foreign key references 供应商,订购日期date);2、以前面表为例,用SQL完成以下检索:(2分*20=40分)1)检索在北京的供应商的名称。
select 供应商名from 供应商where 地址=’北京’;2)检索发给供应商S6的订购单号。
select 订购单号from 订购单where 供应商号=’S6’;3)检索出职工E6发给供应商S6的订购单信息。
select * from 订购单where 经手人=’E6’ and 供应商=’S6’;4)检索出向供应商S3发过订购单的职工的职工号和仓库号。
①select 职工号,仓库号from 职工where 职工号in(select 经手人from 订购单where 供应商号=’S3’ );②select 职工号,仓库号from 职工where exists(select 经手人from 订购单where 供应商号=’S3’ );③自然连接select 职工号,仓库号from 职工as E,订购单as O whereE.职工号=O.经手人and 供应商号=’S3’;④join内连接select 职工号,仓库号from 职工as E join 订购单as Oon E.职工号=O.经手人where 供应商号=’S3’;5)检索出目前与S3供应商没有联系的职工信息。
Oracle测试题(卷)+答案解析
Oracle测试题(卷)+答案解析1) PL/SQL块中可以使用下列()命令。
(选择两项)a) TRUNCATEb) DELETEc) SA VEPOINTd) ALTER TABLE2) 授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是(B)〔选择一项〕a) GRANT CHANGE ON SCOTT.EMP TO SAb) GRANT UPDA TE ON SCOTT.EMP(SAL) TO SAc) GRANT UPDA TE (SAL) ON SCOTT.EMP TO SAd) GRANT MODIFY ON SCOTT.EMP(SAL) TO SA3) EMP表有14条记录,则语句SELECT ‘Aptech’FROM EMP 的执行结果是(C)〔选择一项〕a) Aptechb) 无输出c) 14行Aptechd) 编译出错4) PL/SQL块中哪几部分是可选的()〔选择二项〕a) Declareb) Beginc) Exceptiond) Constant5) 在创建序列的过程中,下列()选项指定序列在达到最大值或最小值后,将继续从头开始生成值。
(选择一项)a) Cycleb) Nocyclec) Cached) Nocache6) 同义词有以下()用途。
(选择三项)a) 简化SQL 语句b) 隐藏对象的名称和所有者c) 提供对对象的公共访问d) 显示对象的名称和所有者7) Oracle中用来释放锁的语句有()〔选择二项〕a) commitb) Drop lockc) rollbackd) unlock8) 关于类型定义Number(9,2)说确的有()〔选择一项〕a) 整数部分9位,小数部分2位,共11位b) 整数部分7位,小数部分2位,共9位c) 整数部分6位,小数点一位,小数部分2位,共9位d) 以上说法均不正确9) 下列哪种Lob类型用来存储数据库以外的操作系统文件()〔选择一项〕a) CLOBb) BLOBc) CFILEd) BFILE10) Oracle中的三种系统文件分别是()〔选择三项〕a) 数据文件b) 归档文件c) 日志文件d) 控制文件11) 下列哪项不是Oracle中常用的分区方法?()〔选择一项〕a) 围分区b) 散列分区c) 列表分区d) 条件分区12) 查看Test中名称为P1的分区中的记录的查询语句为()〔选择一项〕a) Select * from Test Where PartitionName=’p1’b) Select * from Test(p1)c) Select * from Test Partition(p1);d) 以上均正确13) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕a) 从MinValue重新开始循环b) 重复使用MaxValue 值c) 执行出错d) 使用随机值14) 下列哪项是创建索引组织表所必需的()〔选一项〕a) Primary Keyb) Order Byc) Group Byd) 以上均不是15) 若表的某字段值存在大量的重复,则基于该字段适合创建哪种索引?()〔选一项〕a) 标准索引b) 唯一索引c) 位图索引d) 分区索引16) 在PL/SQL块中定义一个名为PI值为3.14的Real型常量的语法是()〔选一项〕a) A.Pi Const Real=3.14;b) B.Pi Real Const =3.14;c) C.Constant Pi Real:=3.14d) D.Pi Constant Real:=3.1417) 22.当Select语句没有返回行时,将引发下列哪个异常?()[选择一项]a) A.No_rows_foundb) B.No_data_foundc) C.No_Data_rows_foundd) D.Invalid_Number18) Oracle中提供的两种游标是()〔选择二项〕a) A.隐式游标b) B.静态游标c) C.REF游标d) D.显式游标19) 若Emp表中有14条记录,则用户执行了以下操作,结果是:()〔选择一项〕Cursor mycur is Select * From emp;。
Oracle数据库试题及答案
Orac 1 e数据库试题一、选择题1、段就是表空间中一种逻辑存储结构,以下(D )不就是O R A C L E数据库使用得段类型。
(A)索引段(E )临时段 (C回滚段(D )代码段2、ORACLE数据库物理结构包括以下三种文件,以下不属于得就是( A )。
(A )系统文件(B)日志文件(C)数据文件(D)控制文件3、数据库中有两个用户s c o t t与muuser,物资表w z就是属于m yuser用户得,但当前用户就是sco t t,要求查询物资表wz( wn o, wnarn t,w type , w uni t )物资单位wunit 列为n u II得记录,取结果得前5条记录显示,以下正确得SQL语句就是(C )(A)s e l ect* fro m sc o tt 、w z where wu n it i s null a nd ro wn u m〈5;(B ) s e 1e c t * f rom myuser、wz where wu n it = n ull and row num<5 ;(C) se 1 ec t* from m yus e r、w z w h ere w u n i t i s null and rownum v 6;(D)select * form scot t、w z wh e re wuni t i s null and row numv 6;4、若当前日期为’25-5月一0 6',以下(D )表达式能计算出5个月后那一天所在月份得最后一天得日期。
(A )NEXT_D AY (ADD_MD NTHS( 28 —5 月—06,5))(B)NEX T _D AY(M ONTH; _ B ET W EEN (28—5 月一06, 5))(C)NE X T_DAY(MO NT H S_BETWEEN( 2 8 — 5 月一06' ,5 ))(D)NE XT _D A Y(ADD_MONTHS( 28-5 月一06' ,5 ))5、下列叙述中正确得就是_C_。
Oracle测试题及答案
Oracle试题(数据库技术及应用)学号姓名分数(一) 按照题意写出SQL语句(45分每题3分)本题用到下面三个关系表:借书卡card(cno卡号,name姓名,class班级)图书books(bno书号,bname书名,author作者,price 单价,quantity库存册数) 借书记录borrow (cno借书卡号,bno书号,rdate还书日期)注:限定每人每种书只能借一本;库存册数随借书、还书而改变。
1.写出建立borrow表的SQL语句,要求定义主码完整性约束和引用完整性约束。
create table card(cno char(6) primary key,name varchar2(10),class varchar2(12));create table books(bno char(8) primary key,bname varchar2(50),author varchar2(10),price number(5,3),quantity number(4));create table borrow(cno char(6) references card(cno) on delete cascade,bno char(8) references books(bno) on delete cascade,rdate date,primary key(cno,bno));2.找出借书超过5本的读者,输出借书卡号及所借图书册数。
select cno,count(*) 册数from borrowgroup by cnohaving count(*)>5;3.查询借阅了“水浒”一书的读者,输出姓名及班级。
select name,classfrom cardwhere cno in (select cnofrom borrowwhere bno=(select bnofrom bookswhere bname='水浒'));4.查询过期未还图书,输出借阅者(卡号)、书号及还书日期。
oracle试题及答案
oracle试题及答案Oracle是一款广泛应用于企业和组织的关系型数据库管理系统。
它拥有强大的功能和灵活的架构,广受企业和数据库开发人员的青睐。
本文为大家整理了一些Oracle试题及答案,旨在帮助大家提升对Oracle数据库的理解和应用能力。
1. 试题:请简单解释什么是Oracle数据库。
答案:Oracle数据库是一种关系型数据库管理系统,由Oracle公司开发,用于存储和管理大量结构化数据。
它提供了数据存储、查询、事务处理、数据分析等功能,是目前业界最流行的企业级数据库之一。
2. 试题:Oracle数据库的特点有哪些?答案:Oracle数据库具有以下特点:a) 可靠性:通过事务处理和闪回技术确保数据的完整性和恢复性;b) 高性能:采用先进的查询优化和索引技术,提供快速的数据读写能力;c) 可扩展性:支持分布式和并行处理,适应不断增长的数据需求;d) 安全性:提供严格的访问控制和数据加密机制,确保数据的安全性;e) 灵活性:支持多种数据类型和数据模型,满足不同应用需求。
3. 试题:请解释Oracle数据库的体系结构。
答案:Oracle数据库的体系结构主要由实例和数据库两个关键组件构成。
a) 实例(Instance):实例是Oracle进程和内存结构的集合,负责连接管理、内存管理、故障恢复等。
每个运行的Oracle数据库都有一个相应的实例。
b) 数据库(Database):数据库是物理存储数据的容器,包含表空间、表、索引等逻辑和物理结构。
一个Oracle实例可以管理多个数据库。
4. 试题:如何创建一个Oracle数据库?答案:创建Oracle数据库的步骤如下:a) 安装Oracle数据库软件;b) 创建一个数据库实例;c) 设计数据库逻辑结构,包括表空间、表、索引等;d) 分配适当的存储空间;e) 配置数据库参数;f) 启动数据库实例,创建数据库。
5. 试题:如何在Oracle数据库中执行查询操作?答案:在Oracle数据库中执行查询操作通常使用SQL语句,如SELECT语句。
oracle数据库期末考试试题及答案
oracle数据库期末考试试题及答案一、单选题(每题2分,共20分)1. Oracle数据库中,用于创建数据库表的命令是:A. CREATE DATABASEB. CREATE TABLEC. CREATE INDEXD. CREATE VIEW答案:B2. 在Oracle数据库中,以下哪个选项不是数据类型?A. NUMBERB. CHARC. DATED. FILE答案:D3. Oracle数据库中,用于删除表的命令是:A. DROP TABLEB. DELETE TABLEC. REMOVE TABLED. REMOVE答案:A4. 在Oracle数据库中,以下哪个命令用于查询表中的数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:A5. Oracle数据库中,以下哪个选项不是SQL语句的组成部分?A. SELECTB. FROMC. WHERED. PRINT答案:D6. 在Oracle数据库中,以下哪个选项不是事务控制命令?A. COMMITB. ROLLBACKC. SAVEPOINTD. PRINT答案:D7. Oracle数据库中,以下哪个选项不是索引类型?A. B-treeB. BitmapC. HashD. List答案:D8. 在Oracle数据库中,以下哪个选项不是表约束类型?A. PRIMARY KEYB. FOREIGN KEYC. UNIQUED. CHECK答案:D9. Oracle数据库中,以下哪个命令用于添加表列?A. ADD COLUMNB. ALTER TABLEC. CREATE COLUMND. MODIFY COLUMN答案:B10. 在Oracle数据库中,以下哪个选项不是PL/SQL的组成部分?A. DECLAREB. BEGINC. ENDD. PRINT答案:D二、多选题(每题3分,共15分)1. Oracle数据库中,以下哪些选项是数据类型?A. VARCHAR2B. TIMESTAMPC. BOOLEAND. BLOB答案:A, B, D2. 在Oracle数据库中,以下哪些命令用于数据操纵?A. SELECTB. INSERTC. UPDATED. DELETE答案:B, C, D3. Oracle数据库中,以下哪些选项是表约束类型?A. PRIMARY KEYB. FOREIGN KEYC. CHECKD. UNIQUE答案:A, B, C, D4. 在Oracle数据库中,以下哪些选项是事务控制命令?A. COMMITB. ROLLBACKC. SAVEPOINTD. PRINT答案:A, B, C5. Oracle数据库中,以下哪些选项是索引类型?A. B-treeB. BitmapC. HashD. List答案:A, B, C三、简答题(每题5分,共20分)1. 请简述Oracle数据库中事务的概念及其重要性。
oracle数据库试题及答案
oracle数据库试题及答案一、单选题1. Oracle数据库的特点是()A. 高安全性B. 高性能C. 可扩展性D. 全面支持ACID特性答案:D2. 在Oracle数据库中,数据存储在()中。
A. 数据块B. 数据段C. 数据文件D. 表空间答案:D3. 下面哪个是Oracle数据库的管理工具?A. SQL DeveloperB. ToadC. PL/SQL DeveloperD. SQL*Plus答案:A4. Oracle数据库中,用于创建和修改数据库对象的语言是()。
A. DMLB. DDLC. DCLD. TCL答案:B5. 在Oracle数据库中,用于查询和操作数据库对象的语言是()。
A. DMLB. DDLC. DCLD. TCL答案:A二、多选题1. 下列哪些是Oracle数据库的特点?()A. 支持事务处理B. 支持分布式数据库C. 支持并发控制D. 支持网络编程答案:A、B、C2. Oracle数据库的体系结构包含以下几个部分:()A. 数据块B. 数据文件C. 表空间D. 实例答案:A、B、C、D3. 下列哪些是Oracle数据库的安全机制?()A. 用户权限管理B. 数据加密C. 访问控制D. 数据备份答案:A、B、C4. Oracle数据库的存储结构包括以下几个层次:()A. 数据库B. 表空间C. 数据文件D. 段E. 数据块答案:A、B、C、D、E5. Oracle数据库的备份与恢复策略包括以下几种:()A. 完全备份B. 增量备份C. 差异备份D. 恢复点备份E. 日志备份答案:A、B、C、E三、判断题1. Oracle数据库是面向对象的数据库。
答案:错误2. Oracle数据库可以跨平台使用。
答案:正确3. Oracle数据库的事务具有原子性、一致性、隔离性和持久性。
答案:正确4. Oracle数据库可以使用PL/SQL语言进行存储过程和触发器的编写。
答案:正确5. Oracle数据库的数据存储采用以行为单位的方式。
ORACLE期末考试试题及答案
ORACLE期末考试试题及答案一、选择题(每题2分,共40分)1. ORACLE数据库系统属于以下哪一种数据库类型?A. 关系型数据库B. 层次型数据库C. 网状型数据库D. 对象-关系型数据库答案:A2. 在ORACLE中,以下哪个命令用来创建一个表?A. CREATE TABLEB. CREATE VIEWC. CREATE INDEXD. CREATE SEQUENCE答案:A3. 数据库的三级模式结构包括以下哪几个层次?A. 外模式、概念模式、内模式B. 概念模式、内模式、物理模式C. 外模式、内模式、物理模式D. 外模式、概念模式、物理模式答案:A4. 在ORACLE中,以下哪个命令用来删除一个表?A. DROP TABLEB. DELETE TABLEC. DROP VIEWD. DELETE VIEW答案:A5. 数据库事务的四个特性包括以下哪些?A. 原子性、一致性、隔离性、持久性B. 原子性、一致性、独立性、持久性C. 原子性、一致性、并发性、持久性D. 原子性、一致性、并发性、独立性答案:A6. 在ORACLE中,以下哪个命令用来修改表的结构?A. ALTER TABLEB. MODIFY TABLEC. UPDATE TABLED. ALTER VIEW答案:A7. 数据库的备份分为以下哪几种类型?A. 冷备份、热备份、逻辑备份B. 冷备份、热备份、物理备份C. 冷备份、热备份、完全备份D. 冷备份、热备份、增量备份答案:D8. 在ORACLE中,以下哪个命令用来创建一个索引?A. CREATE INDEXB. CREATE TABLEC. CREATE VIEWD. CREATE SEQUENCE答案:A9. 数据库的并发控制主要包括以下哪些方法?A. 乐观并发控制、悲观并发控制、时间戳并发控制B. 乐观并发控制、悲观并发控制、锁并发控制C. 乐观并发控制、悲观并发控制、令牌并发控制D. 乐观并发控制、悲观并发控制、版本并发控制答案:B10. 在ORACLE中,以下哪个命令用来创建一个序列?A. CREATE SEQUENCEB. CREATE TABLEC. CREATE VIEWD. CREATE INDEX答案:A二、填空题(每题2分,共20分)1. 在ORACLE中,使用______命令可以创建一个表。
ORACLE数据库习题(有答案)大题
ORACLE数据库习题(有答案)大题1.检索部门编号、部门名称、部门所在地及其每个部门的员工总数。
select d.deptno,d.dname,d.loc,count(*) from emp e,dept d wheree.deptno=d.deptno group by d.deptno,d.dname,d.loc;2.检索员工和所属经理的姓名。
select e.ename 雇员,m.ename 经理 from emp e,emp m wheree.mgr=m.empno;3. 检索工资等级处于第四级别的员工的姓名。
select e.ename from emp e inner join salgrade s on (e.sal between s.losal and s.hisal) where s.grade=4;4.检索工资等级高于smith的员工信息。
select * from emp e join salgrade s on (e.sal between s.losal and s.hisal) where s.grade>(select distinct s.grade from emp e join salgrade s on ((select sal from emp where ename='SMITH') between s.losal and s.hisal));5.检索30部门中1980年1月份之前入职的员工信息。
显示:员工号、员工名、部门号,部门名、入职日期。
select empno,ename,d.deptno,d.dname,hiredate from emp,dept d where emp.deptno=d.deptno and d.deptno=30 and hiredate<to_date('1980-01-01','yyyy-mm-dd');< p="">6. 检索雇员的雇佣日期早于其经理雇佣日期的员工及其经理姓名。
oracle数据库的试题及答案
oracle数据库的试题及答案### Oracle数据库试题及答案#### 一、选择题1. 在Oracle数据库中,哪个命令用于创建数据库表?- A. CREATE TABLE- B. DROP TABLE- C. ALTER TABLE- D. TRUNCATE TABLE答案:A2. 以下哪个选项不是Oracle数据库的SQL语句?- A. SELECT- B. UPDATE- C. DELETE- D. PRINT答案:D3. Oracle数据库中,用于删除表中所有数据的命令是什么? - A. DELETE FROM table_name- B. TRUNCATE TABLE table_name- C. DROP TABLE table_name- D. CLEAR table_name答案:B4. 在Oracle数据库中,哪个命令用于查看表的结构?- A. DESCRIBE table_name- B. EXPLAIN table_name- C. DESC table_name- D. SHOW table_name答案:C5. Oracle数据库中,哪个命令用于插入数据?- A. INSERT INTO- B. ADD INTO- C. PUT INTO- D. SET INTO答案:A#### 二、简答题1. 简述Oracle数据库的体系结构。
- Oracle数据库的体系结构主要包括内存结构和存储结构。
内存结构包括系统全局区(SGA)和程序全局区(PGA)。
存储结构包括数据文件、控制文件和重做日志文件。
SGA是所有数据库进程共享的内存区域,包含了数据库缓冲区、重做日志缓冲区等。
PGA是每个服务器进程或后台进程的私有内存区域。
2. 什么是PL/SQL?它在Oracle数据库中的作用是什么?- PL/SQL是Oracle数据库的过程式扩展,它允许用户定义存储过程、函数、触发器等。
PL/SQL结合了SQL语句和过程式编程的特性,使得数据库编程更加灵活和强大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ORACLE数据库过程测试11、用SQL完成以下表格的创建:(5分*4=20分)1)仓库(仓库号,城市,面积),其中仓库号为主键;create table 仓库(仓库号char(4) primary key,城市char(6),面积number(8,2));2)职工(仓库号,职工号,工资),其中职工号为主键,仓库号为外键;create table 职工(仓库号char(4) foreign key references 仓库,职工号char(4) primary key,工资number(8,2));3)供应商(供应商号,供应商名,地址),其中供应商号为主键;create table 供应商(供应商号char(3) primary key,供应商名char(4),地址char(6));4)订购单(职工号,供应商号,订购单号,订购日期),其中订购单号为主键,供应商号和职工号为外键。
create table 订购单(订购单号char(4) primary key,经手人char(4) foreign key references 职工(职工号),供应商号char(3) foreign key references 供应商,订购日期date);2、以前面表为例,用SQL完成以下检索:(2分*20=40分)1)检索在北京的供应商的名称。
select 供应商名from 供应商where 地址=’北京’;2)检索发给供应商S6的订购单号。
select 订购单号from 订购单where 供应商号=’S6’;3)检索出职工E6发给供应商S6的订购单信息。
select * from 订购单where 经手人=’E6’ and 供应商=’S6’;4)检索出向供应商S3发过订购单的职工的职工号和仓库号。
①select 职工号,仓库号from 职工where 职工号in(select 经手人from 订购单where 供应商号=’S3’ );②select 职工号,仓库号from 职工where exists(select 经手人from 订购单where 供应商号=’S3’ );③自然连接select 职工号,仓库号from 职工as E,订购单as O whereE.职工号=O.经手人and 供应商号=’S3’;④join内连接select 职工号,仓库号from 职工as E join 订购单as Oon E.职工号=O.经手人where 供应商号=’S3’;5)检索出目前与S3供应商没有联系的职工信息。
select * from 职工where 职工号not in(select 经手人from 订购单where 订购单.经手人=职工.职工号and 供应商号=’S3’);6)检索出目前没有任何订购单的供应商信息。
①select * from 供应商where 供应商号not in( select 供应商号from 订购单where 供应商号is not null);②select * from 供应商where not exists(select * from 订购单where 供应商号=供应商.供应商号);7)检索出和职工E1、E3都有联系的北京的供应商信息。
①select * from 供应商where 地址=’北京’and 供应商号in(select 供应商号from 订购单where 经手人=’E1’)and 供应商号in(select 供应商号from 订购单where 经手人=’E3’);②select * from 供应商where 地址=’北京’and 供应商号in(select A.供应商号from 订购单as A,订购单as Bwhere A.供应商号=B.供应商号and A.供应商号=’E1’and B.供应商号=’E3’);8)检索出目前和华通电子公司有业务联系的每个职工的工资。
select * from 职工where 职工号in(select 经手人from 订购单where 供应商号in(select 供应商号from 供应商where 供应商名=’华通电子公司’));9)检索出与工资在1220元以下的职工没有联系的供应商的名称。
select 供应商名from 供应商where 供应商号not in(select 供应商号from 订购单where 供应商号is not nulland 经手人in(select 职工号from 职工where 工资<1220));10)检索出向S4供应商发出订购单的仓库所在的城市。
select 城市from 仓库where 仓库号in(select 仓库号from 职工where 职工号in(select 经手人from 订购单where 供应商号=’S4’));11)检索出在上海工作并且向S6供应商发出了订购单的职工号。
select 职工号from 职工where 仓库号in(select 仓库号from 仓库where 城市=’上海’)and 职工号in(select 经手人from 订购单where 供应商号=’S6’);12)检索出在广州工作并且只向S6供应商发出了订购单的职工号。
select 职工号from 职工where 仓库号in(select 仓库号from 仓库where 城市=’广州’)and 职工号in(select 经手人from 订购单where 供应商号=’S6’)and 职工号not in(select 经手人from 订购单where 供应商号!=’S6’);13)检索出由工资多于1230元的职工向北京的供应商发出的订购单号。
select 订购单号from 订购单where 供应商号in(select 供应商号from 供应商where 地址=’北京’)and 职工号in( select 职工号from 职工where 工资>1230);14)检索出仓库的个数。
select count(*) as 仓库个数from 仓库;15)检索出有最大面积的仓库信息。
select * from 仓库where 面积=(select MAX(面积) from 仓库);16)检索出所有仓库的平均面积。
select A VG(面积) as 平均面积from 仓库;17)检索出向S4供应商发出订购单的那些仓库的平均面积。
select A VG(面积) as 平均面积from 仓库where 仓库号in (select 仓库号from 职工where 职工号in(select 经手人from 订购单where 供应商号=’S4’));18)检索出每个仓库中工资多于1220元的职工个数。
select 仓库号,count(*) as 职工个数from 职工where 工资>1220group by 仓库号;19)检索出和面积最小的仓库有联系的供应商的个数。
select count(*) as 供应商个数from 供应商where 供应商号in(select 供应商号from订购单where 经手人in(select 职工号from 职工where 仓库号in(select 仓库号from 仓库where 面积=(select MIN(面积) from 仓库))))20)检索出工资低于本仓库平均工资的职工信息。
select * from 职工as A where 工资<(select A VG(工资) from 职工as B where B.职工号=A.职工号);3、以上图的数据库为例,用SQL语句完成操作:(2分*5=10分)1)插入一个新的订购单元组,其中职工号为E6,订购单号为OR99,其他列为空。
2)删除目前没有任何订购单的供应商。
3)删除由在上海仓库工作的职工发出的所有订购单。
4)北京的所有仓库增加100m2的面积。
5)给低于所有职工平均工资的职工提高5%的工资。
解:1)insert into 订购单values (‘OR99’,’E6’,null,null);2) delect from 供应商where 供应商号not in(select 供应商号from 订购单where 供应商号is not null);3)①delect from 订购单where 职工号in(select 职工号from 职工where 仓库号in(select 仓库号from 仓库where 城市=’上海’));②delect [from] 订购单from 职工,仓库where 订购单.职工号=职工.职工号and 职工.仓库号=仓库.仓库号and城市=’上海’;注:第一个from可省略4)update 仓库set 面积=面积+100 where 城市=’北京’;5)update 职工set 工资=工资*1.05 where 工资<(select A VG(工资) from 职工);4、在第1题的数据库中建立一个存储过程,查询工资大于某个值且在某个城市工作的职工信息;并以工资大于8000元且在北京工作的职工为例执行该存储过程。
(10分)解:create or replace procedure pro(salary in number,city in number)asbeginselect * from 职工from 工资>salsry and 仓库号in(select 仓库号from 仓库where 城市=citu );end;--执行存储过程exec proc(salary=>8000,city=’北京’);5、在第1题的数据库中建立一个触发器,当删除仓库记录时同时删除该仓库的职工信息。
(10分)解:create or replace trigger triafter delete on 仓库for each rowbegindelete from 职工where 仓库号=::OLD.仓库号;end;6、在第1题的数据库中建立一个触发器,当插入一个职工记录时,检查该职工所在的仓库是否存在,若不存在则撤消所做的插入操作。
(10分)解:create or replace trigger 职工1after insert or update on 职工for each rowdeclaren number;beginselect count(*) into n from 仓库where 仓库号=:NEW仓库号if n=0 thendbms_output.put_line(‘职工所在仓库不存在’);rollback;end if;end;。