第1章 数据库系统概述 1
1.1 数据库系统简介 1
1.2 数据库设计过程 2
1.3 需求分析 2
1.4 E- R模型 3
1.4.1 基本概念 3
1.4.2 E-R图 4
1.5 关系模型 5
1.5.1 基本概念 5
1.5.2 关系完整性 6
1.6 关系操作 7
1.6.1 集合操作 7
1.6.2 关系专用操作 7
1.7 关系规范化 8
1.7.1 范式 9
1.7.2 规范化的优缺点 10
习题1 11
综合实训1设计系统的关系模型 11
第2章 SQL Server概览 12
2.1 SQL Server简介 12
2.2 SQL Server安装过程 13
2.3 SQL Server工具集 23
习题2 27
综合实训2 SQL Server 2012的安装 28
第3章 图形界面下数据库的创建与维护 29
3.1 数据库的创建 29
3.1.1 系统数据库 29
3.1.2 数据库的创建过程 30
3.1.3 数据库文件分类 31
3.1.4 数据库文件组 32
3.1.5 数据库选项 32
3.2 数据库的维护 34
3.3 数据库的分离与附加 37
3.3.1 数据库的分离 37
3.3.2 数据库的附加 37
3.4 数据库的备份与恢复 38
3.4.1 数据库的备份 38
3.4.2 数据库的恢复 40
习题3 42
综合实训3图形界面下数据库的创建和维护 42
第4章 图形界面下表的创建与维护 44
4.1 表的创建与维护 44
4.1.1 表的概述 44
4.1.2 数据类型 45
4.1.3 表的创建 47
4.1.4 表的维护 48
4.2 约束的创建与维护 50
4.2.1 主键约束 50
4.2.2 外键约束 51
4.2.3 级联参照完整性约束 52
4.2.4 唯一键约束 53
4.2.5 默认值约束 53
4.2.6 检查约束 54
4.2.7 数据库关系图 54
4.3 标识列与计算列 56
4.3.1 标识列 56
4.3.2 计算列 58
4.4 数据的导出与导入 58
4.4.1 导出数据 58
4.4.2 导入数据 63
习题4 65
综合实训4图形界面下表的创建 65
第5章 使用SQL命令创建数据库和表 66
5.1 创建与维护数据库 66
5.1.1 创建数据库 66
5.1.2 维护数据库 69
5.1.3 附加与分离数据库 71
5.1.4 备份与恢复数据库 72
5.2 创建与维护表 73
5.2.1 创建表 73
5.2.2 维护表 76
5.3 创建与维护约束 77
5.3.1 添加主键约束 77
5.3.2 添加唯一键约束 78
5.3.3 添加默认值约束 78
5.3.4 添加检查约束 78
5.3.5 添加外键和级联参照完整性约束 79
5.3.6 删除约束 79
5.4 添加、删除与修改记录 79
5.4.1 添加记录 79
5.4.2 修改记录 80
5.4.3 删除记录 81
5.5 数据导入与导出 82
5.5.1 OPENDATASOURCE函数 82
5.5.2 数据导入 84
5.5.3 数据导出 84
5.6 文件流 85
5.6.1 文件流概述 85
5.6.2 启用文件流 86
5.6.3 文件流数据操作 87
习题5 88
综合实训5使用SQL命令创建表 89
第6章 流通企业业务管理系统数据库设计 90
6.1 需求分析 90
6.2 业务报表模板设计 91
6.3 概念设计 93
6.4 逻辑设计 95
6.5 数据库表结构设计 95
6.6 基础数据的录入 101
习题 6 104
综合实训6创建流通企业业务管理系统数据库 104
第7章 数据查询 105
7.1 运算符和表达式 105
7.1.1 常量和变量 105
7.1.2 系统函数 107
7.1.3 运算符 113
7.1.4 表达式 114
7.2 基本的查询操作 116
7.2.1 SELECT语句的语法格式 116
7.2.2 基本的SELECT语句 116
7.2.3 WHERE和ORDER BY子句 118
7.3 数据统计 119
7.3.1 数据基本统计 119
7.3.2 数据分组统计 120
7.3.3 数据明细统计 121
7.4 多表连接查询 122
7.4.1 交叉连接 122
7.4.2 内连接 123
7.4.3 外连接 124
7.4.4 自连接 126
7.5 子查询 127
7.5.1 比较测试子查询 127
7.5.2 集合成员测试子查询 128
7.5.3 存在性测试子查询 129
7.5.4 批量比较测试子查询 129
7.6 子查询的特殊应用 130
7.6.1 使用子查询创建表 130
7.6.2 使用子查询添加记录 130
7.6.3 使用子查询修改记录 131
7.6.4 使用子查询删除记录 131
7.7 T-SQL的拓展操作 131
7.7.1 UNION语句 131
7.7.2 EXCEPT语句 132
7.7.3 INTERSECT语句 133
7.7.4 MERGE语句 133
习题7 134
综合实训7产品销售情况统计 134
第8章 视图 136
8.1 视图概述 136
8.1.1 视图的概念 136
8.1.2 视图的优缺点 138
8.2 图形界面下视图的创建与维护 139
8.2.1 创建视图 139
8.2.2 维护视图 141
8.3 使用SQL命令创建与维护视图 141
8.3.1 创建视图 141
8.3.2 维护视图 143
习题8 144
综合实训8围绕商品销售创建视图 144
第9章 查询优化 145
9.1 SQL Server的内部机制 145
9.1.1 数据存储体系结构 145
9.1.2 数据库引擎 147
9.1.3 SQL Server与Windows的关系 148
9.2 索引体系结构 148
9.2.1 基本概念 148
9.2.2 索引分类 149
9.2.3 索引规划 151
9.3 索引的创建与维护 153
9.3.1 图形界面下索引的创建与维护 154
9.3.2 使用SQL命令创建与维护索引 154
习题9 155
综合实训9围绕学生成绩管理数据库创建索引 155
第10章 高级编程基础 156
10.1 程序设计语句 156
10.1.1 流程控制语句 156
10.1.2 错误处理语句 157
10.1.3 其他语句 160
10.2 批处理 161
10.3 自定义函数 163
10.3.1 标量值函数 163
10.3.2 内嵌表值函数 164
10.3.3 多语句表值函数 165
10.3.4 函数的维护 166
10.3.5 综合应用 166
10.4 游标 169
10.4.1 声明游标 170
10.4.2 打开游标 171
10.4.3 读取数据 172
10.4.4 关闭和释放游标 173
10.4.5 游标的应用 173
习题10 175
综合实训10围绕商品采购创建自定义函数 175
第11章 存储过程 176
11.1 存储过程概述 176
11.1.1 存储过程的执行过程 176
11.1.2 存储过程的优点 177
11.2 创建存储过程 177
11.2.1 创建存储过程的基本语法 177
11.2.2 创建存储过程返回结果集 178
11.2.3 创建存储过程返回单个值 180
11.2.4 游标在存储过程中的应用 181
11.3 存储过程的维护 182
11.3.1 图形界面下存储过程的维护 182
11.3.2 使用SQL命令维护存储过程 183
11.4 系统存储过程和扩展存储过程 183
11.4.1 系统存储过程 183
11.4.2 扩展存储过程 184
习题11 184
综合实训11围绕商品库存创建存储过程 184
第12章 触发器 186
12.1 事务控制 186
12.1.1 事务控制的概念 186
12.1.2 事务控制的实现 187
12.2 触发器的概念 190
12.2.1 触发器简介 190
12.2.2 触发器的作用 190
12.3 创建触发器 191
12.3.1 创建触发器的语法格式 191
12.3.2 创建INSERT触发器 192
12.3.3 创建DELETE触发器 192
12.3.4 创建UPDATE触发器 195
12.4 触发器的维护 197
12.4.1 查看触发器的信息 197
12.4.2 修改或删除触发器 198
12.4.3 禁止或启用触发器 198
12.4.4 设置触发器的触发顺序 199
12.5 触发器的嵌套与递归调用 201
12.5.1 触发器的嵌套 201
12.5.2 触发器的递归 204
习题12 205
综合实训12围绕“商品定价信息”表创建触发器 206
第13章 触发器的综合应用 207
13.1 问题描述 207
13.2 设计与实现 208
13.2.1 创建商品采购单表的插入触发器 208
13.2.2 创建采购单明细表的插入触发器 209
13.2.3 创建入库单明细表的插入触发器 212
13.2.4 创建入库单明细表的删除触发器 214
13.2.5 创建采购单明细表的删除触发器 215
13.2.6 创建商品采购单表的删除触发器 217
13.2.7 创建入库单明细表的修改触发器 218
13.2.8 创建商品入库单表的修改触发器 223
13.2.9 创建采购单明细表的修改触发器 225
13.2.10 创建商品采购单表的修改触发器 230
习题13 232
综合实训13触发器的综合应用 232
第14章 空间数据处理 233
14.1 空间数据类型 233
14.1.1 空间数据的基本概念 233
14.1.2 空间数据类的层次结构 234
14.2 空间数据的操作 236
14.2.1 空间数据类型变量的赋值 236
14.2.2 创建空间数据表 237
14.2.3 添加记录 237
14.2.4 数据查询 237
14.2.5 修改和删除记录 238
14.3 Geometry类 238
14.3.1 Geometry和GeometryCollection类 238
14.3.2 Point和MultiPoint类 239
14.3.3 LineString和MultiLineString类 239
14.3.4 Polygon和MultiPolygon类 240
14.4 Geography类 242
14.5 空间数据索引 242
习题14 243
综合实训14创建中国行政区域地理数据库 243
第15章 XML数据处理 245
15.1 XML概述 245
15.1.1 XML的基本格式 245
15.1.2 XML的应用 246
15.2 使用FOR XML子句查询 247
15.2.1 使用RAW模式查询 247
15.2.2 使用AUTO模式查询 248
15.2.3 使用PATH模式查询 249
15.3 XML数据类型 249
15.3.1 XML数据类型的基本操作 249
15.3.2 XML数据类型方法的应用 250
15.4 XQuery概述 253
15.5 XML索引 254
习题15 255
综合实训15创建基于XML数据类型的数据库 255
第16章 数据库的安全管理 256
16.1 SQL Server的安全机制 256
16.2 SQL Server的身份验证模式 257
16.2.1 身份验证机制 257
16.2.2 身份验证模式的设置 257
16.3 服务器的安全管理 258
16.3.1 系统内置的登录账户 258
14.3.2 服务器登录账户管理 258
16.3.3 服务器角色管理 264
16.3.4 使用SQL命令管理登录账户 266
16.4 数据库安全管理 266
16.4.1 系统内置的数据库账户 266
16.4.2 数据库用户账户管理 267
16.4.3 数据库角色管理 268
16.4.4 使用SQL命令管理数据库用户及角色 270
16.5 数据库架构管理 270
16.5.1 架构概述 270
13.5.2 架构管理 271
16.5.3 使用SQL命令管理架构 272
16.6 操作权限管理 272
16.6.1 权限分类 272
16.6.2 权限操作 273
16.6.3 操作权限管理 273
16.6.4 使用SQL命令管理操作权限 276
习题16 278
综合实训16对marketing数据库进行安全设置 278
第17章 数据安全 279
17.1 SQL Server密钥的体系结构 279
17.2 透明数据加密(TDE)的体系结构 282
17.3 SQL Server数据加密 284
17.3.1 密码加密 284
17.3.2 对称密钥加密 284
17.3.3 非对称密钥加密 285
17.3.4 证书加密 286
17.4 密钥的备份 287
习题17 289
综合实训17对EncryptionDB数据库进行数据加密 289
参考文献 290