实施工程师的数据库技术题

常规技术面试题(数据库)

  1. 触发器的作用?

它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。

  1. 什么是存储过程?用什么来调用?

存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个“execute 存储过程名 参数”命令来调用存储过程。

  1. 索引的作用?和它的优点缺点是什么?。

数据库的搜索引擎可以利用它加速对数据的检索。

索引可以是唯一的,创建索引允许指定单个列或者是多个列。

缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

  1. 主键和索引的区别?

1.主键时为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,主键也是一个特殊索引; 

2.数据表中只允许有一个主键,但是可以有多个索引; 

3.使用主键数据库会自动创建主索引,也可以在非主键上创建索引,方便查询效率; 

4.索引可以提高查询速度,它就相当于字典的目录,可以通过它很快查询到想要的结果,而不需要进行全表扫描; 

5.唯一索引则标识该索引值唯一,可以由一个或几个字段组成,一个表可以有多个唯一索引

  1. 什么是内存泄漏?

一般我们所说的内存泄漏指的是堆内存的泄漏。当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后由于某种原因程序未释放或无法释放,造成系统内存的浪费。导致程序运行速度减慢甚至系统崩溃等严重后果

  1. 维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么?

我是这样做的,尽可能使用约束,如check,主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。

  1. 什么是事务?

事务就是被绑定在一起作为一个逻辑工作单元的SQL语句组,如果任何一个语句操作失败那么整个操作就被失败,进而回滚到操作前状态,或者是上个节点。为了确保要么执行,要么不执行,就可以使用事务。要将一组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。

  1. 什么是锁?

在所有的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。

  1. 什么叫视图?

视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,视图通常是由一个表或者多个表的行或列的子集。它使得我们获取数据更容易,相比多表查询。

  1. 视图创建和使用语法?

1.首先判断是否存在

if exists (select * from sysobjects where name = '视图名')

drop view View_EdsProd

Go

2.    创建视图

create view View_EdsProd as select * from Tab_EdsProd where Mid>1(条件) go

3.    使用视图

select *from View_EdsProd

  1. 游标是什么?

游标是SQL 的一种数据访问机制。可以将游标简单的看成是查询的结果集的一个指针,可以根据需要在结果集上面来回滚动,浏览需要的数据。

  1. 你能向我简要叙述一下SQL Server 中使用的一些数据库对象吗?

表、索引、视图、存储过程、触发器、用户定义函数、数据库关系图、全文索引。

  1. NULL是什么意思?

NULL()这个值表示UNKNOWN(未知):它不表示“”(空字符串)。不能把任何值与一个 UNKNOWN值进行比较,都会生产一个NULL值。您必须使用IS NULL操作符。

  1. 什么是索引,有哪些索引,具体怎么用?

索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。索引包含由表或视图中的一列或多列生成的键。这些键存储在一个结构(B 树)中,使 SQL Server 可以快速有效地查找与键值关联的行。

索引分为聚集索引和非聚集索引。

在数据库系统中建立索引主要有以下作用ÿ

  • 13
    点赞
  • 129
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值