我要投稿 投诉建议

Database工程师面试试题

时间:2022-08-04 06:11:03 面试试题 我要投稿
  • 相关推荐

Database工程师面试试题

  1、什么是SQL Server的确定性函数和不确定性函数

Database工程师面试试题

  只要使用特定的输入值集并且数据库具有相同的状态,不管何时调用,始终都能范围相同结果的函数叫确定性函数。

  几十访问的数据库的状态不变,每次书用特定的输入值都可能范围不同结果的函数叫非确定性函数。

  2、主键(Primary Key)约束和唯一性(UNIQUE)约束的区别

  一个表只能由一个主键,一个表可以有很多个唯一键(UNIQUE Key)

  主键不允许有null值,UNIQUE允许null值

  3、什么是唯一索引

  唯一索引可以确保索引列不包含重复的值。在多列唯一索引的情况下,该索引可以确保索引列中每个值组合都是唯一的。例如,如果在 last_name、first_name 和 middle_initial 列的组合上创建了唯一索引 full_name,则该表中任何两个人都不可以具有相同的全名。

  聚集索引和非聚集索引都可以是唯一的。因此,只要列中的数据是唯一的,就可以在同一个表上创建一个唯一的聚集索引和多个唯一的非聚集索引。

  只有当唯一性是数据本身的特征时,指定唯一索引才有意义。如果必须实施唯一性以确保数据的完整性,则应在列上创建 UNIQUE 或 PRIMARY KEY 约束,而不要创建唯一索引。例如,如果打算经常查询雇员表(主键为 emp_id)中的社会安全号码 (ssn) 列,并希望确保社会安全号码的唯一性,则在 ssn 列上创建 UNIQUE 约束。如果用户为一个以上的雇员输入了同一个社会安全号码,则会显示错误。

  4、Oracle中delete,truncate和drop的区别

  Delete命令用来删除表的全部或者一部分数据行,执行delete之后,用户需要提交(commmit)或者回滚(rollback) transaction 来执行删除或者撤销删除, delete命令会触发这个表上所有的delete触发器。

  Truncate删除表中的所有数据, 这个操作不能回滚,也不会触发这个表上的触发器,TRUNCATE比delete更快,占用的空间更小。

  Drop命令从数据库中删除表, 所有的数据行,索引和权限也会被删除,所有的DML触发器也不会被触发,这个命令也不能回滚。

【Database工程师面试试题】相关文章:

java工程师面试题09-25

Python工程师面试试题09-26

网络工程师面试试题09-25

软件工程师面试试题09-26

Linux运维工程师面试题08-05

软件测试工程师面试试题08-06

网管系统维护工程师面试题09-25

应用系统开发工程师面试试题08-04

面试试题精选08-08

外包公司软件测试工程师面试试题08-10