内容简介
第1篇 安装配置
第1章 安装SQL Server 2008
1.1 SQL Server 2008的版本和组件
1.1.1 SQL Server 2008的服务器版本
1.1.2 SQL Server 2008专业版
1.1.3 将SQL Server用于Internet服务器
1.1.4 将SQL Server用于客户端/服务器应用程序
1.1.5 选择SQL Server的组件
1.2 SQL Server 2008新增功能
1.2.1 SQL Server新功能
1.2.2 其他技术
1.3 SQL Server 2008的安装要求
1.3.1 SQL Server Developer Edition(64位)
1.3.2 SQL Server Developer Edition(32位)
1.3.3 硬盘空间要求(32位和64位)
1.3.4 跨语言支持
1.4 安装或升级SQL Server
1.4.1 SQL Server 2008的安装步骤
1.4.2 升级到SQL Server 2008
1.4.3 使用SQL Server实用工具配置SQL Server
1.5 安装SQL Server 2008示例和示例数据库
1.5.1 系统数据库
1.5.2 安装示例数据库
1.6 常见面试题
1.7 小结
1.8 习题
第2章 认识SQL Server管理器
2.1 使用SQL Server配置管理器管理SQL Server实例
2.1.1 启动SQL Server实例
2.1.2 停止SQL Server实例
2.2 使用SQL Server配置管理器连接其他计算机
2.2.1 连接到另一台计算机
2.2.2 将连接保存到远程SQL Server配置管理器
2.3 SQL Server企业管理器
2.3.1 访问SQL Server Management Studio(企业管理器)
2.3.2 对象资源管理器
2.3.3 模板资源管理器
2.3.4 解决方案资源管理器
2.3.5 属性窗口
2.3.6 代码编辑器
2.3.7 SQL编辑器工具栏
2.4 常见面试题
2.5 小结
2.6 习题
第2篇 常用操作
第3章 数据库的创建、修改与删除
3.1 数据库的概念
3.1.1 数据库的种类
3.1.2 数据库的软件
3.1.3 数据库的原理(E-R图)
3.1.4 数据库的操作语言SQL
3.1.5 数据库的完整性
3.2 数据库术语
3.2.1 关系模型术语
3.2.2 数据库相关术语
3.2.3 SQL的组成部分
3.3 创建数据库
3.3.1 数据库文件大小
3.3.2 创建默认数据库
3.3.3 创建定制数据库
3.4 修改数据库
3.4.1 扩展数据库
3.4.2 收缩数据库
3.4.3 添加和删除数据文件或事务日志文件
3.4.4 重命名数据库
3.4.5 更改数据库所有者
3.5 删除数据库
3.5.1 删除数据库的前提条件
3.5.2 删除数据库
3.6 常见面试题
3.7 小结
3.8 习题
第4章 表操作
4.1 数据类型
4.1.1 数值型
4.1.2 日期和时间类型
4.1.3 字符数据类型
4.1.4 二进制数据类型
4.1.5 其他数据类型
4.1.6 数据类型同义词
4.2 新建表
4.2.1 新建表
4.2.2 插入表数据
4.2.3 查看表中数据
4.2.4 修改表中数据
4.2.5 删除表中数据
4.3 修改表
4.3.1 修改表名
4.3.2 插入列
4.3.3 重命名列
4.3.4 删除列
4.3.5 无法保存修改表的错误
4.4 修改列
4.4.1 指定列的默认值
4.4.2 指定计算列
4.4.3 修改列的数据类型
4.4.4 修改列的长度
4.4.5 修改列的精度
4.4.6 修改列的小数位数
4.4.7 修改列的标识属性
4.4.8 修改列的NULL值选项
4.5 删除表
4.6 常见面试题
4.7 小结
4.8 习题
第5章 使用表设计器
5.1 表设计器
5.2 管理索引
5.2.1 创建索引
5.2.2 创建唯一索引
5.2.3 创建聚集索引
5.2.4 更改索引属性
5.2.5 重命名索引
5.2.6 删除索引
5.3 管理主键
5.3.1 创建主键
5.3.2 修改主键
5.3.3 删除主键
5.4 管理复合主键
5.4.1 创建复合主键
5.4.2 更改复合主键的顺序
5.4.3 删除复合主键中的一个或几个键
5.4.4 删除复合主键中的所有键
5.5 管理关系
5.5.1 创建关系
5.5.2 显示关系属性
5.5.3 更改关系属性
5.5.4 删除关系
5.6 管理Check约束
5.6.1 附加新的CHECK约束
5.6.2 修改CHECK约束
5.6.3 删除CHECK约束
5.7 常见面试题
5.8 小结
5.9 习题
第6章 函数
6.1 常见运算符
6.1.1 算术运算符
6.1.2 位运算符
6.1.3 比较运算符
6.1.4 逻辑运算符
6.1.5 赋值运算符
6.1.6 字符串连接运算符
6.1.7 运算符的优先级
6.2 在表达式中使用运算符
6.2.1 使用连接运算符
6.2.2 更改列名
6.2.3 对重命名列进行操作
6.2.4 算术表达式的使用
6.3 为何需要函数
6.4 常用的聚合函数
6.4.1 使用AVG函数求平均值
6.4.2 使用MIN函数求最低值
6.4.3 使用MAX函数求最大值
6.4.4 使用SUM函数求总和
6.4.5 使用COUNT函数和COUNT_BIG函数求行总数
6.5 常用的日期和时间函数
6.5.1 使用DATEDIFF函数获取日期和时间差
6.5.2 使用ISDATE函数判断表达式是否为有效的日期或时间值
6.6 常用的系统函数
6.6.1 使用CAST和CONVERT函数转换数据类型
6.6.2 使用IDENTITY函数生成一个自增列
6.6.3 使用ISNULL函数检查表达式是否为NULL
6.6.4 使用ISNUMERIC函数判断表达式是否有效的numeric类型
6.7 常用的字符串函数
6.7.1 字符串处理函数介绍
6.7.2 字符转换函数
6.7.3 去字符串空格函数
6.7.4 取字符串长度的函数
6.7.5 查询包含部分字符串内容的数据
6.7.6 颠倒字符串的顺序
6.7.7 字符串替换
6.8 创建用户自定义函数
6.8.1 创建自定义函数语法
6.8.2 语法参数说明
6.8.3 创建示例
6.9 常见面试题
6.10 小结
6.11 习题
第7章 视图
7.1 创建视图
7.1.1 视图的有关概念
7.1.2 视图的作用
7.2 视化创建视图
7.2.1 从单表中产生视图
7.2.2 从多表中产生视图
7.2.3 从视图中产生视图
7.3 视图设计器
7.3.1 “关系图”窗格
7.3.2 “条件”窗格
7.3.3 “SQL”窗格
7.3.4 “结果”窗格
7.4 修改及删除视图
7.4.1 修改视图
7.4.2 重命名视图
7.4.3 删除视图
7.5 常见面试题
7.6 小结
7.7 习题
第8章 存储过程
8.1 了解存储过程
8.1.1 存储过程的作用
8.1.2 存储过程的种类
8.2 创建存储过程
8.2.1 命名存储过程
8.2.2 用SQL Server Management Studio创建存储过程
8.3 执行存储过程
8.3.1 执行系统存储过程
8.3.2 执行用户定义存储过程
8.3.3 指定存储过程的参数
8.4 修改和删除存储过程
8.4.1 修改存储过程
8.4.2 删除存储过程
8.5 存储过程中的程序控制语句
8.5.1 控制语句概述
8.5.2 IF...ELSE条件选择语句
8.5.3 BEGIN...END语句块
8.5.4 CASE语句
8.5.5 WHILE循环语句
8.5.6 WAITFOR等待语句
8.6 存储过程必须注意的问题
8.6.1 从存储过程返回给定参数的值
8.6.2 处理执行存储过程时的错误
8.6.3 存储过程的语句要求
8.6.4 执行存储过程无反应
8.7 常见面试题
8.8 小结
8.9 习题
第9章 触发器
9.1 什么是触发器
9.1.1 触发器的作用
9.1.2 触发器的种类
9.1.3 触发器的工作原理
9.2 使用SQL Server Management Studio管理器创建触发器
9.3 管理触发器
9.3.1 修改触发器
9.3.2 禁用和启用触发器
9.3.3 删除触发器
9.4 使用触发器的常见问题
9.4.1 create trigger必须是查询批次中的第一个语句
9.4.2 返回错误信息的语句
9.4.3 触发器和约束的区别
9.4.4 触发器对数据库系统的影响
9.5 使用系统存储过程查看触发器
9.5.1 使用系统存储过程sp_help查询触发器
9.5.2 使用系统存储过程sp_helptext查看触发器的定义文本
9.5.3 使用系统存储过程sp_depends查看触发器的引用表
9.6 常见面试题
9.7 小结
9.8 习题
第10章 E-R图及关系图
10.1 E-R图
10.1.1 实体(E)和关系(R)的概念
10.1.2 设计E-R图
10.1.3 E-R图的设计原则
10.2 数据库关系图设计器
10.3 数据库关系图
10.3.1 创建数据库关系图
10.3.2 保存数据库关系图
10.3.3 打开数据库关系图
10.3.4 重命名数据库关系图
10.3.5 删除数据库关系图
10.4 常见面试题
10.5 小结
10.6 习题
第3篇 Transact-SQL常用语法与实例
第11章 TransactSQL语句
11.1 Transact-SQL语法讲解
11.2 创建数据库对象
11.2.1 创建数据库
11.2.2 创建表
11.2.3 插入和更新表中的数据
11.2.4 读取表中的数据
11.3 配置数据库对象的权限
11.3.1 创建登录名
11.3.2 授予访问数据库的权限
11.3.3 创建视图和存储过程
11.3.4 授予访问数据库对象的权限
11.4 删除数据库对象
11.5 常见面试题
11.6 小结
11.7 习题
第12章 对象SQL语句操作——DDL
12.1 数据库
12.1.1 数据库创建语句——CREATE DATABASE
12.1.2 数据库修改语句——ALFER DATABASE
12.1.3 数据库删除语句——DROP DATABASE
12.2 表
12.2.1 表创建语句——CREATE TABLE
12.2.2 表修改语句——ALTER TABLE
12.2.3 表删除语句——DROP TABLE
12.3 索引
12.3.1 索引创建语句——CREATE INDEX
12.3.2 索引修改语句——ALTER INDEX
12.3.3 索引删除语句——DROP INDEX
12.4 视图
12.4.1 创建视图语句——CREATE VIEW
12.4.2 视图修改语句——ALTER VIEW
12.4.3 视图删除语句——DROP VIEW
12.5 存储过程
12.5.1 存储过程创建语句——CREATE PROCEDURE
12.5.2 存储过程修改语句——ALTER PROCEDURE
12.5.3 存储过程删除语句——DROP PROCEDURE
12.6 触发器
12.6.1 创建触发器语句——CREATE TRIGGER
12.6.2 触发器修改语句——ALTER TRIGGER
12.6.3 触发器删除语句——DROP TRIGGER
12.7 常见面试题
12.8 小结
12.9 习题
第13章 数据操作语言——DML
13.1 数据操作
13.1.1 插入数据——INSERT
13.1.2 修改数据——UPDATE
13.1.3 删除数据——DELETE
13.2 查询语句——SELECT
13.3 简单查询(单一查询)
13.3.1 使用SELECT子句
13.3.2 使用FROM子句
13.3.3 使用WHERE子句
13.3.4 使用ORDER BY子句
13.3.5 使用GROUP BY子句
13.3.6 使用HAVING子句
13.3.7 使用INTO子句
13.3.8 使用COMPUTE子句
13.4 LIKE模式匹配
13.4.1 使用LIKE的模式匹配
13.4.2 使用%通配符示例
13.5 联接查询
13.5.1 内联和等值联接
13.5.2 左外联接和右外联接
13.5.3 完全联接
13.5.4 交叉联接
13.6 组合查询(UNION)
13.7 常见面试题
13.8 小结
13.9 习题
第14章 控制SQL语句操作——DCL
14.1 GRANT语句——管理权限
14.1.1 授予权限——GRANT
14.1.2 GRANT数据库权限
14.1.3 GRANT表级对象权限
14.1.4 GRANT数据库主体权限
14.2 DENY语句——不允许具备某权限
14.2.1 拒绝权限——DENY
14.2.2 DENY数据库权限
14.2.3 DENY表级对象权限
14.2.4 DENY数据库主体权限
14.3 REVOKE语句——剥夺权限
14.3.1 收回权限——REVOKE
14.3.2 REVOKE数据库权限
14.3.3 REVOKE表级对象权限
14.3.4 REVOKE数据库主体权限
14.4 常见面试题
14.5 小结
14.6 习题
第4篇 实用管理
第15章 导入与导出数据
15.1 了解导入和导出向导工具
15.2 使用SQL Server导入和导出向导
15.2.1 选择数据源
15.2.2 选择平面文件源
15.2.3 选择目标
15.2.4 创建数据库
15.2.5 指定表复制或查询
15.2.6 使用列映射
15.2.7 保存并执行包
15.2.8 使用“完成该向导”页
15.3 常见面试题
15.4 小结
15.5 习题
第16章 脱机与联机数据库
16.1 可视化命令脱机与联机数据库
16.1.1 数据库状态
16.1.2 使用脱机命令
16.1.3 使用联机命令
16.2 分离与附加数据库
16.2.1 分离数据库的注意事项
16.2.2 如何分离数据库
16.2.4 如何附加数据库
16.3 通过Transact-SQL语句分离与附加数据库
16.3.1 使用sp_detach_db语句分离数据库
16.3.2 使用创建数据库的FOR ATTACH附加数据库
16.4 常见面试题
16.5 小结
16.6 习题
第17章 备份和还原数据库
17.1 数据备份
17.2 数据恢复
17.2.1 数据的恢复模式
17.2.2 更改数据库的恢复模式
17.3 数据库备份
17.3.1 使用SQL Server Management Studio完整备份数据库
17.3.2 使用Transact-SQL完整备份数据库
17.3.3 差异数据库备份
17.4 文件备份
17.4.1 使用SQL Server Management Studio备份数据库文件和文件组
17.4.2 使用Transact-SQL备份文件和文件组
17.5 数据库还原
17.5.1 完整恢复模式
17.5.2 简单恢复模式
17.6 文件还原
17.6.1 使用SQL Server Management Studio还原文件或文件组
17.6.2 使用Transact-SQL还原文件或文件组
17.7 常见面试题
17.7 小结
17.8 习题
第18章 SQL Server报表服务
18.1 SQL Server 2008 Reporting Services
18.1.1 什么是报表服务(Reporting Services)
18.1.2 SQL Server Reporting Services的功能
18.2 启动报表服务
18.3 使用向导设计报表
18.3.1 创建报表
18.3.2 添加报表数据源
18.3.3 使用向导可视化报表
18.4 其他创建报表的方式
18.4.1 使用SQL Server数据源手动创建报表
18.4.2 使用Access数据创建报表
18.5 运行报表
18.5.1 通过Web方式查看报表
18.5.2 打印和导出报表
18.6 常见面试题
18.7 小结
18.8 习题
第5篇 操作进阶
第19章 事务管理
19.1 事务的基本概念
19.1.1 什么是事务
19.1.2 事务运行模式
19.1.3 事务模式的区别
19.2 管理事务
19.2.1 启动事务
19.2.2 结束事务
19.2.3 事务的错误处理
19.2.4 事务中的SQL语句
19.3 事务应用示例
19.3.1 开始事务——BEGIN TRANSACTION
19.3.2 标记事务——WITH MARK
19.3.3 提交事务——COMMIT TRANSACTION
19.3.4 回滚事务——ROLLBACK TRANSACTION
19.4 常见面试题
19.5 小结
19.6 习题
第20章 SQL Server代理服务
20.1 SQL Server代理说明及设置
20.1.1 什么是SQL Server代理
20.1.2 启动和停止SQL Server代理
20.2 作业
20.2.1 创建作业任务
20.2.2 创建作业步骤
20.2.3 创建作业时间计划
20.2.4 管理作业
20.3 操作员
20.3.1 配置数据库邮件
20.3.2 新建操作员
20.4 警报
20.4.1 创建警报
20.4.2 作业中设置警报
20.5 使用SQL Server代理常见问题
20.5.1 没有对SQL Server代理进行设置造成错误
20.5.2 新用户看不到SQL Server代理
20.5.3 SQL Server代理的设置问题
20.6 常见面试题
20.7 小结
20.8 习题
第21章 索引进阶
21.1 了解索引
21.1.1 什么是索引
21.1.2 索引的类型
21.2 设计索引
21.2.1 索引设计任务
21.2.2 设计通用索引
21.2.3 设计聚集索引
21.2.4 设计非聚集索引
21.2.5 设计唯一索引
21.2.6 设计筛选索引
21.2.7 选择索引方式
21.2.8 筛选索引进行查询的注意事项
21.3 实现索引
21.3.1 通用索引
21.3.2 聚集索引
21.3.3 非聚集索引
21.3.4 唯一索引
21.4 优化索引
21.4.1 重新创建和生成索引
21.4.2 联机执行索引操作
21.4.3 配置并行索引操作
21.5 重新创建和生成索引的操作
21.5.1 使用SQL Server Management Studio重新生成索引
21.5.2 使用SQL Server Management Studio重新组织索引
21.5.3 使用SQL Server Management Studio查看碎片信息
21.5.4 使用命令查看索引碎片
21.6 常见面试题
21.7 小结
21.8 习题
第22章 安全性-安全保护及用户权限
22.1 架构
22.1.1 数据库用户与架构的分离
22.1.2 新目录视图
22.1.3 默认架构
22.2 主体
22.2.1 典型的主体
22.2.2 选择身份验证模式
22.3 SQL Server登录用户的管理
22.3.1 添加用户
22.3.2 使用用户登录
22.3.3 为用户设置权限
22.4 角色
22.4.1 服务器级别角色
22.4.2 数据库级别的角色
22.5 权限
22.5.1 了解权限
22.5.2 权限层次结构
22.5.3 将用户设为服务器角色成员
22.5.4 将用户设为数据库角色成员
22.6 SQL注入的安全防范
22.6.1 什么是SQL注入
22.6.2 验证所有用户输入
22.6.3 检查代码中的SQL注入
22.7 常见面试题
22.8 小结
22.9 习题
第6篇 SQL Server应用开发
第23章 使用VC开发数据库项目
23.1 创建数据库
23.2 使用ODBC开发数据库应用
23.2.1 创建ODBC数据源
23.2.2 连接数据源
23.2.3 使用CRecordSet类创建数据库对象
23.2.4 添加、修改和删除数据
23.2.5 撤销操作
23.2.6 查询记录
23.2.7 读取数据
23.3 使用ADO开发数据库应用
23.3.1 ADO内置对象简介
23.3.2 使用ADO注意事项
23.3.3 连接数据库
23.3.4 记录集一填充和读取数据
23.3.5 记录集
23.3.6 数据库操作命令
23.4 小结
第24章 使用ASP.NET(C#)开发 数据库项目
24.1 认识ADO.NET
24.1.1 数据访问技术
24.1.2 System.Data命名空间
24.2 连接SQL Server数据库
24.2.1 认识SqlConnection数据连接管理类
24.2.2 设置连接参数
24.2.3 创建SQL Server连接
24.2.4 断开SQL Server连接
24.2.5 管理其他数据源连接
24.3 与数据库直接交互
24.3.1 使用SqlCommand提交增、删、改操作
24.3.2 使用ExecuteNoQuery来修改一行数据
24.3.3 使用SqlCommand获取查询结果
24.3.4 使用DataAdapter提交查询结果
24.4 管理缓存数据集
24.4.1 认识DataSet
24.4.2 使用DataTable缓存数据表
24.4.3 使用DataSet管理数据
24.4.4 使用DataReader获取只读数据
24.4.5 比较DataSet和DataReader
24.5 小结
第25章 使用ASP开发数据库项目
25.1 创建DSN文件并连接数据库
25.1.1 创建DSN文件
25.1.2 数据库的连接
25.2 ASP操作数据的对象
25.2.1 用Connection对象执行查询
25.2.2 使用Recordset对象处理结果
25.2.3 用Command对象改善查询
25.2.4 结合HTML表单和数据库访问
25.3 管理数据库连接
25.3.1 使连接超时
25.3.2 共享连接
25.3.3 使用跨页连接
25.3.4 关闭连接
25.4 小结
附录A AdventureWorks示例数据库
A.1 SQL Server示例概述
A.2 AdventureWorks示例数据库
A.3 Adventure Works Cycles业务方案
A.3.1 销售和营销方案
A.3.2 产品方案
A.3.3 采购方案和供应商方案
A.3.4 销售和营销方案
A.4 Northwind和pubs示例数据库
附录B SQL Server操作技巧
B.1 用T-SQL将金额转换为大写
B.2 SOL Server和Oracle常用函数对比
B.3 生成随机的6位验证码
B.4 实现全角与半角字符转换的处理
B.5 返回某日期为第几周
B.6 验证身份证地址
B.7 返回日期所在的星座
B.8 取汉字的拼音首字母
B.9 T-SQL的正则表达式
B.10 整数转成二进制的函数
B.11 创建对象脚本的函数
B.12 分页存储过程
附录C SQL Server常见SET语句、命令、函数及变量