1. 游标是什么?
游标是SQL 的一种数据访问机制。可以将游标简单的看成是查询的结果集的一个指针,可以根据需要在结果集上面来回滚动,浏览需要的数据。
2. 你能向我简要叙述一下SQL Server 中使用的一些数据库对象吗?
表、索引、视图、存储过程、触发器、用户定义函数、数据库关系图、全文索引。
3. NULL是什么意思?
NULL(空)这个值表示UNKNOWN(未知):它不表示“”(空字符串)。不能把任何值与一个 UNKNOWN值进行比较,都会生产一个NULL值。您必须使用IS NULL操作符。
4. 什么是索引,有哪些索引,具体怎么用?
索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。索引包含由表或视图中的一列或多列生成的键。这些键存储在一个结构(B 树)中,使 SQL Server 可以快速有效地查找与键值关联的行。
索引分为聚集索引和非聚集索引。
在数据库系统中建立索引主要有以下作用:
(1)快速取数据;
(2)保证数据记录的唯一性;
(3)实现表与表之间的参照完整性;
(4)在使用ORDER by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间。
5. SQL Server 里有什么类型的索引?
在SQL Server里,它们有两种形式:聚集索引和非聚集索引。聚集索引在索引的叶级保存数据。每个表格只会有一个聚集索引。非聚集索引在索引的叶级有一个行标识符。每个表格有多个非聚集索引。
6. 什么是主键?
主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的。
7. 什么是外键?
外键是一个用来建立两个表格之间关系的约束。这种关系一般都涉及一个表格里的主键字段与另外一个表格(可能是同一个表格)里的一系列相连的字段。那么这些相连的字段就是外键。
8. 什么是触发器?
触发器是一种专用类型的存储过程,它被捆绑到SQL Server 的表格或者视图上。
9. SQL Server 有什么不同类型的触发器?
有INSTEAD-OF和AFTER两种触发器。例如,如果有一个用于TableA的INSTEAD-OF-UPDATE触发器,同时对这个表格执行更新语句,那么INSTEAD-OF-UPDATE触发器里的代码会执行,而不是执行更新语句则不会执行操作。AFTER触发器要在DML语句在数据库里使用之后才执行。这些类型的触发器对于监视发生在数据库表格里的数据变化十分好用。
10. 您如何确保一个带有名为Fld1字段的TableB表格里只具有Fld1字段里的那些值,而这些值同时在名为TableA的表格的Fld1字段里?
第一个答案是使用外键限制。外键限制用来维护引用的完整性。它被用来确保表格里的字段只允许有已经在另一表格里的某个字段里定义了的值。通常是另外一个表格的主键。
另外一种答案是触发器。触发器可以被用来保证以另外一种方式实现与限制相同的作用,但是它非常难设置与维护,而且性能一般都很糟糕。