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

1.触发器的作用?

触发器是一个特殊的存储过程,主要通过是件来触发而执行的。它可以强化约束,来维护数据的完整性和一致性,同时也可以联级运算

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

存储过程是一个预编译的SQL语句,有点允许模块化的设计,就是说只需要创建一次,以后的程序中就可以调用多次

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

索引就是一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索,缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小

4.主键和索引的区别?

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

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

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

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

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

5.什么是内存泄漏?

一般我们所说的内存泄漏指得是堆内存的泄漏。当应用程序关键字new等创建对象时,就从堆中为它分配一块内存,使用完后因为某种原因程序未释放或者无法释放,造成系统内存的浪费

 6.什么是事务?

事务就是被绑定在一起作为一个逻辑工作单元的SQL语句组,要将一组语句作为事务考虑,需要ACID测试,即原子性、一致性,隔离性和持久性

7.什么是锁?

在所有的DBMS中。锁是实现事务的关键,锁可以保证事务的完整性和并发性

8.什么是视图

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

9.游标识什么?

游标是SQL的一种数据访问机制。

10.SQL Server中使用的一些数据库对象有哪些?

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

11.NULL是什么意思?

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

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

索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。索引分为聚集索引和非聚集索引。

索引的作用:1.快速取数据 2.保证数据记录的唯一性 3.实现表与表之间的参照完整性4.在使用oreder by、group by子句进行数据检索,利用索引可以减少排序和分组的时间

13.SQL Server 里面有什么类型的索引

在SQL Server里,它们有两种索引分为聚集索引和非聚集索引,聚集索引在索引的叶级保存数据,每个表格只会有一个聚集索引。非聚集索引在叶级有一个行里标识符,每个表格有多个非聚集索引

14.什么是主键

主键是表格里的(一个或者多个字段),只能来定义表格里的行;主键表格的值总是唯一的

15.什么是外建

外建就是两个表给之间关系的约束,一般涉及到一个表格里的主键字段与另外一个表格(或者同一个表格)的一系列相连的字段,那么这些相连的字段就是外建

16.什么是触发器

触发器是一种专用类型的存储过程,它捆绑在SQL sever的表格或者视图上

17. SQL Sever有什么不同类型的触发器

有instead of与after两种触发器,after触发器对监视发生在数据库表格里数据变化十分好用

18.对一个投入使用的在线事务处理表格有过多索引需要有什么样的性能考虑?

对一个表格的索引越多,数据库引擎用来更新、插入或删除数据所用的时间就越多,因为在数据控发什么的时候索引必须要维护

19.概述存储过程及其优缺点

存储过程是预编译的sql语句,编译后可以多次使用

优势:响应时间上有优势,可以给我们带来运行效率提高的好处,且使用存储过程的系统更稳定

缺点:维护性差,对于简单的sql语句没有什么好处,并且进行调试比较困难

20.什么是相关子查询?如何使用这些查询?

相关子查询是一种包含子查询的特性类型的查询。查询包含的子查询会请求外部查询的值,相当形成一个类似循环状况

21.什么是SQL注入式攻击

所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意SQL命令

22.如何防范SQL注入式攻击

1.只要利用表单输入的内容构造SQL命令之前,把所有输入的内容过滤一遍

2.对于动态构造SQL查询场合(使用替换单引号、删除用户输入内容的所有连字符、对执行查询的数据账号,限制其权限)

3.用存储执行来查询所用的查询

4.限制表单或查询字符串输入的长度

5.检查用户输入的合法性,确信输入的内容只包含合法的数据

6.将用户登录的名称,密码进行加密保存

7.检查提取数据的查询所有返回的记录数量

23.默认的系统数据库有哪些?

1.master数据库(主) 2.tempdb数据库(临时)3.model数据库(模版)4.msdb数据库(计划任务)

24.默认创建一个数据库,会生成哪些文件?

1.主文件(mdf)2.日志文件(ldf)3.无次要文件(ndf)

25.创建数据库是,能不能把数据库文件和日志文件分离

可以分开,起到优化,把数据文件放到高速读写区,把日志文件放到低速写区。、

26.什么是索引覆盖查询?

索引覆盖是指数据通过索引获取,而不是接触表

27.存储过程和触发器的区别?

主要区别在于触发器的运行方式。存储过程必须有用户、应用程序或者触发器显示调用并执行,而触发器是当特定的时间出现,自动执行或者激活的与连接用数据库中的用户、或者应用程序无关

28.存储过程和函数的区别?

1.对于存储过程来说可以返回参数,而函数只能返回值或者表对象

2.函数必须有返回值,存储过程可有可无

3.存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一部分来调用

29.聚集索引和非聚集索引区别?

聚集索引,数据按索引顺序存储,中心节点存储真实的物理数据

非聚集索引,存储指向真正数据行的指针

30.索引的优缺点,什么时候,什么时候不能使用索引?

1.索引最大的好处是提高查询速度

2.缺点是更新数据是效率低,因为更新索引

3.对数据进行频繁查询进建立索引,如果要频繁更改数据不建议使用索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值