内容简介
第1章 数据库入门
1.1数据库系统概述
1.1.1数据库技术的发展
1.1.2数据库系统组成
1.2数据库体系结构
1.2.1什么是模式
1.2.2三级模式结构
1.3数据模型
1.3.1数据模型的分类
1.3.2E-R模型
1.3.3层次模型
1.3.4网状模型
1.3.5关系模型
1.4常见数据库
1.4.1Access
1.4.2SQL Server
1.4.3Oracle
1.5小结
1.6经典习题与面试题
第2章 走进SQL Server2016
2.1SQL Server2016简介
2.2SQL Server2016的特点
2.2.1SQL Server2016中新的组件功能
2.2.2SQL Server2016混合云技术
2.3安装SQL Server2016
2.3.1SQL Server2016安装必备
2.3.2SQL Server2016的安装
2.3.3SQL Server2016的卸载
2.4使用SQL Server2016帮助
2.5小结
2.6经典习题与面试题
第3章 创建数据库
3.1数据库简介
3.1.1数据库基本概念
3.1.2数据库常用对象
3.1.3数据库的组成
3.1.4系统数据库
3.2SQL Server的命名规则
3.2.1标识符
3.2.2对象命名规则
3.2.3实例命名规则
3.3创建与管理数据库
3.3.1使用管理器创建数据库
3.3.2使用管理器修改数据库
3.3.3使用管理器删除数据库
3.3.4操作学生数据库
3.4小结
3.5经典习题与面试题
第4章 数据表
4.1数据表概述
4.1.1SQL Server2016基本数据类型
4.1.2用户自定义数据类型
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.5经典习题与面试题
第5章 视图
5.1视图概述
5.1.1视图的类型
5.1.2视图的优缺点
5.2使用管理器管理视图
5.2.1创建新视图
5.2.2查看视图信息
5.2.3创建基于视图的视图
5.2.4删除视图
5.3通过视图操作数据
5.3.1在视图中插入数据记录
5.3.2在视图中修改数据记录
5.3.3在视图中删除数据记录
5.4小结
5.5经典习题与面试题
第6章 SQL Server2016数据库管理
6.1数据库联机
6.1.1脱机数据库
6.1.2联机数据库
6.2分离和附加数据库
6.2.1分离数据库
6.2.2附加数据库
6.3导入导出数据
6.3.1导入SQL Server数据表
6.3.2导入其他数据源的数据
6.3.3导出SQL Server数据表
6.4备份和恢复数据库
6.4.1备份类型
6.4.2恢复模式
6.4.3备份数据库
6.4.4恢复数据库
6.5收缩数据库和文件
6.5.1自动收缩数据库
6.5.2手动收缩数据库
6.6生成与执行SQL脚本
6.6.1将数据库生成SQL脚本
6.6.2将数据表生成SQL脚本
6.6.3执行SQL脚本
6.7小结
6.8经典习题与面试题
第7章 SQL Server2016系统维护
7.1SQL Server2016维护须知
7.2启动SQL Server2016服务
7.2.1后台启动SQL Server2016
7.2.2通过配置管理器启动SQL Server2016
7.3注册SQL Server2016
7.3.1服务器组的创建与删除
7.3.2服务器的注册与删除
7.4SQL Server2016数据库的安全设置
7.4.1更改登录用户验证方式
7.4.2创建与删除登录用户
7.4.3创建与删除数据库用户
7.4.4设置服务器角色权限
7.4.5密码策略
7.5小结
7.6经典习题与面试题
第8章 T-SQL语言
8.1T-SQL概述
8.1.1T-SQL语言的组成
8.1.2T-SQL语句结构
8.1.3T-SQL语句
8.2常量
8.2.1数字常量
8.2.2字符串常量
8.2.3日期和时间常量
8.2.4符号常量
8.3变量
8.3.1局部变量
8.3.2全局变量
8.3.3注释符
8.3.4运算符
8.3.5通配符
8.4流程控制
8.4.1BEGIN…END块语句
8.4.2IF单分支语句
8.4.3IF…ELSE双分支语句
8.4.4CASE多分支语句
8.4.5WHILE循环语句
8.4.6WHILE…CONTINUE…BREAK中断语句
8.4.7RETURN返回语句
8.4.8GOTO跳转语句
8.5常用命令
8.5.1DECLARE定义命令
8.5.2PRINT输出命令
8.5.3BACKUP备份数据库
8.5.4RESTORE还原数据库
8.5.5SELECT返回数据记录
8.5.6SET设置命令
8.5.7SHUTDOWN关闭数据库
8.5.8USE打开数据库
8.6小结
8.7经典习题与面试题
第9章 SQL数据查询
9.1SELECT语句
9.1.1SELECT语句的基本结构
9.1.2用WITH语句检查一致性
9.1.3用SELECT…FROM子句返回记录
9.1.4用INTO子句将记录写入指定文件
9.1.5用WHERE子句筛选符合条件的记录
9.1.6用GROUP BY子句记录分组
9.1.7用HAVING子句对聚合指定条件
9.1.8用ORDER BY子句排序
9.1.9用Distinct关键字排除重复值
9.1.10用Top关键字返回指定记录
9.2Union合并多个查询结果
9.2.1Union与连接之间的区别
9.2.2使用Union All合并表
9.2.3Union中的ORDER BY子句
9.2.4Union中的自动数据类型转换
9.2.5使用Union合并不同类型的数据
9.2.6使用Union合并有不同列数的两个表
9.2.7使用Union进行多表合并
9.3子查询与嵌套查询
9.3.1什么是子查询
9.3.2什么是嵌套查询
9.3.3简单嵌套查询
9.3.4带IN的嵌套查询
9.3.5带Not IN的嵌套查询
9.3.6带Some的嵌套查询
9.3.7带Any的嵌套查询
9.3.8带All的嵌套查询
9.3.9带Exists的嵌套查询
9.4连接查询
9.4.1内部连接
9.4.2外部连接
9.4.3交叉连接
9.4.4连接多表的方法
9.5使用Case函数进行查询
9.6小结
9.7经典习题与面试题
第10章 SQL数据操作
10.1数据库操作
10.1.1创建数据库
10.1.2修改数据库
10.1.3删除数据库
10.2数据表操作
10.2.1使用CREATE TABLE语句创建表
10.2.2创建、修改和删除约束
10.2.3使用ALTER TABLE语句修改表结构
10.2.4使用DROP TABLE语句删除表
10.3数据操作
10.3.1使用SELECT语句浏览数据
10.3.2使用INSERT语句添加数据
10.3.3使用UPDATE语句修改指定数据
10.3.4使用DELETE语句删除指定数据
10.4视图操作
10.4.1使用CREATE VIEW语句创建视图
10.4.2使用ALTER VIEW语句修改视图
10.4.3使用DROP VIEW语句删除视图
10.5视图中的数据操作
10.5.1向视图中添加数据
10.5.2修改视图中的数据
10.5.3删除视图中的数据
10.6小结
10.7经典习题与面试题
第11章 存储过程
11.1存储过程概述
11.1.1什么是存储过程
11.1.2存储过程的优点
11.2创建存储过程
11.2.1使用向导创建存储过程
11.2.2使用CREATE PROCEDURE语句创建存储过程
11.3管理存储过程
11.3.1执行存储过程
11.3.2查看存储过程
11.3.3修改存储过程
11.3.4重命名存储过程
11.3.5删除存储过程
11.4小结
11.5经典习题与面试题
第12章 触发器
12.1触发器概述
12.1.1触发器的概念
12.1.2触发器的优点
12.1.3触发器的种类
12.2创建触发器
12.2.1创建DML触发器
12.2.2创建DDL触发器
12.2.3创建登录触发器
12.2.4限制非工作时间操作数据
12.2.5限制对保护数据的操作
12.2.6实现级联操作
12.3管理触发器
12.3.1查看触发器
12.3.2修改触发器
12.3.3重命名触发器
12.3.4禁用和启用触发器
12.3.5删除触发器
12.4小结
12.5经典习题与面试题
第13章 索引
13.1索引的概念
13.2索引的优缺点
13.2.1索引的优点
13.2.2索引的缺点
13.3索引的分类
13.3.1聚集索引
13.3.2非聚集索引
13.4索引的操作
13.4.1索引的创建
13.4.2查看索引信息
13.4.3索引的修改
13.4.4索引的删除
13.4.5设置索引选项
13.5索引的分析与维护
13.5.1索引的分析
13.5.2索引的维护
13.6全文索引
13.6.1使用SSMS创建全文索引
13.6.2使用T-SQL语句创建全文索引
13.6.3使用T-SQL语句删除全文索引
13.6.4全文目录
13.6.5全文目录的维护
13.7小结
13.8经典习题与面试题
第14章 游标
14.1游标的概述
14.1.1游标的优点
14.1.2游标的类型
14.2游标的基本操作
14.2.1声明游标
14.2.2打开游标
14.2.3读取游标中的数据
14.2.4关闭游标
14.2.5释放游标
14.3使用系统过程查看游标
14.3.1用sp_cursor_list查看当前连接打开的游标特性
14.3.2用sp_describe_cursor查看游标特性
14.4小结
14.5经典习题与面试题
第15章 SQL函数
15.1聚合函数
15.1.1聚合函数概述
15.1.2用Sum函数求和
15.1.3用Avg函数求平均值
15.1.4用Min函数返回最小值
15.1.5用Max函数返回最大值
15.1.6用Count函数统计表记录数
15.1.7用Distinct函数取不重复记录
15.1.8查询重复记录
15.2数学函数
15.2.1数学函数概述
15.2.2用Abs函数求绝对值
15.2.3用Pi函数求圆周率
15.2.4Power函数
15.2.5Rand函数
15.2.6Round函数
15.2.7Square函数和Sqrt函数
15.2.8三角函数
15.3字符串函数
15.3.1字符串函数概述
15.3.2Ascii函数
15.3.3Charindex函数
15.3.4Left函数
15.3.5Right函数
15.3.6Len函数
15.3.7Replace函数
15.3.8Reverse函数
15.3.9Str函数
15.3.10Substring函数
15.4日期和时间函数
15.4.1日期和时间函数概述
15.4.2Getdate函数
15.4.3Day函数
15.4.4Month函数
15.4.5Year函数
15.4.6Datediff函数
15.4.7Dateadd函数
15.5转换函数
15.5.1转换函数概述
15.5.2Cast函数
15.5.3Convert函数
15.6小结
15.7经典习题与面试题
第16章 事务
16.1事务的概念
16.2显式事务与隐式事务
16.2.1显式事务
16.2.2隐式事务
16.2.3API中控制隐式事务
16.2.4事务的COMMIT和ROLLBACK
16.3使用事务
16.3.1开始事务
16.3.2结束事务
16.3.3回滚事务
16.3.4事务的工作机制
16.3.5自动提交事务
16.3.6事务的并发问题
16.3.7事务的隔离级别
16.4锁
16.4.1SQL Server锁机制
16.4.2锁模式
16.4.3锁的粒度
16.4.4查看锁
16.4.5死锁
16.5分布式事务处理
16.5.1分布式事务简介
16.5.2创建分布式事务
16.5.3分布式处理协调器
16.6小结
16.7经典习题与面试题
第17章 数据库的性能优化
17.1数据库设计
17.1.1规范化与非规范化
17.1.2选择适当的数据类型
17.1.3索引的选择
17.2查询优化
17.2.1避免使用“*”
17.2.2避免负逻辑
17.2.3列操作
17.2.4避免使用DISTINCT
17.2.5存储过程
17.3考虑并行
17.4索引操作
17.4.1避免在索引列上进行运算
17.4.2避免在索引列上用OR运算符
17.4.3避免在索引列上用IS NULL
17.5小结
17.6经典习题与面试题
第18章 云计算、大数据与云数据库
18.1云计算概述
18.1.1什么是云计算
18.1.2云计算的起源
18.1.3云计算的特点和优势
18.1.4云计算的现状
18.1.5云计算的应用领域
18.2大数据概述
18.3NoSQL数据库
18.3.1传统关系型数据库及其问题
18.3.2NoSQL数据库概述
18.3.3NoSQL数据库的优劣
18.3.4NoSQL数据库的发展趋势
18.4几种主要的云数据库
18.5SQL Server2016的云功能
18.5.1数据文件部署到Azure云环境
18.5.2备份到Windows Azure存储
18.6小结
第19章 企业ERP管理系统
19.1系统分析
19.1.1需求分析
19.1.2可行性分析
19.2系统设计
19.2.1系统目标
19.2.2系统功能结构
19.2.3系统业务流程
19.2.4命名规范
19.3数据库与数据表设计
19.3.1数据库分析
19.3.2数据库概念设计
19.3.3数据库逻辑设计
19.3.4数据表逻辑关系
19.4小结
第20章 人事管理系统
20.1系统分析
20.1.1需求分析
20.1.2可行性分析
20.2数据库设计
20.2.1数据库需求分析
20.2.2数据库概念设计
20.2.3数据库逻辑设计
20.2.4数据表逻辑关系
20.2.5创建数据库
20.3小结