数据库面试题及答案

面试是通过书面、面谈或线上交流(视频、电话)的形式来考察一个人的工作能力与综合素质,通过面试可以初步判断应聘者是否可以融入自己的团队。是一种经过组织者精心策划的招聘活动。在特定场景下,以面试官对应聘者的交谈与观察为主要手段,由表及里测评应聘者的知识、能力、经验和综合素质等有关素质的考试活动。面试是公司挑选职工的一种重要方法。

Oracle数据库的面试题目及答案

标签:综合指导 时间:2021-02-05
【yjbys.com - 综合指导】

  基础题目:

  1. 比较truncate和 命令

  解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要 rollback segment .

  而Delete是DML操作, 需要rollback segment 且花费较长时间.

  【相同点

  truncate和不带where子句的, 以及drop都会删除表内的数据

  不同点:

  1. truncate和 只删除数据不删除表的结构(定义)

  drop语句将删除表的结构被依赖的'约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,

  但是变为invalid状态.

  2.语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.

  truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.

  3.语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动

  显然drop语句将表所占用的空间全部释放

  truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始).

NIIT认证数据库面试题及答案

标签:NIIT认证 时间:2020-09-25
【yjbys.com - NIIT认证】

  1. 存储过程和函数的区别

  存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。

  2. 事务是什么?

  事务是作为一个逻辑单元执行的'一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:

  原子性

  事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

  一致性

  事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。

  隔离性

  由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。

  持久性

  事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

  3. 游标的作用?如何知道游标已经到了最后?

  游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。