专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 职业指南 2023年最新oracle面试题及答案

2023年最新oracle面试题及答案

更新时间:2022-12-20 14:17:48 来源:星辉 浏览1626次

网上有很多的oracle相关面试题,但不少都是没有答案的,需要我们花费更多的时间去收集,本套oracle面试题大全,总结了一些常见的题目汇总。

oracle面试题及答案

1:delete 与Truncate区别?

1)Truncate 是DDL 语句,DELETE 是DML语句。

2) Truncate 的速度远快于DELETE;

原因是: 当执行DELETE操作时所有表数据先被COPY到回滚表空间,数据量不同花费时间长短不一。而TRUNCATE 是直接删除数据不进回滚表空间。

3) delete 数据可以运行Rollback 进行数据回滚。而Truncate 则是永久删除不能回滚。

4) Truncate 操作不会触发表上的delete触发器,而delete 会正常触发。

5) Truncate 语句不能带where 条件意味着只能全部数据删除,而DELETE可带where 条件进行删除数据。

6) Truncate 操作会重置表的高水位线(High Water Mark),而delete 不会。

2:集合操作符

Union : 不包含重复值,默认按第一个查询的第一列升序排列。

Union All : 完全并集包含重复值。不排序。

Minus 不包含重复值,不排序。

3:什么是第一、二、三、BC范式?

越高的范式冗余越小。应用数据库范式的目的:为了消除重复数据减少数据冗余。

1) 第一范式(1NF):原子件,要求每一列的值不能再拆分了。(属性不可分)

2) 第二范式(2NF): 一张表只描述一个实体(若列中有冗余数据,则不满足)(要求数据库表中的每个实体或记录必须可以被唯一区分,选取一个能区分每个实体的属性或属性组,作为实体的唯一标识)

3)第三范式(3NF): 所有列与主键值直接相关。(消除了冗余,更新异常、插入异常和删除异常)

(学号)——>(姓名,年龄,所在学院,学院地点,学院电话)

4) 巴斯-科德范式(BCNF):在第三范式的基础上,数据库表如果不存在任何字段对任一候选关键字段的传递函数依赖则符合BCNF.

4:事务的特性(ACID)是指什么?

1)原子性(Atomic): 事务中的各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败。

2) 一致性(Consistent): 事务结束后系统状态是一样的。

3)隔离性(Isolated): 并发执行的事务彼此无法看到对方的中间状态。

4) 持久性(Durable):事务完成后,即使发生灾难性故障,通过日志和同步备份可以在故障发生后重建数据。

5:Mysql数据库与Oracle 数据库有什么区别?

1,应用方面,Mysql 是中小型应用的数据库。一般用于个人和中小型企业。Oracle 属于大型数据库,一般用于具有相当规模的企业应用。

2, 自动增长的数据类型方面: MySQL有自动增长的数据类型。Oracle 没有自动增长的数据类型。需要建立一个自增序列。

3,group by 用法: Mysql 中group by 在SELECT 语句中可以随意使用,但在ORACLE 中如果查询语句中有组函数,那么其他列必须是组函数处理过的或者是group by子句中的列,否则会报错。

4,引导方面: MySQL中可以用单引号、双引号包起字符串,Oracle 中只可以用单引号包起字符串

6:Oracle跟SQL Server 2005的区别?

宏观上:

1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windows平台的稳定性和安全性影响了sql server的稳定性和安全性

2). oracle使用的脚本语言为PL-SQL,而sql server使用的脚本为T-SQL

微观上: 从数据类型,数据库的结构等等回答

7:如何使用Oracle的游标?

1). oracle中的游标分为显示游标和隐式游标

2). 显示游标是用cursor...is命令定义的游标,它可以对查询语句(select)返回的多条记录进行处理;隐式游标是在执行插入 (insert)、删除(delete)、修改(update)和返回单条记录的查询(select)语句时由PL/SQL自动定义的。

3). 显式游标的操作:打开游标、操作游标、关闭游标;PL/SQL隐式地打开SQL游标,并在它内部处理SQL语句,然后关闭它

8:Oracle中function和procedure的区别?

1). 可以理解函数是存储过程的一种

2). 函数可以没有参数,但是一定需要一个返回值,存储过程可以没有参数,不需要返回值

3). 函数return返回值没有返回参数模式,存储过程通过out参数返回值, 如果需要返回多个参数则建议使用存储过程

4). 在sql数据操纵语句中只能调用函数而不能调用存储过程

以上就是“2023年最新oracle面试题及答案”,你能回答上来吗?如果想要了解更多的Java面试题相关内容,可以关注星辉Java官网。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>