第1章 数据库入门 1
1.1 数据库系统概述 1
1.1.1 数据库技术的发展 1
1.1.2 数据库系统组成 3
1.2 数据库体系结构 4
1.2.1 什么是模式 4
1.2.2 三级模式结构 4
1.3 数据模型 6
1.3.1 数据模型的分类 6
1.3.2 E-R模型 7
1.3.3 层次模型 9
1.3.4 网状模型 11
1.3.5 关系模型 13
1.4 常见数据库 15
1.4.1 Access 15
1.4.2 SQL Server 16
1.4.3 Oracle 18
1.5 小结 19
第2章 走进SQL Server 2014 20
2.1 SQL Server 2014简介 20
2.2 SQL Server 2014特点 21
2.2.1 SQL Server 2014中新的组件功能 21
2.2.2 SQL Server 2014混合云技术 22
2.3 安装SQL Server 2014 23
2.3.1 SQL Server 2014安装必备 23
2.3.2 SQL Server 2014安装 24
2.3.3 SQL Server 2014卸载 31
2.4 使用SQL Server 2014帮助 33
2.5 小结 34
第3章 创建数据库 35
3.1 数据库简介 35
3.1.1 数据库基本概念 35
3.1.2 数据库常用对象 37
3.1.3 数据库的组成 39
3.1.4 系统数据库 40
3.2 SQL Server的命名规则 41
3.2.1 标识符 42
3.2.2 对象命名规则 43
3.2.3 实例命名规则 44
3.3 创建与管理数据库 45
3.3.1 使用管理器创建数据库 45
3.3.2 使用管理器修改数据库 47
3.3.3 使用管理器删除数据库 50
3.3.4 操作学生数据库 50
3.4 小结 52
第4章 数据库入门 53
4.1 数据表概述 53
4.1.1 SQL Server 2014基本数据类型 54
4.1.2 用户自定义数据类型 58
4.2 使用管理器管理数据表 61
4.2.1 创建新数据表 61
4.2.2 添加数据表字段 62
4.2.3 修改字段数据类型 63
4.2.4 重命名数据表 63
4.2.5 删除数据表 64
4.3 操作数据约束 65
4.3.1 用主键约束防止无效数据 65
4.3.2 用唯一性约束防止重复数据 66
4.3.3 检查约束 67
4.3.4 默认约束 69
4.3.5 外键约束 69
4.4 小结 70
第5章 操作视图 71
5.1 视图概述 71
5.1.1 视图的类型 72
5.1.2 视图的优缺点 72
5.2 使用管理器管理视图 73
5.2.1 创建新视图 74
5.2.2 查看视图信息 76
5.2.3 创建基于视图的视图 82
5.2.4 删除视图 82
5.3 通过视图操作数据 83
5.3.1 在视图中插入数据记录 83
5.3.2 在视图中修改数据记录 84
5.3.3 在视图中删除数据记录 84
5.4 小结 85
第6章 SQL Server 2014数据库管理 86
6.1 数据库联机 86
6.1.1 脱机数据库 87
6.1.2 联机数据库 87
6.2 分离和附加数据库 88
6.2.1 分离数据库 88
6.2.2 附加数据库 90
6.3 导入导出数据 91
6.3.1 导入SQL Server数据表 92
6.3.2 导入其他数据源的数据 94
6.3.3 导出SQL Server数据表 95
6.4 备份和恢复数据库 95
6.4.1 备份类型 96
6.4.2 恢复模式 96
6.4.3 备份数据库 97
6.4.4 恢复数据库 99
6.5 收缩数据库和文件 100
6.5.1 自动收缩数据库 100
6.5.2 手动收缩数据库 101
6.6 生成与执行SQL脚本 102
6.6.1 将数据库生成SQL脚本 102
6.6.2 将数据表生成SQL脚本 103
6.6.3 执行SQL脚本 104
6.7 小结 106
第7章 SQL Server 2014系统维护 107
7.1 SQL Server 2014维护须知 107
7.2 启动SQL Server 2014服务 108
7.2.1 后台启动SQL Server 2014 108
7.2.2 通过配置管理器启动SQL Server 2014 109
7.3 注册SQL Server 2014 110
7.3.1 服务器组的创建与删除 110
7.3.2 服务器的注册与删除 111
7.4 SQL Server 2014数据库的安全设置 112
7.4.1 更改登录用户验证方式 112
7.4.2 创建与删除登录用户 113
7.4.3 创建与删除数据库用户 116
7.4.4 设置服务器角色权限 118
7.4.5 密码策略 122
7.5 小结 123
第8章 T-SQL语言 124
8.1 T-SQL概述 124
8.1.1 T-SQL语言的组成 125
8.1.2 T-SQL语句结构 125
8.1.3 T-SQL语句 126
8.2 常量 127
8.2.1 数字常量 127
8.2.2 字符串常量 128
8.2.3 日期和时间常量 128
8.2.4 符号常量 129
8.3 变量 129
8.3.1 局部变量 129
8.3.2 全局变量 132
8.3.3 注释符 132
8.3.4 运算符 133
8.3.5 通配符 136
8.4 流程控制 137
8.4.1 BEGIN…END块语句 137
8.4.2 IF单分支语句 137
8.4.3 IF…ELSE双分支语句 138
8.4.4 CASE多分支语句 139
8.4.5 WHILE循环语句 140
8.4.6 WHILE…CONTINUE…BREAK中断语句 141
8.4.7 RETURN返回语句 142
8.4.8 GOTO跳转语句 143
8.5 常用命令 144
8.5.1 DECLARE定义命令 144
8.5.2 PRINT输出命令 145
8.5.3 BACKUP备份数据库 145
8.5.4 RESTORE还原数据库 149
8.5.5 SELECT返回数据记录 152
8.5.6 SET设置命令 154
8.5.7 SHUTDOWN关闭数据库 156
8.5.8 USE打开数据库 157
8.6 小结 157
第9章 SQL数据查询 158
9.1 SELECT语句 158
9.1.1 SELECT语句的基本结构 158
9.1.2 用WITH语句检查一致性 159
9.1.3 用SELECT…FROM子句返回记录 160
9.1.4 用INTO子句将记录写入到指定文件 162
9.1.5 用WHERE子句筛选符合条件的记录 163
9.1.6 用GROUP BY子句为记录分组 166
9.1.7 用HAVING子句对聚合指定条件 167
9.1.8 用ORDER BY子句排序 168
9.1.9 用Distinct关键字排除重复值 169
9.1.10 用Top关键字返回指定记录 169
9.2 Union合并多个查询结果 170
9.2.1 Union与联接之间的区别 170
9.2.2 使用Union All合并表 170
9.2.3 Union中的ORDER BY子句 171
9.2.4 Union中的自动数据类型转换 172
9.2.5 使用Union合并不同类型的数据 173
9.2.6 使用Union合并有不同列数的两个表 173
9.2.7 使用Union进行多表合并 174
9.3 子查询与嵌套查询 174
9.3.1 什么是子查询 174
9.3.2 什么是嵌套查询 175
9.3.3 简单嵌套查询 175
9.3.4 带IN的嵌套查询 175
9.3.5 带Not IN的嵌套查询 176
9.3.6 带Some的嵌套查询 177
9.3.7 带Any的嵌套查询 177
9.3.8 带All的嵌套查询 178
9.3.9 带Exists的嵌套查询 178
9.4 联接查询 179
9.4.1 内部联接 179
9.4.2 外部联接 180
9.4.3 交叉联接 183
9.4.4 联接多表的方法 183
9.5 使用Case函数进行查询 184
9.6 小结 186
第10章 SQL数据操作 187
10.1 数据库操作 187
10.1.1 数据库的创建 187
10.1.2 数据库的修改 188
10.1.3 删除数据库 190
10.2 数据表操作 190
10.2.1 使用CREATE TABLE语句创建表 190
10.2.2 创建、修改和删除约束 192
10.2.3 使用ALTER TABLE语句修改表结构 193
10.2.4 使用DROP TABLE语句删除表 194
10.3 数据操作 195
10.3.1 使用SELECT语句浏览数据 195
10.3.2 使用INSERT语句添加数据 200
10.3.3 使用UPDATE语句修改指定数据 202
10.3.4 使用DELETE语句删除指定数据 203
10.4 视图操作 205
10.4.1 使用CREATE VIEW语句创建视图 205
10.4.2 使用ALTER VIEW语句修改视图 207
10.4.3 使用DROP VIEW语句删除视图 208
10.5 视图中的数据操作 208
10.5.1 向视图中添加数据 208
10.5.2 修改视图中的数据 209
10.5.3 删除视图中的数据 209
10.6 小结 210
第11章 存储过程 211
11.1 存储过程概述 211
11.1.1 什么是存储过程 212
11.1.2 存储过程的优点 212
11.2 创建存储过程 213
11.2.1 使用向导创建存储过程 213
11.2.2 使用CREATE PROCEDURE语句创建存储过程 214
11.3 管理存储过程 216
11.3.1 执行存储过程 216
11.3.2 查看存储过程 219
11.3.3 修改存储过程 221
11.3.4 重命名存储过程 223
11.3.5 删除存储过程 223
11.4 小结 224
第12章 触发器 225
12.1 触发器概述 225
12.1.1 触发器概念 226
12.1.2 触发器的优点 226
12.1.3 触发器的种类 227
12.2 创建触发器 227
12.2.1 创建DML触发器 228
12.2.2 创建DDL触发器 232
12.2.3 创建登录触发器 234
12.2.4 限制非工作时间操作数据 235
12.2.5 限制对保护数据的操作 236
12.2.6 实现级联操作 237
12.3 管理触发器 238
12.3.1 查看触发器 238
12.3.2 修改触发器 240
12.3.3 重命名触发器 240
12.3.4 禁用和启用触发器 241
12.3.5 删除触发器 243
12.4 小结 243
第13章 索引 244
13.1 索引的概念 244
13.2 索引的优缺点 244
13.2.1 索引的优点 245
13.2.2 索引的缺点 245
13.3 索引的分类 245
13.3.1 聚集索引 245
13.3.2 非聚集索引 246
13.4 索引的操作 246
13.4.1 索引的创建 246
13.4.2 查看索引信息 250
13.4.3 索引的修改 252
13.4.4 索引的删除 253
13.4.5 设置索引选项 254
13.5 索引的分析与维护 255
13.5.1 索引的分析 255
13.5.2 索引的维护 257
13.6 全文索引 258
13.6.1 使用SSMS创建全文索引 258
13.6.2 使用T-SQL语句创建全文索引 262
13.6.3 使用Transact-SQL语句删除全文索引 263
13.6.4 全文目录 264
13.6.5 全文目录的维护 266
13.7 小结 267
第14章 游标 268
14.1 游标的概述 268
14.1.1 游标的优点 269
14.1.2 游标的类型 269
14.2 游标的基本操作 270
14.2.1 声明游标 271
14.2.2 打开游标 272
14.2.3 读取游标中的数据 272
14.2.4 关闭游标 277
14.2.5 释放游标 278
14.3 使用系统过程查看游标 278
14.3.1 用sp_ cursor list查看当前连接打开的游标特性 278
14.3.2 用sp_ describe_cursor查看游标特性 280
14.4 小结 281
第15章 SQL函数 282
15.1 聚合函数 282
15.1.1 聚合函数概述 282
15.1.2 用Sum函数求和 283
15.1.3 用Avg函数求平均值 283
15.1.4 用Min函数返回最小值 284
15.1.5 用Max函数返回最大值 284
15.1.6 用Count函数统计表记录数 285
15.1.7 用Distinct函数取不重复记录 285
15.1.8 查询重复记录 286
15.2 数学函数 287
15.2.1 数学函数概述 287
15.2.2 用Abs函数求绝对值 287
15.2.3 用Pi函数求圆周率 287
15.2.4 Power(乘方)函数 288
15.2.5 Rand(随机浮点数)函数 288
15.2.6 Round(四舍五入)函数 289
15.2.7 Square(平方)函数和Sqrt(平方根)函数 289
15.2.8 三角函数 290
15.3 字符串函数 291
15.3.1 字符串函数概述 291
15.3.2 Ascii(获取Ascii码)函数 291
15.3.3 Charindex(返回字符串的起始位置)函数 291
15.3.4 Left(取左边指定个数的字符)函数 292
15.3.5 Right(取右边指定个数的字符)函数 292
15.3.6 Len(返回字符个数)函数 293
15.3.7 Replace(替换字符串)函数 294
15.3.8 Reverse(返回字符表达式的反转)函数 294
15.3.9 Str函数 294
15.3.10 Substring(取字符串)函数 295
15.4 日期和时间函数 296
15.4.1 日期和时间函数概述 296
15.4.2 Getdate(返回当前系统日期和时间)函数 296
15.4.3 Day(返回指定日期的天)函数 297
15.4.4 Month(返回指定日期的月)函数 297
15.4.5 Year(返回指定日期的年)函数 298
15.4.6 Datediff(返回日期和时间的边界数)函数 298
15.4.7 Dateadd(添加日期时间)函数 299
15.5 转换函数 299
15.5.1 转换函数概述 299
15.5.2 Cast函数 300
15.5.3 Convert函数 300
15.6 小结 301
第16章 事务 302
16.1 事务的概念 302
16.2 显式事务与隐式事务 303
16.2.1 显式事务 304
16.2.2 隐式事务 305
16.2.3 API中控制隐式事务 306
16.2.4 事务的COMMIT和ROLLBACK 306
16.3 使用事务 307
16.3.1 开始事务 307
16.3.2 结束事务 308
16.3.3 回滚事务 309
16.3.4 事务的工作机制 310
16.3.5 自动提交事务 311
16.3.6 事务的并发问题 312
16.3.7 事务的隔离级别 312
16.4 锁 313
16.4.1 SQL Server锁机制 314
16.4.2 锁模式 314
16.4.3 锁的粒度 314
16.4.4 查看锁 315
16.4.5 死锁 315
16.5 分布式事务处理 316
16.5.1 分布式事务简介 317
16.5.2 创建分布式事务 317
16.5.3 分布式处理协调器 317
16.6 小结 319
第17章 数据库的性能优化 320
17.1 数据库设计 320
17.1.1 规范化与非规范化 320
17.1.2 选择适当的数据类型 322
17.1.3 索引的选择 323
17.2 查询优化 323
17.2.1 避免使用“” 323
17.2.2 避免负逻辑 324
17.2.3 列操作 324
17.2.4 避免使用DISTINCT 325
17.2.5 存储过程 325
17.3 考虑并行 325
17.4 索引操作 327
17.4.1 避免在索引列上进行运算 327
17.4.2 避免在索引列上用OR运算符 328
17.4.3 避免在索引列上用IS NULL 329
17.5 小结 329
第18章 云计算、大数据与数据库 330
18.1 云计算概述 330
18.1.1 什么是云计算 330
18.1.2 云计算的起源 331
18.1.3 云计算的特点和优势 332
18.1.4 云计算的现状 333
18.1.5 云计算的应用领域 334
18.2 大数据概述 335
18.3 NoSQL数据库 337
18.3.1 传统关系型数据库及其问题 337
18.3.2 NoSQL数据库概述 338
18.3.3 NoSQL数据库的优劣 339
18.3.4 NoSQL数据库的发展趋势 339
18.4 几种主要的云数据库 340
18.5 SQL Server 2014的云功能 341
18.5.1 数据文件部署到Azure云环境 342
18.5.2 备份到Windows Azure存储 344
18.6 小结 345
第19章 企业ERP管理系统 346
19.1 系统分析 346
19.1.1 需求分析 346
19.1.2 可行性分析 347
19.1.3 编写项目计划书 348
19.2 系统设计 349
19.2.1 系统目标 349
19.2.2 系统功能结构 349
19.2.3 系统业务流程 351
19.2.4 系统编码规范 351
19.2.5 系统预览 353
19.3 系统运行环境 354
19.4 数据库与数据表设计 355
19.4.1 数据库分析 355
19.4.2 数据库概念设计 355
19.4.3 数据库逻辑设计 357
19.4.4 数据表逻辑关系 360
19.5 销售出款单模块设计 360
19.5.1 设计销售出款单窗体 361
19.5.2 浏览已审核的销售出库信息 362
19.5.3 选择已审核的销售出库单 363
19.6 生产单模块设计 364
19.6.1 设计生产单窗体 364
19.6.2 浏览已审核的生产计划信息 365
19.6.3 审核的生产单信息 366
19.6.4 弃审的生产单信息 367
19.7 产品销售汇总模块设计 368
19.7.1 设计产品销售汇总窗体 369
19.7.2 加载产品信息 369
19.8 系统打包 370
19.9 小结 370
第20章 人事管理系统 371
20.1 系统分析 371
20.1.1 需求分析 371
20.1.2 可行性分析 373
20.2 数据库设计 373
20.2.1 数据库需求分析 373
20.2.2 数据库概念设计 374
20.2.3 数据库逻辑设计 375
20.2.4 数据表逻辑关系 376
20.2.5 创建数据库 377
20.3 用户管理模块设计 379
20.3.1 设计用户管理窗体 379
20.3.2 用户关系管理模块 380
20.3.3 密码修改模块 381
20.4 职员基本信息管理模块设计 382
20.4.1 设计基本信息管理窗体 382
20.4.2 浏览已录入信息 382
20.4.3 查询职员信息 385
20.4.4 操作职员信息 387
20.5 基础数据管理模块设计 388
20.5.1 数据备份子模块数据 388
20.5.2 数据恢复子模块设计 389
20.6 系统部署 390
20.7 小结 394