搜档网
当前位置:搜档网 › oracle基础面试题

oracle基础面试题

oracle基础面试题
oracle基础面试题

oracle基础面试题

1.现实世界中客观工可相互区别的“事物”被称为(B )。

A) 属性 B) 实体 C)数据 D)域

2.实体相互之间关系的抽象表示被称为(D ),即现实世界中事物之间的语义关系。

A) 项 B) 键 C)表 D)联系

3.关系代数是用对( D)的运算来表达查询需求的方法。

A)实体 B) 域 C) 属性 D) 关系

4.SQL语言具有( A)的功能。

A) 关系规范化、数据操作、数据控制 B) 数据定义、数据操作、数据控制

C) 数据定义、关系规范化、数据控制 D) 数据定义、关系规范化、数据操作

5.SQL语言数据操作语句包括SELECT、INSERT、UPDATE和DELETE。其中最重要的,也是使用最频繁的语句是(A )。

A) SELECT B) INSERT C) UPDATE D) DELETE

6.检索学生姓名及其所选修课程的课程号和成绩。正确的语句是( C)。

A) SELECT S.SNAME,SC.C#,SC.GRADE

FORM S

WHERE S.S#=SC.S#

B) SELECT S.SNAME,SC.C#,SC.GRADE

FORM SC

WHERE S.S#=SC.GRADE

C) SELECT S.SNAME,SC.C#,SC.GRADE

FORM S,SC

WHERE S.S#=SC.S#

D) SELECT S.SNAME,SC.C#,SC.GRADE

FORM S.SC

7.规范化理论是( D)首先提出来的

A) Microsoft B) 冯·诺依曼C) IBM D) E·F·Codd

8.(D )是提供信息,辅助人们对环境进行控制与决策的系统。

A) 软件系统 B) 关系系统 C) 程序系统 D) 信息系统

9.( D)是评价数据库系统的一个重要指标,它标志程序和数据等信息的安全问题。

A) 统一性 B) 可靠性 C) 可维护性 D) 安全性

10.按照数据模型划分,VFP6.0是关系型数据库管理系统( C)。

A) 层次型数据库管理系统 B) 网状型数据库管理系统

C) 关系型数据库管理系统 D) 混合型数据库管理系统

11.在一个运算表达式中,有逻辑运算、关系运算和算术运算混合在一起,其中不含括号,它们的运算顺序是(C )。

A) 逻辑、关系、算术 B) 逻辑、算术、关系

C) 关系、逻辑、算术 D) 算术、关系、逻辑

12.表达式VAL(SUBS(“奔腾586”,5,1))*LEN(“Visual FoxPro”)的结果是

(C )。

A) 63.00 B) 64.00 C) 65.00 D)66.00

13.可以链接或嵌入OLE对象的字段类型是( C)。

A) 备注型 B) 通用型和备注型 C) 通用型 D)任何类型

14.在表结构中,逻辑型、日期型、备注型、通用型字段的宽度分别固定为( A)。

A) 1、8、4、4 B) 1、6、10、10 C) 1、8、10、10 D) 3、

8、10、10

15.在图书表文件中,书号字段为C型,要求将书号以字母D开头的所有图书记录打上删除标记,应使用的命令为( B)。

A) DELETE FOR “D”$书号 B) DELETE FOR SUBSTR(书

号,1,1)=“D”

C) DELETE FOR书号=D* D) DELETE FOR RIGHT(书号,1)=“D”

16.表文件中共有20条记录,当前记录号为10,执行命令LIST NEXT 5以后,当前记录号为(C )。

A) 10 B) 15 C) 14 D) 20

17.可以伴随着表的打开万里自动打开的索引是( C)。

A)单一索引文件(.idx) B) 复合索引文件(.cdx)

C) 结构化复合索引文件 D) 非结构化复合索引文件

18.对学生成绩表文件按总分(N,6,2)降序、姓名(C,8)升序索引,应使用命令

(D )。

A) INDEX TO ABC ON 总分+姓名 B) INDEX TO ABC ON STR(-总分,5,1)+姓名

C) INDEX TO ABC ON -总分+姓名 D) INDEX TO ABC ON STR(1000-总分)+姓名

19.永久关系建立后( B)。

A)在数据库关闭后自动取消 B) 如不删除将永久保存

C) 无法删除 D) 只供本次运行使用

20.查询设计器中包括的选项卡有(B )。

A) 筛选、更新条件、排序依据 B) 字段、连接、分组依据

C) 联接、条件、公组依据 D) 更新条件、字段、公组依据

21. 面向对象程序设计就是将(D )处理由面向过程转为面向对象,并采用事件驱动其执行过程的程序设计方法。

A) 文件 B) 对象 C)程序 D) 数据

22. ( A)表示当前对象。

A) This B) ThisForm C) ThisFormSet D) Perent

23.报表设计器启动后默认的带区有( A)个。

A) 3 B) 4 C) 5 D) 6

24. 将一个预览成功的菜单存盘,再运行该菜单,却不能执行,这可能是因为( B)。

A) 没有放到项目中 B) 没有生成 C) 要用命令方

式 D) 要编入程序

25.向学生表插入一条记录的正确命令是(B )

A)APPEND INTO 学生 VALUES("10359999",'张三','男','会计

',{^1983-10-28})

B)INSERT INTO 学生 VALUES("10359999",'张三','男',{^1983-10-28},'会计')

C)APPEND INTO 学生 VALUES("10359999",'张三','男',{^1983-10-28},'会计')

D)INSERT INTO 学生 VALUES("10359999",'张三','男',{^1983-10-28})

二、填空题

⒈由于实体分为总体和个体两级,所以它的数据分为____ __型____与___值___两级。

⒉实际的数据库系统所支持的主要数据模型有___层次___、___网络___、___关系___。

⒊关系模型中常用的关系操作包括___查询___和___增删改___两类。

⒋SQL语言支持关系数据库三级模式结构。其中外模式对应于___视图___,模式对应于___基本表___,内模式对应于___存储文件___。

⒌满足___第三范式___的关系已能清除数据冗余和各种异常。

⒍数据库设计的不同阶段,支持实现的具体规范设计方法有三种,它们是___ E-R 模型___、___3NF ___和___抽象语法规范 ___。

⒎___逻辑结构设计___的任务是把概念结构转化为可选用的DBMS所支持的数据

模型相符合的过程。

⒏常量有字符型、数值型、逻辑型、日期型、___日期时间 ___和___贷币___六种类型。

⒐函数ROUND(123456.789,-2)的值是_123500_____。

⒑使用DIMENSION mm(2,3)定义的数组,包含的数组元素个数为___6___。

⒒单索引文件的扩展名是___idx ___;表单文件的扩展名是___ SCX___。

⒓要在项目中添加或移去数据库,只能通过___项目管理器___窗口来实现。

⒔GET语句的变量必须用___READ ___命令来激活。

⒕计算机解题遵循求解的___基本逻辑___,还须适当注意___程序的通用性___。

⒖Visual FoxPro 6.0具有三种循环语句,即___顺序 ___、___分支 ___和___循环 ___三类。

⒗类具有___封装 ___、___子类___和___继承性___的特性,这就大大加强了代码的可后果用性。

三、问答题

⒈DBMS的主要功能是什么?

⒉SQL语言有什么特点?

⒊关系模式分解的原则是什么?

⒋有三个关系:S(学号,姓名,系名),C(课程号,课程名称),SC(学号,课程号,课程成绩)。请分析说明它们各属于什么范式等级。

⒌设计多重循环时应注意什么?

参考答案

1B 2D 3D 4A 5A 6C 7D 8D 9D 10C 11C 12C 13C 14A 15B 16C 17C 18D 19B 20B 21D 22A 23A 24B 25B

1型,值2层次网络关系3查询增删改4视图基本表存储文件5第三范式6 E-R模型3NF抽象语法规范7逻辑结构设计8日期时间贷币9123500 106

11.IDX .SCX 12项目管理器13READ 14基本逻辑程序的通用性15顺序分支循环16封装子类继承性

1答:DBMS主要功能有:定义功能、操作功能、保护功能、维护功能和数据字典功能

2答:SQL语言的主要特点是:综合统一;高度非过程化;面向集合的操作方式;以同一种语法结构提供两种使用方式;语言简洁,易学易用。

3答:对关系模式的分解,不能仅着眼于提高它的范式等级,还应遵守无损分解和分解后的关系相互独立等原则。

4答:这三个关系都只有完全函数依赖,不存在部分函数领带和传递函数依赖,故均属于3NF。

5答:设计多重循环程序要分清外循环和内循环,外循环中必然包含内循环语句,执行外循环体就是将其内循环语句及其它语句执行一遍。多重循环中可以进行嵌套,但不能发生交叉。

面试题二

?1、按以下格式显示下面的信息,条件是工资大于1500的。

?部门名称姓名工资

?2、按以下格式显示下面信息,条件是此人工资在所有人中最高。

?部门姓名工资

?3、按以下格式显示下面信息

?某人为某人工作

?4、为所有人长工资,标准是:10部门长10%;20部门长15%;30部门长20%其他部门长18%(要求用DECODE函数)

?5、根据工作年限长工资,标准是:为公司工作了几个月就长几个百分点。

?6、查询出king所在部门的部门号\部门名称\部门人数

?7、查询出king所在部门的工作年限最大的员工名字

?8、查询出管理员工人数最多的人的名字和他管理的人的名字

?9、查询出工资成本最高的部门的部门号和部门名称

?10、查询出工资不超过2500的人数最多的部门名称

?11、查询出没有下属员工的人的名字和他的职位

?12、查询出人数最多的那个部门的部门编号和部门名称

?13、查询出没有员工的那个部门的部门编号和部门名称(要求用两种方法,其中一种要用集合运算)

?14、查询出员工名字以A打头的人数最多的部门名称和员工名字

?15、现在公司要给员工增加工龄工资,规则是:30*工作年限,请按以下格式显示下面结果:

?部门名称员工姓名原工资增加额度新工资

?16、针对DEPT和EMP表,查询出下面格式的结果并要求按部门编号和工资降序排列。

?部门名称员工姓名工资

?17、针对DEPT和EMP表,查询出下面格式的结果。

?部门编号部门名称部门工资最小值部门工资最大值部门工资平均值部门工资合计值

?18、针对DEPT和EMP表,查询出SMITH所在部门的部门名称、部门工资平均值。(要求使用子查询)

?19、针对DEPT和EMP表,查询出下面格式的结果。(要求使用外连接,没有员工的部门名也要显示。员工姓名如果是空值,要求用“不存在”代替;如果工资是空值,要求用0代替。)

?部门名称员工姓名工资

?20、针对DEPT和EMP表,查询出没有员工的部门号和部门名称(要求用两种方法)

?21、查询出平均工资最高的部门编号、部门名称和平均工资。

?22、查询出工资高于全体平均工资人数最多的部门编号、部门名称和员工姓名、工资。

数据库及Oracle基础知识培训自学教材试题_V1 0

Oracle初级试题 一、选择题(20% 不定项每题2分) 1.对于Oracle用户方案下,根据模式/映像,请选出不属于模式的对象(D) A.表B.索引C.视图D.约束 2.在客户端配置哪个文件,可以使客户端访问oracle server?(A) A.tnsnames.ora B.sqlnet.ora C.listener.ora D.init.ora 3.搜索列中的数据,但只记得部分字符串,通常可以用以下哪种运算?(C) A.in B.between C.like D.exists 4.如从表中删除了一条记录,以下哪个语句可以保存数据库中的改变?(B) A.savepoint B.commit C.rollback D.update 5.下面关于视图的说法,请选出正确的(ABCD) A.一个视图可以创建为只读 B.一个视图可以用来连接两张或更多的表而被创建 C.在视图中不能含有order by子句 D.在视图中不能含有group by子句 6.在select语句中包含了where子句,请问group by子句可以放在哪里?(D) A.where子句前面 B.from子句前面 C.order by子句后面 D.where子句后面 7.关于having子句,以下说法正确的是:(C) A.having与where相同 B.having用于单行条件查询 C.having用于已分组的条件查询 D.having子句必须紧跟在where子句后面使用 8.能够在外部表上进行的操作有:(A) A.select B.update C.insert D.delete 9.在更改索引的操作(alter index)中,以下哪些子句可以定期优化索引?(AC) A.rename B.coalesce C.rebuild D.deallocate unused 10.请选出能够产生锁的操作:(AB) A.select … for update B.commit C.rollback D.lock table 二、填充题(20% 每空4分) 1.数据库最常用的DML操作有SELECT、UPDATE 、DELETE 和INSERT 等(要求写出操作命令)。 2.假设有两个数据N1和N2,请用函数实现如下算法:当N1>N2时,返回“大于”; 当N1=N2时,返回“等于”;当N1N2 then Return ‘大于’;

Oracle数据库基础

Oracle 数据库基础 数据库是我们安装完产品后建立的,可以在同一台主机上存在8i,9i,10g,11g等多个数据库产品,一套产品可以建立多个数据库,每个数据库是独立的。每个数据库都有自己的全套相关文件,有各自的控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件等等。 其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(trace files,alert files)属于数据库文件; 参数文件(parameter file)口令文件(password file)是非数据库文件 我们的表存储在数据库中 数据库不能直接读取 我们通过实例(instance)来访问数据库 数据库实例 实例由内存和后台进程组成 实例是访问数据库的方法 初始化参数控制实例的行为 一个实例只能连接一个数据库

启动实例不需要数据库 产品安装好 有初始化参数文件 就可以启动实例 与是否存在数据库无关 实例内存分为SGA 和PGA SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。 PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA正相反,PGA 是只被一个进程使用的区域,PGA 在创建进程时分配,在终止进程时回收. 后台进程是实例和数据库的联系纽带 分为核心进程和非核心进程 当前后台进程的查看 SQL> select name,description from v$bgprocess where paddr<>'00'; NAME DESCRIPTION

几个Oracle的笔试题

Oracle笔试试题 1. SQL必备 <选择题每空 1 分共 14题> 1. 如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接 ( ) A.OR B.NOT C.AND D.NONE 2. 外连接的条件可以放在以下的那一个子句中( ) A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 3. 在从两个表中查询数据时,连接条件要放在哪个子句中( ) A.FROM B.WHERE C.SELECT D.HAVING E.GROUP BY 4. 用以下哪个子句来限制分组统计结果信息的显示( ) A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 5. 以下需求中哪个需要用分组函数来实现( ) A.把ORDER表中的定单时间显示成 'DD MON YYYY' 格式 B.把字符串 'JANUARY 28, 2000' 转换成日期格式 C.显示PRODUCT 表中的COST 列值总量 D.把PRODUCT表中的DESCRIPTION列用小写形式显示 6. 以下那些命令可以暗含提交操作( )

A.GRANT B.UPDATE C.SELECT D.ROLLBACK 7.RDBMS是下列哪一项的缩写( ) A. Relational DataBase Management System(关系数据库管理系统) B. Relational DataBase Migration System(关系数据库移植系统) C. Relational Data Migration System(关系数据移植系统) D. Relational DataBase Manage System(关系数据库管理系统) 8.INSERT 是( ) A. DML语句 B. DDL语句 C. DCL语句 D. DTL语句 9.SELECT CHR(66) FROM DUAL的结果是( ) A. Z B. S C. B D. 都不是 10.函数返回一个值除以另一个值后的余数( ) A. MOD B. ABS C. CEIL D. 以上都不是 11. 什么锁用于锁定表,仅允许其他用户查询表中的行,行不允许插入,更新, 或删除行( ) A. 共享 B. 排他 C. 共享更新 D. 以上都不是 12.什么是oracle提供的一个对象,可以生成唯一的连续的整数( ) A. 同义词 B. 序列 C. 视图 D. 没有 13. 那种类型的约束可以自动创建索引( ) A.CHECK B.UNIQUE

2020年(Oracle管理)华为oracle培训教材

(Oracle管理)华为oracle培训教材

SQL语言简介 1、SQL概述 SQL是一种面向数据库的通用数据处理语言规范,能完成以下几类功能:提取查询数据,插入修改删除数据,生成修改和删除数据库对象,数据库安全控制,数据库完整性及数据保护控制。 数据库对象包括表、视图、索引、同义词、簇、触发器、函数、过程、包、数据库链、快照等(表空间、回滚段、角色、用户)。数据库通过对表的操作来管理存储在其中的数据。 1)SQL*PLUS界面: 登录:输入SQLPLUS回车;输入正确的ORACLE用户名并回车;输入用户口令并回车,显示提示符:SQL> 退出:输入EXIT即可。 2)命令的编辑与运行: ●在命令提示符后输入SQL命令并运行,以分号结束输入;以斜杠结束输入;以空行结束输入; ●利用SQL缓冲区进行PL/SQL块的编辑和运行; ●利用命令文件进行PL/SQL块的编辑和运行。 2、数据库查询 1)用SELECT语句从表中提取查询数据。语法为 SELECT[DISTINCT]{column1,column2,…}FROMtablenameWHERE{conditi ons}GROUPBY{conditions}ORDERBY{expressions}[ASC/DESC]; 说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从哪一个表或视图中检索数据。

2)SELECT中的操作符及多表查询WHERE子句。(LIKE,IS,…) WHERE子句中的条件可以是一个包含等号或不等号的条件表达式,也可以是一个含有IN、NOTIN、BETWEEN、LIKE、ISNOTNULL等比较运算符的条件式,还可以是由单一的条件表达通过逻辑运算符组合成复合条件。 3)ORDERBY子句 ORDERBY子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDERBY子句指定的表达式的值确定。 4)连接查询 利用SELECT语句进行数据库查询时,可以把多个表、视图的数据结合起来,使得查询结果的每一行中包含来自多个表达式或视图的数据,这种操作被称为连接查询。 连接查询的方法是在SELECT命令的FROM子句中指定两个或多个将被连接查询的表或视图,并且在WHERE子句告诉ORACLE如何把多个表的数据进行合并。根据WHERE子句中的条件表达式是等还是不等式,可以把连接查询分为等式连接和不等式连接。 5)子查询 如果某一个SELECT命令(查询1)出现在另一个SQL命令(查询2)的一个子句中,则称查询1是查询2的子查询。 3、基本数据类型(NUMBER,VARCHAR2,DATE)O RACEL支持下列内部数据类型: ●VARCHAR2变长字符串,最长为2000字符。 ●NUMBER数值型。

Oracle_DBA面试题

一. SQL tuning 类 1:列举几种表连接方式 hash join/merge join/nest loop(cluster join)/index join 2:不借助第三方工具,怎样查看sql的执行计划 set autot on explain plan set statement_id = &item_id for &sql; select * from table(dbms_xplan.display); 或者: SQL>EXPLAIN PLAN FOR SELECT * FROM EMP; SQL>SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE')); 3:如何使用CBO,CBO与RULE的区别 Rule Based Optimizer(RBO):基于规则 Cost Based Optimizer (CBO):基于成本,或者讲统计信息。 在optimizer_mode=choose时,如果表有统计信息(分区表外),优化器将选择CBO,否则选RBO。RBO遵循简单的分级方法学,使用15种级别要点,当接收到查询,优化器将评估使用到的要点数目, 然后选择最佳级别(最少的数量)的执行路径来运行查询。 CBO尝试找到最低成本的访问数据的方法,为了最大的吞吐量或最快的初始响应时间,计算使用不同的执行计划的成本,并选择成本最低的一个,关于表的数据内容的统计被用于确定执行计划。 4:如何定位重要(消耗资源多)的SQL select sql_text from v$sql where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000); 5:如何跟踪某个session的SQL exec dbms_system.set_sql_trace_in_session(sid,serial#,&sql_trace); select sid,serial# from v$session where sid = (select sid from v$mystat where rownum = 1); exec dbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,'');

数据库基本知识(自己整理,初学者可以看一下,基于某MySql)

数据库

1常见数据库 1.1MySql : 甲骨文 1.2Oracle: 甲骨文 1.3SQL Server: 微软 1.4Sybase: 赛尔斯 1.5DB2: IBM 2MySql基础知识 2.1关系结构数据模型数据库 2.2SQL(Structured Query Language)结构化查询语言2.2.1DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等 操作数据库 CREATE DATABASE [IF NOT EXISTS]mydb1 USE mydb1 DROP DATABASE [IF NOT EXISTS] mydb1

ALTER DATABASE mydb1 CHARACTER SET utf8 操作表 插入表 CREATE TABLE stu( sid CHAR(6), sname VARCHAR(20), age INT, gender VARCHAR(10) ); 更改表 ALTER TABLE t_user ADD (student varcher(20)) ALTER TABLE t_user MODIFY gender CHAR(20) ALTER TABLE t_user CHANGE gender VARCHER(20) ALTER TABLE t_user REMANE genderTO genders ALTER TABLE t_user DROP gender 删除表 DROP TABLE t_user 2.2.2DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据) 插入数据 INSERT INTO t_user VALUES() INSERT INTO 表名 VALUES(值1,值2,…)

Oracle数据库基本知识点

1、数据库基本语句 (1)表结构处理 创建一个表:cteate table 表名(列1 类型,列2 类型); 修改表的名字 alter table 旧表名 rename to 新表名 查看表结构 desc 表名(cmd) 添加一个字段 alter table 表名 add(列类型); 修改字段类型 alter table 表名 modify(列类型); 删除一个字段 alter table 表名 drop column列名; 删除表 drop table 表名 修改列名 alter table 表名 rename column 旧列名 to 新列名; (2)表数据处理 增加数据:insert into 表名 values(所有列的值); insert into 表名(列)values(对应的值); 更新语句:update 表 set 列=新的值,…[where 条件] 删除数据:delete from 表名 where 条件 删除所有数据,不会影响表结构,不会记录日志, 数据不能恢复--》删除很快: truncate table 表名 删除所有数据,包括表结构一并删除: drop table 表名 去除重复的显示:select distinct 列 from 表名 日期类型:to_date(字符串1,字符串2)字符串1是日期的字 符串,字符串2是格式 to_date('1990-1-1','yyyy-mm-dd')-->返回日期的 类型是1990-1-1 (3)查询语句 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id

Oracle精选面试题(附答案及分析)

Oracle精选面试题 1.显示10 号部门的所有经理('MANAGER')和20 号部门的所有职员('CLERK')的详细信息 答案: Select * from emp where deptno=10 and job=’MANAGER’ or deptno=20 and job=’clerk’; select * from emp where deptno = 10 and job = 'MANAGER' or deptno = 20 and job ='CLERK'; 2.显示姓名中没有'L'字的员工的详细信息或含有'SM'字的员工信息 答案: Select * from emp where ename note like ‘%L%’ or ename like ‘%SM%’; select * from emp where ename not like '%L%' or ename like '%SM%'; 3.显示各个部门经理('MANAGER')的工资 答案: select deptno,emname, salary from emp_wqq where job='MANAGER'; 4.显示佣金(COMM)收入比工资(SAL)高的员工的详细信息 答案: select * from emp where comm > sal; 5.把hiredate 列看做是员工的生日,求本月过生日的员工 答案: select * from emp where to_char(hiredate, 'mm') = to_char(sysdate , 'mm'); 6.把hiredate 列看做是员工的生日,求下月过生日的员工 答案: select * from emp where to_char(hiredate, 'mm') = to_char(add_months(sysdate,1) , 'mm'); 7.求1982 年入职的员工 答案: select * from emp where to_char(hiredate,'yyyy') = '1982'; 8.求1981 年下半年入职的员工 答案: select * from emp where hiredate between to_date('1981-7-1','yyyy-mm-dd') and to_date('1982-1-1','yyyy-mm-dd') - 1; 9.求1981 年各个月入职的的员工个数 答案: select count(*), to_char(trunc(hiredate,'month'),'yyyy-mm')

ORACLE数据库工程师面试题目

1. 解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3. 如何转换init.ora到spfile? 解答:使用create spfile from pfile 命令. 4. 解释data block , extent 和segment的区别(这里建议用英文术语) 解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment. 5. 给出两个检查表结构的方法 解答:1.DESCRIBE命令 2.DBMS_METADATA.GET_DDL 包 6. 怎样查看数据库引擎的报错 解答:alert log. 7. 比较truncate和delete 命令 解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间. 8. 使用索引的理由 解答:快速访问表中的data block 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而dimension t ables 存放对fact table 某些属性描述的信息

Oracle基础知识大全,

课程目标: 1. 了解数据库系统在项目开发中的地位 2. 了解目前主流数据库系统 3. 熟练掌握查询命令 4. 熟练掌握数据操作方式 5. 熟练使用数据库内置函数 6. 掌握pl/sql程序设计语法结构 7. 掌握视图 8. 掌握存储过程 9. 掌握用户自定义函数 10. 掌握触发器 了解: 1.数据库组件: 1.1 实施应用集群 1.2 Oracle OLAP 1.3 数据挖掘 1.4 应用程序接口 1.5 网络组件 1.6 SQL Plus 1.7 企业管理器OEM

2. 几个版本间的差异: 2.1 增加了服务器参数文件SPFILE 2.2 使用了OMF免去了手工管理数据库文件的繁琐 2.3 支持多种数据库块大小 2.4 会话可以自动调整PGA的大小 2.5 引入了列表分区 课程内容: 1. 操作数据之前的准备工作: 1.1. 要保证有一个数据库: 1.2. 要保证创建一个表空间 create tablespace hbjr datafile 'E:\dbs\hbjr.dbf' size 100M; 1.3. 要创建一个用户,用户默认的表空间就是你创建的表空间 create user hbjr identified by orcl default tablespace hbjr; //授权限: grant dba to hbjr; 1.4. 用户/密码登录:

2. 表名/列字段名起名规范: 2.1 使用常规字母和数字 2.2 长度不要超过30 2.3 表名/列名不能重复 2.4 不能使用oracle的保留字 3. 数据类型 3.1 char:定长,存储单位--字节(bite) 3.2 varchar2:变长,存储单位--字节 3.3 nchar:定长,存储单位--字符 3.4 nvarchar2:变长,存储单位--字符 3.5 date:日期类型,7个字节,存储着--世纪,年,月,日,时,分,秒 3.6 timestamp:日期类型,11个字节,存储着--世纪,年,月,日,时,分,秒,毫秒 3.7 number:数据类型(数值类型) 3.8 clob:大字段类型,适合存储纯文本信息(例如:*.txt 文件)

oracle常见面试题及答案

需求: 写一个邮件系统, 采用oracle+jsp+servlet来完成. 1.创建一个表空间。 2.创建一个用户,将用户赋到表空间上. 3.给用户赋权限. 4.以新建用户登录,创建一个程序包. 5.在表空间上建表,两个表 用户表 Id int Uname varchar Upass varchar 邮件表 eId int Title varchar Contents varchar Uid int 外键 附件表 Id int Filepath varchar Eid int 外键 6.作增,删,改,查的操作,全部封装到存储过程中 7.写一个java程序来调用. 1.解释FUNCTION,PROCEDURE和PACKAGE区别 答:function 和procedure是PL/SQL代码的集合,通常为了完成一个任务。procedure 不需要返回任何值, 而function将返回一个值. 在另一方面,Package是为了完成一个商业功能的一组function和procedure的集合。

2.取某个序列的当前值的PL/SQL语句怎么写? 答:SELECT 序列名.CURRVAL FROM DUAL; Create sequence 名字 start with x increment by y maxvalue z nocycle 3.说明ORACLE数据库实例与ORACLE用户的关系? 答:实例可以包含多个用户,一个用户只能在一个实例下 4.创建用户时,需要赋予新用户什么权限才能使它连上数据库? 答:grant CONNECT [on 表名] to 用户名 5.比较truncate和delete命令? 答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL(data defining language数据定义语言),它移动HWK,不需要rollback segment(处理事务回滚操作)而Delete是DML(data manufacturing language数据操作语言)操作,需要rollback segment(处理事务回滚操作)且花费较长时间 6.给出数据的相关约束类型? 答:主键约束,外键约束,非空约束,唯一约束,检查约束。 7.说明索引的类型与作用? 答:索引类型上分为聚集索引,非聚集索引. 其作用是加快查询速度。 8.获取某个字符字段的最后3个字符的函数是什么? 答:select substr (字段,(length(字段)-3)) from 表 9.取当前系统时间点日期(不包括年月)的SQL写法是怎样的? 答:Select substr (to_char(sysdate,’YYYYMMDDh24hh:MM:SS’),5) from dual; to_char(sysdate,’YYYYMMDDh24hh:MM:SS’) 10.返回大于等于N的最小整数值? 答:select ceil(1.5) from dual; floor(1.5) 11.将根据字符查询转换后结果,规则为:’A’转换为’男’,’B’转换为’女’,其他字符转换为’未知’,请用一个SQL语句写出。 答:select decode(字符,’A’,’男’,’B’,’女’,’未知’) from dual; 12.如何搜索出前N条记录? 答:select * from 表 where Rownum <= N;

数据库基础知识试题

数据库基础知识试题 部门____________ 姓名__________ 日期_________ 得分__________ 一、不定项选择题(每题分,共30分) 1.DELETE语句用来删除表中的数据,一次可以删除( )。D A .一行 B.多行 C.一行和多行 D.多行 2.数据库文件中主数据文件扩展名和次数据库文件扩展名分别为( )。C A. .mdf .ldf B. .ldf .mdf C. .mdf .ndf D. .ndf .mdf 3.视图是从一个或多个表中或视图中导出的()。A A 表 B 查询 C 报表 D 数据 4.下列运算符中表示任意字符的是( )。B A. * B. % C. LIKE 5.()是SQL Server中最重要的管理工具。A A.企业管理器 B.查询分析器 C.服务管理器 D.事件探察器 6.()不是用来查询、添加、修改和删除数据库中数据的语句。D A、SELECT B、INSERT C、UPDATE D、DROP 7.在oracle中下列哪个表名是不允许的()。D A、abc$ B、abc C、abc_ D、_abc 8.使用SQL命令将教师表teacher中工资salary字段的值增加500,应该使用的命 令是()。D A、Replace salary with salary+500 B、Update teacher salary with salary+500 C、Update set salary with salary+500 D、Update teacher set salary=salary+500 9.表的两种相关约束是()。C

Oracle数据库基础知识(华为内部培训资料)

课程IL001100 ORACLE数据库基础知识 ISSUE1.0 开心Java整理

目录 课程说明 (1) 课程介绍 (1) 课程目标 (1) 相关资料 (1) 第1章ORACLE数据库概述 (2) 1.1 产品概述 (2) 1.1.1 产品简介 (2) 1.1.2 基本概念 (3) 1.2 ORACLE系统结构 (4) 1.2.2 ORACLE物理结构 (4) 1.2.3 系统全局区 (6) 1.2.4 进程 (8) 1.3 存储管理 (9) 1.3.2 逻辑结构 (10) 1.3.3 表(Table) (14) 1.3.4 视图(View) (18) 1.3.5 索引(Index) (18) 1.3.6 同义词(Synonym) (19) 1.3.7 序列(Sequence) (19) 1.3.8 数据库链(Database Link) (19) 第2章管理ORACLE数据库 (21) 2.1 基本概念 (21) 2.1.1 数据字典 (21) 2.1.2 事务管理 (23) 2.1.3 数据库管理员(DBA) (24) 2.1.4 ORACLE的四种状态 (25) 2.2 SQL*Plus方式的ORACLE数据库启动和关闭 (26) 2.2.1 启动数据库 (26) 2.2.2 关闭数据库 (26) 2.3 svrmgrl方式的ORACLE数据库启动和关闭 (28) 2.3.1 启动数据库 (28) 2.3.2 关闭数据库 (30) 2.4 应用开发工具(SQL * Plus) (31) 2.4.1 SQL (32) 2.4.2 PL/SQL (33)

Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实例。( T ) 2、Oracle服务器端的监听程序是驻留在服务器上的单独进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务,非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字段列表的末尾。( T ) 20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时,自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可以访问多行。( F )

Oracle面试题库1

1 PL/SQL代表 A PROCEDURAL LANGUAGE/SQL B PROGRAM LANGUAGE SQL C POWER LANGUAGE SQL D 都不对 2 _____引擎执行PL/SQL块 A SQL B PL/SQL C ORACLE D 都不对 3 一个对象可以呈现多种形式的能力称为 A 多态 B 继承 C 封装 D 以上都不对 4 PLSQL块是由哪几个部分组成 A DECLARE BEGIN END B BEGIN END C EXCEPTION BEGIN END D DECLAR E BEGIN EXCEPTION END 5 看下面代码,正确的是 A DECLARE (‘定义部分’); BEGIN (‘语句部分’); END; B BEGIN NUM NUMBER:=100; (‘NUM 的值为:’||NUM); END; C DECLARE NUM NUMBER:=100; BEGIN NUM:=NUM+NUM/2; (‘NUM 的值为:’||NUM); END; D BEGIN NUM NUMBER:=100; DECLARE NUM:=NUM+NUM/2; (‘NUM 的值为:’||NUM); END;

6 看下面语句正确的是 A IF(N%M=0) THEN (‘这是一个偶数’); ELSEIF(N%M=1) THEN (‘这是一个奇数’); END IF; B DECLARE VAR NUMBER:=0; BEGIN VAR:=&V; CASE WHEN VAR=1 THEN (‘A’); WHEN VAR=2 THEN (‘B’); ELSE (‘O’); END CASE; END; C DECLARE I NUMBER:=0; BEGIN FOR I IN 10..20 LOOP (I); END LOOP; END; D LOOP (I); END LOOP; 7. 当在一个PLSQL块中通过查询得到一个值,但是没有任何值返回时,会产生异常吗如果产生,是什么异常? A 不会有异常,只不过没有结果而已 B 有异常,异常为No_data_found C 有异常,异常为Value_erro D 编译都不通过 8. 在PLSQL块中处理异常的语句是 A EXCEPTION IF EXCEPTION_NAME THEN (); END; B EXCEPTION WHEN EXCEPTION_NAME THEN

Oracle数据库技术课程学习大纲详细

《现代数据库技术》教学大纲 课程名称:《现代数据库技术》 课程编号:学时数:56 学分数:3.5 适应专业:计算机与信息学院所有专业 一、本课程的地位、任务和作用 现代数据库技术是计算机在数据处理应用领域中的主要内容和坚实基础;也是今后若干年内研究和应用的最活跃的分支之一。因此,信息管理、软件开发、计算机等专业的学生,特别是以应用为目标的学生都必须学习和具备数据库原理与应用的知识。本课程通过介绍Oracle数据库基本操作、体系结构与数据库基本管理使学生初步掌握大型数据库的基本原理,了解大型数据库的管理方法。了解大型数据库的管理方法,使学生熟练掌握Oracle数据库系统下的SQL语言运用及PL/SQL程序设计。 本课程是一门理论和实践相结合的课程,要求学生在完成本课程的学习以后,能够结合自己所熟悉的某一门高级语言和Oracle,开发出一个小型的数据库应用系统。 二、本课程的相关课程 本课程的先修课程为《计算机组成原理》,《离散数学》,《数据结构》,《计算机网络》及《数据库原理》等课程。 三、本课程的基本内容及要求 教学内容: 第一章数据库概述(2学时) 1、教学内容: 1.1数据库基础知识 1.2关系数据库系统 1.3 Oracle基础知识 (1)Oracle的发展历史 (2)Oracle的特点 第二章O racle体系结构(6学时) 1、教学内容: 2.1 Oracle 体系结构概述 2.2Oracle的存储结构 (1)物理存储结构 (2)逻辑存储结构 2.3Oracle的实例 (1)Oracle内存结构

(2)Oracle进程 2.4数据字典 2、教学重点:Oracle的物理结构、oracle实例、Oracle的逻辑结构 3、教学难点:数据库实例与进程 第三章O racle11g的安装(2学时) 1、教学内容: 3.1 Oracle 11g环境介绍 3.2Oracle 11g for Windows的安装 (1)安装Oracle 11g服务器 (2)Oracle 11g与Windows (3)安装Oracle 11g客户端 3.3 Oracle 11g 的卸载 2、教学重点:学会Oracle的安装 第四章O RACLE数据库管理工具及网络配置(2学时) 1、教学内容: 4.1 SQL*Plus命令 (1)设置SQL*Plus 运行环境 (2)常用SQL*Plus命令 (3)格式化查询结果 4.2 Oracle企业管理器 4.3 数据库配置助手 4.4 启动与关闭oracle实例 2、教学重点:学会使用SQL*Plus 第五章S QL语言基础(5学时) 1、教学内容: 5.1SQL简介 5.2SQL的基本语法 5.3数据查询语言 5.4数据操纵语言 5.5数据定义语言 5.6数据控制语言 5.7常用函数 5.8 事务处理 2、教学重点:数据查询语言、数据操纵语言、数据定义语言、数据控 制语言 3、教学难点:SQL的基本语法 第六章P L/SQL编程(8学时)(课本第6,7章) 1、教学内容: 6.1PL/SQL基础 (1)变量及声明 (2)数据类型 (3)表达式 (4)PL/SQL程序块结构 6.2PL/SQL控制结构

ORACLE数据库基础知识1

第一部分 Oracle数据库概念与原理 一、Oracle数据库概念 1. 数据库 数据库是一套解决信息管理问题的工具,是数据文件及处理这些数据文件的程序的集合。一个数据库系统必须实现在多用户环境下可靠地管理大量的数据,使得很多用户在并发处理时获得相同的结果,而且必须具有处理数据的高效性、可靠性、安全性和容错性,同时提供简便易用的客户端用户操作过程和应用接入。 2. Oracle数据库 Oracle数据库是采用数据库进程和应用程序分进程处理的Client/Server结构的关系型数据库,采用大型数据库的磁盘空间管理形式,支持大量用户同时操作相同的数据,实现高度可靠性、高度的安全性、高效率和在线备份机制。Oracle数据库适合于各种不同的硬件环境和不同的操作系统,且具有接口方便和控制容易的特性,并支持多点实时复制。 二、Oracle数据库原理 1. Oracle数据库的基本任务 (1)录入数据; (2)存储数据; (3)查询、处理数据

2. Oracle数据库的组成结构 Oracle按照应用情况可以分为核心数据(DATA)、操作系统(Operation System)、数据库服务器部分(Oracle Server)、Oracle SQL Server程序、Oracle工具(包括SQL*PLUS和很多像Developer 2000、designer 2000等工具)以及Oracle的各种应用。 按照Oracle的对象组成结构来看,Oracle数据库由以下几部分组成: ⑴实例(Instance):Oracle实例是一组有自己的系统全局区和与其相关数据库文件的Oracle服务器进程,每个实例都有自己的SID(系统识别符)。 ⑵对象(Object):由应用程序中的SQL语句引用的表空间、用户、表、视图、索引、权限、DBA(数据库管理员)等。 ⑶程序:也是Oracle数据库的过程,主要包括客户过程(client processes),根据用户的要求向服务器过程提出需求信息的请求;服务器过程server processes),接收用户过程发出的请求,并根据请求与数据库通信,完成对数据库中数据的处理。 ⑷文件:包括数据文件(Datafile),存放所有数据库有关的数据。 日志文件(Log File),也称重演日志文件(Redo Logs File)或事务记录文件(Trasaction Log File),记录针对数据库进行的修改操作或各种事务,节省数据库直接操作数据文件的时间和次数,提高处理效率。 控制文件(Control File),存放与Oracle数据库所有文件均相关的关键信息,Oracle数据库通过控制文件保持数据的一致性,以及恢复数据时使用哪些重演日志。 每个数据库至少应该有两个以上的控制文件和日志文件备份。 ⑸内存结构 Oracle的内存结构SGA主要是一个通信器,它是一块存放系统信息的内存区域,使得通信过程尽量能够在内存中处理, 达到快速度、高效率。所有用户进程和服务器进程都能够访问这个内存结构。SGA区主要分为四块: ① Data Buffer Cache(数据高速缓冲区)中存放着Oracle最近使用过的数据库数据块,当用户一次访问数据时,用户进程从物理磁盘中读取数据后将其放在这个高速缓冲区,下一次或其他用户访问时从缓冲区读取,Oracle数据库根据数据被访问的频度和缓冲区的物理大小通过相应的HASH算法将经常访问的数据保留,而去除不经常访问的数据块。 ② Dictionary Cache(Row Cache,字典高速缓冲区)用于保存数据字典中的行,数据字典中存放Oracle系统管理时需要的所有信息,这些信息包括:访问Oracle数据库的用户以及他们访问哪些数据库对象和这些对象所放的位置等。 ③ Redo Log Cache(Transaction Log Cache,即重演日志缓冲区),任何需要事务在写入到重演日志之前首先放到缓冲区中,然后定期将其写入到重演日志。 ④ Share SQL Pool(共享SQL池)相当于程序高速缓冲区,所有用户的经过语法分析的、准备执行的SQL语句都放在此共享池中。 3. Oracle数据库的数据处理流程

Oracle数据库基本数据类型

oracle基本数据类型

oracle 数据库中讨论char ,varchar ,varchar2 数据类型! 这3种字符串数据类型是我们使用最多的,我们在数据库设计时到底该怎么使用了? 首先我们先来分析3个数据类型的说明: 1。char CHAR的长度是固定的,最长2000个字符。 2。varchar 和 varchar2 可以肯定的是oracle中目前是可以使用varchar数据类型的,但他们的区别我查了不少资料也没有找到一个准确的答案最常见的说话是说oracle中的varchar只是varchar2的别名也就是同义词。 其次也有人认为varchar是最大长度为2000的可变字符串(和sql server中的varchar一致),而varchar2最大长度为4000。 知道了他们的特点我们就来讨论下使用区别 1.char和varchar、varchar2 由于varchar和varchar2用途类似,我们先来讨论char和他们的使用区别: varchar和varchar2比char节省空间,在效率上比char会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的

‘以空间换效率’。 varchar和varchar2虽然比char节省空间,但是如果一个varchar和varchar2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用char代替varchar和varchar2会更好一些。 当然还有一种情况就是象身份证这种长度几乎不变的字段可以考虑使用char,以获得更高的效率。 2。varchar和varchar2 这里就进入重点了,前面的区别我们在sql server中我们已经基本了解了,大家可能都知道,最多也就是复习下,但oracle增加了一个varchar2类型,是大家以前所没有用到过的。 因为oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar,还有其他数据中一般都有varchar这个数据类型。 所以我得出了以下结论: 如果想在oracle新版本的数据库兼容就不要用varchar,如果想和oracle 之外其他数据库兼容就不要用varchar2。 ORACLE中的数据类型分类 ORACLE中的数据类型不可谓不多,下面把我这两天来的学习体会写一下吧! 1、字符数据类型:包括我CHAR,VARCHAR2,LONG。 CHAR型可以存储字母数字值,这种数据类型的 列长度可以是1到2000个字节。如果未指明,则默认其占用一个字节,如果用户输入的值小于指定的长度,数据库则用空格填充至固定长度。 VARCHAR2型其实就是VARCHAR,只不过后面多了一个数字2,VARCHAR2就是VARCHAR的同义词,也称别名。数据类型大小在1至4000个字节,但是和CHAR不同的一点是:当你定义了VARCHAR2长度为30,但是你只输入了10个字符,这时VARCHAR2不会像CHAR一样填充,在数据库中只有10具字节。

相关主题