SQL Server笔试准备 Day2

今天着重整理一下SQL Server的理论基础

一、各概念的自我理解(参考:http://www.cnblogs.com/wuzhiming/p/3629589.html)

定义都比较长,面试时也不可能记的全,要有理解,试着用一两句话概括一下各个概念

1、触发器:一种根据条件(事件)执行的存储过程,在项目中没用过,一般业务逻辑用程序来控制,数据库尽量只使用数据存储,不进行业务逻辑。

2、存储过程:一段预编译的SQL语句,因为编译过,所以执行起来比普通SQL快。在项目中主要用于一连串事务性的操作

3、索引:假设一本字典是按拼音排序,目录有拼音和笔划。索引就像目录,聚焦索引就像拼音索引,是物理上有序的,比如我要查L开头的,就知道大概在字典的中部,一张表只有一个聚焦索引,一般是主键。非聚焦索引就像笔划目录,也可以很方便查到相应数据,但物理上是无序的。索引会增加存储空间和降低数据修改的速度,但一般业务上都是对查询的速度要求高,对编辑的速度没那么敏感,而且现在存储设备价格低廉,空间不是问题。

4、约束:数据库有很多约束功能,非空、唯一、主外键、check、触发器等。一般除了必要的一些约束,尽量让数据库只进行数据的存取,不进行太多业务上的逻辑处理。因为业务逻辑不断变化,各项目也可能要共用数据库。

5、事务:有ACID特性(原子性、一致性、隔离性、持久性),要么全成功要么全失败,一般用于转账、出入库等

6、锁:锁定库、表、字段,有各种锁(表锁、行锁、共享锁、更新锁、排它锁等),比较细,有机会再仔细研究一下。项目中常用到的是WITH(NOLOCK),这样不受并发修改的锁影响,但数据可能不准确。

7、视图:把多表连接成一张表。项目中如果有固定的多表连接,可以做成视图,一般还是在程序中处理。

8、游标:像指针一样对查询结果集进行一行一行的处理,一行处理完指向下一行。性能比较差,有时逐条处理数据时会用到。Ado.Net的DataReader就是相当于一个向前只读的游标。只不过DataReader不过把结果集预先全查出来,所以对大数据性能比较好,而指针是要把结果集先查出来,再对结果集一行行处理(不知理解的对不对)

9、NULL:DECLARE @i=INT; 此时@i的值是NULL,而不像C#是0。。。有时没注意会被坑。SQL的可空类型对应的C#是<NULLABLE>,另外,NULL和‘‘(空字符串)是不一样的,而且只能用 IS NULL来判断,=NULL是无效的(但不报错。。。也是一个大坑),为了保险,项目中经常用 ISNULL(xx,‘‘)=‘‘ 之类的进行判断

10、主键外键:由于主键一般聚焦索引,常用自增长ID作主键,插入记录后可用@@IDENTITY获取插入新行的主键值。外键一般用于一对多,比如一个读者,其名下的借书记录。

二、各函数

太基本的函数就不列了,整理一些比较常用的

1、NEWID():获取GUID,配合ABS(CHECKSUM(NEWID())),可以在循环中获取随机数

2、RAND():获取随机数,但在循环中只会产生一个,要用NEWID()

3、

时间: 2024-10-13 23:21:18

SQL Server笔试准备 Day2的相关文章

关于SQL SERVER数据库学习总结

对于SQL SERFVER数据库也学了有一阵子了,自己也对自己所学做了一些总结. 我们首先学习数据库设计的一些知识点和用SQL语句建库. 设计数据库步骤:需求分析阶段,概要设计阶段,详细设计阶段, 建数据库的SQL语句如下(包含了如果有该数据库先删除在建立数据库) use masterGOif exists(select * from sysdatabases where name='Wages')DROP database WagesCREATE DATABASE Wages ON (  NA

(转)SQL Server创建索引

什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音.笔画.偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词).同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度.? SQL Server中的数据也是按页( 4KB )存放? 索引:是SQL Server编排数据的内部方法.它为

SQL Server创建存储过程(转载)

什么是存储过程? q       存储过程(procedure)类似于C语言中的函数 q       用来执行管理任务或应用复杂的业务规则 q       存储过程可以带参数,也可以返回结果 q       存储过程可以包含数据操纵语句.变量.逻辑 控制语句等 存储过程的优点 (1)执行速度快. 存储过程创建是就已经通过语法检查和性能优化,在执行时无需每次编译. 存储在数据库服务器,性能高. (2)允许模块化设计. 只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次.存储

SQL Server 编程入门

一.T—SQL 的组成 1.DML(数据操作语言 Data Manipulation Language) 查询.插入.删除和修改数据库中的数据.SELECT.INSERT.UPDATE.DELETE 等: 2.DCL(数据控制语言 Data Control Language) 用来控制存取许可.存取权限等.GRANT.REVOKE 等. 3.DDL(数据定义语言 Data Definition Language) 用来建立数据库.数据库对象和定义其列.CREATE TABLE .DROP TAB

SQL Server创建存储过程

什么是存储过程? q 存储过程(procedure)类似于C语言中的函数 q 用来执行管理任务或应用复杂的业务规则 q 存储过程可以带参数,也可以返回结果 q 存储过程可以包含数据操纵语句.变量.逻辑 控制语句等 存储过程的优点 (1)执行速度快. 存储过程创建是就已经通过语法检查和性能优化,在执行时无需每次编译. 存储在数据库服务器,性能高. (2)允许模块化设计. 只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次.存储过程可由在数据库编程方面有专长的人员创建,并可独

SQL Server创建索引

什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音.笔画.偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词). 同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度. • SQL Server中的数据也是按页( 4KB )存放 • 索引:是SQL Server编排数据的内部方

SQL Server创建表

在上篇文章已创好的数据库的基础上,我们继续创建数据表. T-SQL创建数据库的语法如下: CREATE TABLE 表名 ( 字段名1 数据类型 约束, 字段名1 数据类型 约束, … ) 首先是创建学员信息表stuInfo,这里有些小细节:IDENTITY(起始值,递增量)所在列为标识列,NUMERIC (18,0)代表18位数字,小数位数为0. USE stuDB --将当前数据库设置为stuDB GO IF EXISTS(SELECT * FROM sysobjects WHERE nam

SQL Server创建索引(转)

什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音.笔画.偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词). 同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度. ?????????? SQL Server中的数据也是按页( 4KB )存放 ?????????? 索引:是

SQL Server 2008的MSSQLSERVER 请求失败或服务未及时响应

我的是SQL server 2008R2, 以前可以正常的启动SQL server(SQLEXPRESS).SQL server(MSSQLSERVER),有几天没有打开了,就在昨天 开机之后就无法启动MSSQLSERVER了,提示的信息如下图: 快速解决办法如下: 第一步:打开事件查看器,查看windows日志,点击应用程序,查看windows错误日志 http://product.pconline.com.cn/itbk/software/win8/1211/3060037.html 第二步