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...

面试题 相关文章推荐
介绍一下Java的安全机制
Jun 28 面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 面试题
C++:memset ,memcpy和strcpy的根本区别
Apr 27 面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 面试题
Linux内核产生并发的原因
Nov 08 面试题
介绍一下linux的文件权限
Jul 20 面试题
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
Mar 23 面试题
Java基础面试题
Jul 19 面试题
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
Jul 02 面试题
META-INF文件夹中的MANIFEST.MF的作用
Jun 21 面试题
ruby如何进行集成操作?Ruby能进行多重继承吗?
Oct 16 面试题
Delphi工程师笔试题
Sep 21 面试题
数据库什么时候应该被重组
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
德生S2000电路分析
2021/03/02 无线电
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
javascript判断单选框或复选框是否选中方法集锦
2007/04/04 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
JavaScript实现简单音乐播放器
2020/04/17 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
Python中处理时间的几种方法小结
2015/04/09 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
Numpy掩码式数组详解
2018/04/17 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
Python创建数字列表的示例
2019/11/28 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
中国最大隐形眼镜网上商城:视客眼镜网
2016/10/30 全球购物
奖学金自我鉴定范文
2013/10/03 职场文书
给交警的表扬信
2014/01/12 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
个人自我剖析材料
2014/09/30 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
python引入其他文件夹下的py文件具体方法
2021/05/23 Python
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS