
SQL Server 2012 资料库设计与开发实务
《SQL Server 2012 资料库设计与开发实务》是2013年6月清华大学出版社出版的图书,作者是陈会安。
基本介绍
- 书名:SQL Server 2012 资料库设计与开发实务
- 作者:陈会安
- ISBN:9787302318989
- 类别:图书>计算机/网路>资料库>SQL
- 定价:68元
- 出版社:清华大学出版社
- 出版时间:2013年6月
- 装帧:平装
内容简介
本书完美结合资料库理论与设计实践,除了使用大量图形来介绍资料库系统理论、实体关係模型和正规化外,更以实例介绍资料库设计。读者不仅可以使用资料库设计工具组绘製专业的实体关係图,还可以将设计结果建成SQLServer资料库,来验证实体关係模型的资料库设计理论。
本书适用于微软SQLServer2012企业版、标準版以及Express版,是资料库设计与开发人员或学校资料库设计相关课程所规划的实用教材和实训指南。
图书目录
第1章资料库系统 1
1.1资料库系统基础 1
1.1.1资料库的定义 2
1.1.2数据建模 3
1.1.3资料库环境的组件 5
1.2三层资料库系统架构 7
1.2.1概念层 8
1.2.2外部层 9
1.2.3内部层 10
1.3资料库架构 10
1.3.1三层资料库架构 11
1.3.2资料库架构之间的映射 13
1.3.3实体与逻辑数据独立 14
1.4资料库管理系统 15
1.5资料库管理员 16
1.6资料库系统的处理架构 18
1.6.1集中式处理架构 18
1.6.2分散式处理架构 19
1.7习题 20
第2章关係资料库模型 21
2.1资料库模型基础 21
2.1.1层级式资料库模型 22
2.1.2网路式资料库模型 23
2.1.3关係资料库模型 25
2.2数据结构 25
2.2.1关係表架构 25
2.2.2关係表实例 27
2.2.3定义域 28
2.2.4属性值 29
2.2.5空值 29
2.2.6关係表的特性 30
2.3数据操作或运算 30
2.3.1关係型算术 30
2.3.2关係型计算 31
2.3.3SQL语言与关係型算术与
计算 32
2.4完整性约束 32
2.4.1键约束 32
2.4.2定义域约束 36
2.4.3实体完整性 36
2.4.4引用完整性 37
2.4.5其他完整性约束 39
2.5习题 40
第3章实体关係模型与规範化 41
3.1实体关係模型与实体关係图 41
3.1.1实体关係模型的基础 41
3.1.2实体关係图的基础 42
3.1.3实体类型 44
3.1.4关係类型 44
3.1.5关係约束 45
3.1.6属性 48
3.1.7弱实体类型 49
3.2将实体关係图转换成
关係表架构 50
3.2.1将强实体类型转换成
关係表 50
3.2.2将关係类型转换成外键 50
3.2.3转换多关係类型 53
3.2.4多值属性转换成关係表 53
3.2.5弱实体类型转换成关係表 54
3.3关係表的规範化 55
3.3.1规範化的基础 55
3.3.2第一範式(1NF) 56
3.3.3第二範式(2NF) 58
3.3.4第三範式(3NF) 59
3.3.5Boyce-Codd範式(BCNF) 61
3.4习题 62
第4章SQLServer资料库管理系统 63
4.1SQLServer基础 63
4.1.1SQLServer的版本演进 64
4.1.2SQLServer的组成元素 64
4.1.3SQLServer2012的版本 66
4.2安装SQLServer2012 66
4.2.1SQLServer2012的
软硬体需求 67
4.2.2SQLServer实例的安装 68
4.3SQLServer管理工具的使用 72
4.3.1SQLServer配置管理器 72
4.3.2启动ManagementStudio
集成管理工具 76
4.3.3ManagementStudio的
使用界面 77
4.4查看SQLServer资料库对象 78
4.4.1系统资料库 78
4.4.2资料库对象 79
4.5新增SQLServer用户账户 81
4.5.1SQLServer用户管理的
基础 81
4.5.2新增登录 82
4.5.3新增资料库用户 83
4.6SQLServer在线上丛书 84
4.7习题 86
第5章资料库设计工具的使用 87
5.1资料库设计基础 87
5.1.1资料库系统开发的
生命周期 87
5.1.2资料库设计方法论 88
5.1.3安装资料库设计工具 90
5.2启动设计工具与新增模型 91
5.2.1启动与结束
ToadDataModeler 91
5.2.2新增模型 92
5.3新建实体 93
5.3.1实体的图形符号 93
5.3.2新建与删除实体 94
5.3.3新建属性和指定主键 96
5.3.4编辑属性 98
5.3.5创建索引 98
5.4创建关係性 99
5.4.1关係性的图形符号 100
5.4.2创建关係性 102
5.4.3编辑关係性 104
5.4.4设定引用完整性规则 105
5.4.5指定新的外键 106
5.5生成报告和SQL命令 106
5.5.1生成资料库设计档案 107
5.5.2生成SQL的DDL命令 109
5.6习题 110
第6章SQL语言与资料库创建 111
6.1SQL语言基础 111
6.1.1SQL结构化查询语言 111
6.1.2SQL语言的基本语法 112
6.1.3SQL语言的命令种类 113
6.1.4在ManagementStudio中
执行SQL脚本档案 114
6.2SQLServer的资料库结构 116
6.2.1资料库档案与档案组 116
6.2.2分页 118
6.2.3範围 118
6.3创建用户资料库 119
6.3.1在ManagementStudio中
创建资料库 119
6.3.2使用T-SQL命令
创建资料库 121
6.3.3创建多档案组的资料库 122
6.4修改用户资料库 124
6.4.1使用ManagementStudio修改
用户资料库 125
6.4.2资料库选项 126
6.4.3使用T-SQL命令
修改用户资料库 128
6.5删除用户资料库 130
6.6资料库的分离与附加 131
6.6.1分离资料库 131
6.6.2附加资料库 132
6.6.3使用T-SQL命令分离与
附加资料库 134
6.7习题 135
第7章创建数据表与完整性约束 137
7.1数据类型 137
7.1.1数值数据类型 137
7.1.2日期数据类型 139
7.1.3字元与位串流数据类型 140
7.1.4其他数据类型 142
7.1.5用户自定义数据类型 143
7.2数据表的创建 143
7.2.1使用ManagementStudio
创建数据表 144
7.2.2使用T-SQL命令
创建数据表 146
7.2.3创建计算列 148
7.2.4稀疏栏位的使用 149
7.3创建完整性约束 149
7.3.1约束的基础 149
7.3.2创建PRIMARYKEY
约束 150
7.3.3创建CHECK约束 151
7.3.4创建数据表的关係性 152
7.4修改与删除数据表 155
7.4.1修改数据表名称 156
7.4.2修改数据表栏位 156
7.4.3修改约束 157
7.4.4删除数据表 158
7.5创建SQLServer资料库
关係图 159
7.6临时表的创建 161
7.7习题 162
第8章SELECT语句的基本查询 163
8.1SELECT查询命令 163
8.2SELECT子句 164
8.2.1数据表的栏位 164
8.2.2栏位别名 166
8.2.3计算值栏位 166
8.2.4删除重複记录 168
8.2.5查询前几笔记录 169
8.3FROM子句 170
8.4WHERE子句 170
8.4.1比较运算符 171
8.4.2逻辑运算符 172
8.4.3算术运算符 178
8.5聚合函式的摘要查询 179
8.5.1COUNT()函式 179
8.5.2AVG()函式 180
8.5.3MAX()函式 181
8.5.4MIN()函式 181
8.5.5SUM()函式 182
8.6分组查询GROUPBY子句 183
8.6.1GROUPBY子句 183
8.6.2HAVING子句 184
8.6.3WITHROLLUP和
WITHCUBE 185
8.6.4GROUPINGSETS子句 187
8.7排序ORDERBY子句 187
8.8习题 189
第9章SELECT语句的高级查询 191
9.1SQL的多数据表查询 191
9.2连线查询 192
9.2.1连线查询的种类 192
9.2.2内连线查询 194
9.2.3外连线查询 198
9.2.4交叉连线查询 201
9.3集合运算查询 202
9.3.1集合运算查询的种类 202
9.3.2UNION并集查询 203
9.3.3INTERSECT交集查询 204
9.3.4EXCEPT差集查询 204
9.4子查询 205
9.4.1子查询的基础 205
9.4.2比较运算符的子查询 206
9.4.3逻辑运算符的子查询 206
9.5T-SQL高级查询技巧 210
9.5.1OFFSET和FETCHNEXT的
分页查询 210
9.5.2NULL空值的处理 212
9.5.3CTE一般数据表表达式 213
9.6使用ManagementStudio设计
SQL查询 216
9.6.1使用查询设计工具 216
9.6.2编写数据表的脚本 220
9.7习题 221
第10章新增、更新和删除数据 223
10.1使用ManagementStudio
编辑记录数据 223
10.2新增记录 225
10.2.1INSERT命令 225
10.2.2行构造器 227
10.2.3INSERT/SELECT
命令 227
10.2.4SELECTINTO命令 228
10.3更新记录 229
10.3.1UPDATE命令 229
10.3.2在UPDATE命令
使用子查询 230
10.3.3合併更新 231
10.4删除记录 232
10.4.1DELETE命令 232
10.4.2子查询与合併删除 233
10.4.3TRUNCATETABLE
命令 234
10.5MERGE命令 235
10.6DML命令的OUTPUT
子句 238
10.7习题 240
第11章视图的创建 241
11.1视图基础 241
11.1.1SQLServer视图 241
11.1.2视图的种类 242
11.1.3视图的优缺点 242
11.2创建视图 243
11.2.1使用ManagementStudio
创建视图 243
11.2.2使用T-SQL命令
创建视图 246
11.2.3从其他视图创建视图 251
11.3修改与删除视图 251
11.3.1修改视图 251
11.3.2删除视图 253
11.4编辑视图的内容 254
11.4.1在视图中添加记录 255
11.4.2在视图中更新记录 256
11.4.3在视图中删除记录 257
11.5习题 258
第12章规划与创建索引 259
12.1索引基础 259
12.1.1索引简介 260
12.1.2索引的种类 260
12.1.3M路搜寻树与B树 261
12.1.4SQLServer的
索引结构 262
12.2数据表的索引规划 263
12.2.1索引的优缺点 264
12.2.2创建索引的注意事项 264
12.2.3选择索引栏位 265
12.3SQLServer自动创建的
索引 265
12.3.1PRIMARYKEY栏位的
索引 265
12.3.2UNIQUE栏位的索引 267
12.4创建数据表的索引 267
12.4.1使用ManagementStudio
创建索引 268
12.4.2使用T-SQL命令
创建索引 271
12.5修改、重新生成与
删除索引 272
12.5.1使用ManagementStudio
修改与重新生成数据表的
索引 272
12.5.2使用T-SQL命令修改与
重新生成索引 274
12.5.3删除数据表的索引 275
12.6查看SQLServer的
执行计画 275
12.7创建视图与计算列的
索引 276
12.7.1创建计算列的索引 276
12.7.2创建视图索引 278
12.8筛选索引与列存放区
索引 281
12.8.1筛选索引 281
12.8.2列存放区索引 282
12.9习题 284
第13章Transact-SQL程式设计 285
13.1Transact-SQL语言基础 285
13.1.1Transact-SQL
资料库语言 286
13.1.2Transact-SQL
脚本档案 286
13.2批处理的使用 287
13.2.1批处理的基础 287
13.2.2使用GO命令
定义批处理 287
13.3批注与自定义信息 288
13.3.1批注 288
13.3.2PRINT命令输出
自定义信息 289
13.3.3USE命令转换资料库 289
13.4变数的声明与使用 290
13.4.1声明变数与变数初值 290
13.4.2指定变数值 291
13.4.3变数的範围 295
13.4.4SQLServer的
系统函式 295
13.5表达式与运算符 296
13.5.1运算符的优先权 296
13.5.2T-SQL的运算符 297
13.5.3简洁的T-SQL表达式 298
13.5.4类型转换运算符 299
13.6流程控制结构 299
13.6.1BEGIN/END命令块 300
13.6.2IF/ELSE条件
控制命令 300
13.6.3RETURN中断
查询命令 302
13.6.4CASE多条件函式 303
13.6.5WHILE循环控制 305
13.6.6GOTO跳转至
指定标籤 307
13.6.7WAITFOR暂停执行 308
13.6.8IIF与CHOOSE函式 309
13.7错误处理 311
13.7.1错误处理结构 311
13.7.2使用RAISERROR()
函式产生错误信息 312
13.7.3THROW命令语句 314
13.8生成SQLServer脚本 315
13.8.1编写资料库的脚本 315
13.8.2生成SQLServer
脚本嚮导 317
13.9习题 320
第14章存储过程与序列对象 321
14.1存储过程基础 321
14.1.1存储过程简介 321
14.1.2存储过程的优点 322
14.2创建与执行存储过程 323
14.2.1创建存储过程 323
14.2.2执行存储过程 325
14.2.3创建临时存储过程 327
14.3存储过程的参数传递 328
14.3.1创建拥有参数的
存储过程 328
14.3.2默认值参数 330
14.3.3嵌套调用 331
14.4存储过程的返回值 332
14.4.1使用RETURN
关键字 332
14.4.2使用OUTPUT
关键字 334
14.5修改与删除存储过程 335
14.5.1修改存储过程 335
14.5.2删除存储过程 336
14.6系统存储过程 336
14.7创建与使用序列对象 338
14.7.1创建序列对象 338
14.7.2使用序列对象 341
14.7.3修改与删除序列对象 342
14.8习题 343
第15章自定义函式与数据游标 345
15.1自定义函式基础 345
15.2创建自定义函式 346
15.2.1标量值函式 347
15.2.2内联表值函式 349
15.2.3多语句数据表值函式 351
15.3自定义函式的使用 352
15.3.1使用在条件约束或
栏位属性 352
15.3.2创建计算栏位 354
15.3.3使用在流程控制与
表达式 355
15.3.4替换视图和临时表 355
15.4修改与删除自定义函式 356
15.4.1修改自定义函式 356
15.4.2删除自定义函式 357
15.5使用数据游标 357
15.5.1数据游标的基础 357
15.5.2使用数据游标的步骤 358
15.5.3数据游标的系统函式 361
15.5.4使用数据游标更新与删除
数据 363
15.5.5数据游标变数与参数 365
15.6习题 366
第16章触发器 367
16.1触发器基础 367
16.2DML触发器 368
16.2.1创建DML触发器 369
16.2.2DML触发器与约束 371
16.2.3创建AFTER触发器 372
16.2.4创建INSTEADOF
触发器 376
16.2.5使用UPDATE()函式 379
16.3修改、禁用与删除DML
触发器 380
16.3.1修改触发器 381
16.3.2禁用触发器 382
16.3.3删除触发器 383
16.4DDL触发器 383
16.5习题 384
第17章事务处理与锁定 387
17.1事务基础 387
17.1.1事务简介 387
17.1.2事务状态 388
17.1.3事务停止执行的原因 389
17.1.4事务的四大特性 390
17.2事务处理 390
17.2.1SQLServer的
事务模式 390
17.2.2T-SQL语言的
事务处理 391
17.2.3嵌套事务 393
17.2.4事务储存点 394
17.3并发控制 395
17.3.1并发控制的三种问题 395
17.3.2并发控制机制 396
17.3.3事务的隔离性等级 397
17.4数据锁定 398
17.4.1锁定层级 399
17.4.2锁定模式 399
17.4.3锁定模式兼容性 400
17.5死锁问题 401
17.5.1死锁的基础 401
17.5.2指定死锁的优先权 401
17.5.3预防死锁的程式技巧 401
17.6习题 402
第18章SQLServer客户端
程式开发与LINQ 403
18.1资料库程式设计基础 403
18.1.1资料库程式设计的
程式语言 403
18.1.2资料库程式设计的
操作 404
18.2中间件与ADO.NET组件 404
18.2.1微软的中间件 404
18.2.2ADO.NET的基础 405
18.3VisualBasic创建客户端
程式 407
18.3.1DataSet对象与数据
绑定 407
18.3.2事务处理 411
18.4LINQ基础 416
18.5使用LINQtoSQL 417
18.5.1创建LINQtoSQL
项目 417
18.5.2实现LINQtoSQL 419
18.6LINQ查询字句 421
18.6.1Select子句 422
18.6.2Where子句 422
18.6.3OrderBy子句 423
18.6.4Join子句 423
18.7习题 424
第19章FILESTREAM、FileTable
与XML 425
19.1FILESTREAM档案
数据流 425
19.1.1FILESTREAM档案
数据流的基础 425
19.1.2启用FILESTREAM档案
数据流的支持 426
19.1.3创建FILESTREAM
档案组 427
19.1.4创建FILESTREAM
数据表 428
19.1.5访问FILESTREAM
数据 429
19.2FileTable档案数据表 430
19.2.1FileTable档案数据表的
基础 430
19.2.2创建FileTable档案
数据表 431
19.2.3在FileTable档案数据表
新增数据 433
19.3使用XML数据类型 435
19.3.1创建拥有XML栏位的
数据表 436
19.3.2XML对象的相关方法 438
19.4XML查询语言 439
19.4.1XPath语言 439
19.4.2XQuery语言 445
19.4.3XQuery基本语法 447
19.4.4XQuery的FLWOR
表达式 448
19.4.5XQuery的条件表达式 450
19.4.6XQuery函式 451
19.5XML-DML操作语言 452
19.5.1插入XML元素 452
19.5.2更新XML元素 453
19.5.3删除XML元素 453
19.6习题 454
第20章SQLServer全文搜寻 455
20.1SQLServer全文搜寻概述 455
20.1.1全文搜寻的基础 456
20.1.2SQLServer整合全文
搜寻架构 456
20.1.3启用SQLServer的
全文搜寻 457
20.2全文目录的创建 458
20.2.1使用ManagementStudio
创建全文目录 458
20.2.2使用T-SQL命令创建
全文目录 460
20.3创建全文索引 460
20.3.1使用ManagementStudio
创建全文索引 460
20.3.2使用T-SQL命令
创建全文索引 464
20.4修改与删除全文目录与
索引 465
20.4.1修改全文目录 466
20.4.2修改与禁用全文索引 467
20.4.3删除全文索引 468
20.4.4删除全文目录 469
20.5填充的使用 469
20.5.1在SQLServer中
执行填充 469
20.5.2创建填充计画 471
20.6使用全文搜寻 473
20.6.1使用FREETEXT
执行搜寻 473
20.6.2使用CONTAINS
执行单词搜寻 474
20.6.3全文检索的符合
程度搜寻 477
20.7习题 479