SQL面试题


Posted in 面试题 onDecember 09, 2013
你能向我简要叙述一下SQL Server 2000中使用的一些数据库对象吗?

你希望听到的答案包括这样一些对象:表格、视图、用户定义的函数,以及存储过程;如果他们还能够提到像触发器这样的对象就更好了。如果应聘者不能回答这个基本的问题,那么这不是一个好兆头。

NULL是什么意思?

NULL(空)这个值是数据库世界里一个非常难缠的东西,所以有不少应聘者会在这个问题上跌跟头您也不要觉得意外。

NULL这个值表示UNKNOWN(未知):它不表示“”(空字符串)。假设您的SQL Server数据库里有ANSI_NULLS,当然在默认情况下会有,对NULL这个值的任何比较都会生产一个NULL值。您不能把任何值与一个 UNKNOWN值进行比较,并在逻辑上希望获得一个答案。您必须使用IS NULL操作符。

什么是索引?SQL Server 2000里有什么类型的索引?

任何有经验的数据库开发人员都应该能够很轻易地回答这个问题。一些经验不太多的开发人员能够回答这个问题,但是有些地方会说不清楚。

简单地说,索引是一个数据结构,用来快速访问数据库表格或者视图里的数据。在SQL Server里,它们有两种形式:聚集索引和非聚集索引。聚集索引在索引的叶级保存数据。这意味着不论聚集索引里有表格的哪个(或哪些)字段,这些字段都会按顺序被保存在表格。由于存在这种排序,所以每个表格只会有一个聚集索引。非聚集索引在索引的叶级有一个行标识符。这个行标识符是一个指向磁盘上数据的指针。它允许每个表格有多个非聚集索引。

什么是主键?什么是外键?

主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的。外键是一个用来建立两个表格之间关系的约束。这种关系一般都涉及一个表格里的主键字段与另外一个表格(尽管可能是同一个表格)里的一系列相连的字段。那么这些相连的字段就是外键。

什么是触发器?SQL Server 2000有什么不同类型的触发器?

让未来的数据库开发人员知道可用的触发器类型以及如何实现它们是非常有益的。

触发器是一种专用类型的存储过程,它被捆绑到SQL Server 2000的表格或者视图上。在SQL Server 2000里,有INSTEAD-OF和AFTER两种触发器。INSTEAD-OF触发器是替代数据操控语言(Data Manipulation Language,DML)语句对表格执行语句的存储过程。例如,如果我有一个用于TableA的INSTEAD-OF-UPDATE触发器,同时对这个表格执行一个更新语句,那么INSTEAD-OF-UPDATE触发器里的代码会执行,而不是我执行的更新语句则不会执行操作。

AFTER触发器要在DML语句在数据库里使用之后才执行。这些类型的触发器对于监视发生在数据库表格里的数据变化十分好用。

您如何确一个带有名为Fld1字段的TableB表格里只具有Fld1字段里的那些值,而这些值同时在名为TableA的表格的Fld1字段里?

这个与关系相关的问题有两个可能的答案。第一个答案(而且是您希望听到的答案)是使用外键限制。外键限制用来维护引用的完整性。它被用来确保表格里的字段只保存有已经在不同的(或者相同的)表格里的另一个字段里定义了的值。这个字段就是候选键(通常是另外一个表格的主键)。

另外一种答案是触发器。触发器可以被用来保证以另外一种方式实现与限制相同的作用,但是它非常难设置与维护,而且性能一般都很糟糕。由于这个原因,微软建议开发人员使用外键限制而不是触发器来维护引用的完整性。

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

你正在寻找进行与数据操控有关的应聘人员。对一个表格的索引越多,数据库引擎用来更新、插入或者删除数据所需要的时间就越多,因为在数据操控发生的时候索引也必须要维护。

你可以用什么来确保表格里的字段只接受特定范围里的值?

这个问题可以用多种方式来回答,但是只有一个答案是“好”答案。您希望听到的回答是Check限制,它在数据库表格里被定义,用来限制输入该列的值。

触发器也可以被用来限制数据库表格里的字段能够接受的值,但是这种办法要求触发器在表格里被定义,这可能会在某些情况下影响到性能。因此,微软建议使用Check限制而不是其他的方式来限制域的完整性。

如果应聘者能够正确地回答这个问题,那么他的机会就非常大了,因为这表明他们具有使用存储过程的经验。

返回参数总是由存储过程返回,它用来表示存储过程是成功还是失败。返回参数总是INT数据类型。

OUTPUT参数明确要求由开发人员来指定,它可以返回其他类型的数据,例如字符型和数值型的值。(可以用作输出参数的数据类型是有一些限制的。)您可以在一个存储过程里使用多个OUTPUT参数,而您只能够使用一个返回参数。

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

经验更加丰富的开发人员将能够准确地描述这种类型的查询。

相关子查询是一种包含子查询的特殊类型的查询。查询里包含的子查询会真正请求外部查询的值,从而形成一个类似于循环的状况。

Tags in this post...

面试题 相关文章推荐
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
May 24 面试题
说出ArrayList,Vector, LinkedList的存储性能和特性
Jan 04 面试题
局部内部类是否可以访问非final变量?
Apr 20 面试题
C语言如何决定使用那种整数类型
Nov 26 面试题
SQL Server笔试题
Jan 10 面试题
一个SQL面试题
Aug 21 面试题
请解释一下webService? 如何用.net实现webService
Jun 09 面试题
.NET概念性的面试题
Feb 29 面试题
逻辑链路控制协议
Oct 01 面试题
如何开发一个JQuery插件
Jul 28 面试题
介绍一下mysql的日期和时间函数
Mar 28 面试题
线程问题:wait()方法是定义在哪个类里面
Jul 07 面试题
数据库什么时候应该被重组
Nov 02 #面试题
写一个在SQL Server创建表的SQL语句
Mar 10 #面试题
介绍一下Transact-SQL中SPACE函数的用法
Sep 01 #面试题
Oracle快照(snapshot)
Mar 13 #面试题
什么是数据抽象
Nov 26 #面试题
什么是Rollback Segment
Apr 22 #面试题
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
Apr 03 #面试题
You might like
如何对PHP程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
PHP 变量的定义方法
2010/01/26 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
js时间日期格式化封装函数
2014/12/02 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
JavaScript引用类型Array实例分析
2018/07/24 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
Vue SPA 初次进入加载动画实现代码
2019/11/14 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
python递归打印某个目录的内容(实例讲解)
2017/08/30 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
Python实现图片添加文字
2019/11/26 Python
Python可以用来做什么
2020/11/23 Python
香港通票:Hong Kong Pass
2019/02/26 全球购物
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
STP的判定过程
2012/10/01 面试题
质检员岗位职责
2013/12/17 职场文书
校园歌手大赛策划书
2014/01/17 职场文书
大学生毕业自我鉴定范文
2014/02/03 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
2015年入党决心书
2015/02/05 职场文书
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers