《大话数据库》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:邹茂扬,田洪川编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302305712
  • 页数:464 页
图书介绍:本书以专业的教学思路讲解知识点,以初学者的思维方式提出疑问并深入答疑。采用【老田、小天】二人对话的形式讲解,其中不乏诙谐幽默的提出问题和解答问题,避免老学究式的对MSDN上知识点描述的生搬硬套;为了不影响大家以后主要的学习方式(即参考其他书籍和资料),讲述方式也由最初的嘻哈风格逐步调整为正规的讲述。让你轻松入门,最终又能够不依赖这种风格的学习资料。

第一部分 关系型数据库基础 3

第1章 概述 3

1.1 什么是数据库 4

1.2 为什么要使用数据库 4

1.3 数据库的基本概念 6

1.4 数据库的历史 7

1.5 关系数据库 8

1.6 为什么选择SQL Server 9

1.7 SQL语言 10

1.8 SQL标准 11

1.9 10分钟探索IDE 12

1.9.1 启动和登录SQL Server Management Studio 14

1.9.2 修改登录验证模式 15

1.9.3 注册数据库服务器 18

1.9.4 修改数据库服务器属性 18

1.9.5 启动和停止服务器 19

1.9.6 创建查询 19

1.9.7 使用指定数据库 19

本章小结 20

问题 20

第2章 创建和维护数据库 21

2.1 系统数据库 23

2.1.1 修改系统数据 23

2.1.2 查看系统数据 24

2.2 创建数据库 24

2.2.1 使用Transact-SQL语句创建数据库 25

2.2.2 查看数据库文件属性 27

2.3 数据库文件和文件组 28

2.3.1 数据库文件的类型 29

2.3.2 文件组 29

2.3.3 删除数据库文件 31

2.3.4 管理文件组 32

2.3.5 文件组的填充策略 33

2.3.6 优化数据库的策略 34

2.3.7 文件状态 35

2.4 数据库状态和选项 35

2.5 查看数据库 37

2.6 删除数据库 38

2.7 修改数据库 39

2.7.1 修改数据库名称 39

2.7.2 扩展数据库 40

2.7.3 收缩数据库 42

2.8 数据库快照 44

2.8.1 数据库快照的应用 45

2.8.2 数据库快照的原理 46

2.8.3 管理数据库快照 48

2.9 分离和附加数据库 51

2.9.1 分离数据库 51

2.9.2 附加数据库 52

2.1 0移动数据库文件 54

2.1 1移动和复制数据库 55

2.1 2备份和还原数据库 57

2.1 2.1 备份数据库 58

2.1 2.2 还原数据库 60

本章小结 62

问题 63

第二部分 设计、实现和使用数据库 67

第3章 Transact-SQL语言 67

3.1 SQL与Transact-SQL语言概述方式 69

3.2 Transact-SQL语言的执行方式与调试 71

3.2.1 调试代码 73

3.2.2 调试Transact-SQL代码 74

3.3 数据定义语言(DDL) 75

3.4 数据操纵语言(DML) 76

3.5 数据库控制语言(DCL) 78

3.6 附加的语言元素 78

3.6.1 标识符和命名规范 79

3.6.2 局部变量 81

3.6.3 全局变量 82

3.6.4 运算符 83

3.6.5 表达式 88

3.6.6 注释 88

3.7 数据类型 90

3.7.1 字符数据类型 91

3.7.2 数字数据类型 93

3.7.3 日期和时间数据类型 95

3.7.4 二进制数据类型 97

3.7.5 其他数据类型 98

3.7.6 用户自定义数据类型 100

3.8 内置函数 103

3.8.1 概述 103

3.8.2 如何查看SQL Server帮助中的语法 104

3.8.3 如何使用函数 109

3.8.4 函数类型 111

本章小结 133

问题 134

第4章 创建与维护表 135

4.1 概述 137

4.2 设计表时应该考虑的因素 137

4.3 E-R模型 140

4.3.1 概述 141

4.3.2 属性和主键 142

4.3.3 外键 143

4.3.4 联系 145

4.3.5 关系规范化 147

4.4 利用PowerDesigner设计数据库 150

4.4.1 PowerDesigner说明和模型设置 150

4.4.2 创建概念数据模型实体 153

4.4.3 创建概念数据模型关系 154

4.4.4 从概念数据模型到生成物理数据模型 155

4.4.5 创建物理数据模型 157

4.4.6 更新已有的物理数据模型 157

4.4.7 生成数据库脚本 158

4.5 表的基本特点和类型 159

4.5.1 表的特点 160

4.5.2 表的类型 160

4.6 创建和修改表 161

4.6.1 创建普通表 161

4.6.2 创建临时表 165

4.6.3 创建分区表 166

4.6.4 增加和删除列 171

4.6.5 修改列 173

4.6.6 创建和修改列标识符 174

4.6.7 查看表信息 178

4.6.8 删除表 179

4.7 约束 180

4.7.1 主键约束 181

4.7.2 外键约束 184

4.7.3 NOT NULL约束 187

4.7.4 DEFAULT约束 188

4.7.5 CHECK约束 190

4.7.6 UNIQUE约束 191

4.7.7 禁止与删除约束 192

本章小结 195

问题 195

第5章 操作表中的数据 197

5.1 准备工作 199

5.2 插入语句 200

5.2.1 简单的插入语句 200

5.2.2 批量插入语句 204

5.3 检索数据 207

5.3.1 选择数据列 207

5.3.2 使用文字串 207

5.3.3 改变列标题 208

5.3.4 数据运算 209

5.3.5 使用ALL与DISTINCT关键字 210

5.3.6 使用TOP关键字 212

5.3.7 排序 213

5.4 WHERE子句 216

5.4.1 简单条件查询 216

5.4.2 模糊查询 216

5.4.3 复合条件查询 218

5.4.4 使用IN子句 219

5.4.5 使用BETWEEN子句 220

5.4.6 空值与非空值 221

5.5 修改语句 222

5.6 删除语句 223

本章小结 224

问题 224

第6章 高级检索技术 225

6.1 聚合技术 228

6.1.1 SELECT子句中的聚合 228

6.1.2 COMPUTE子句中的聚合 229

6.2 分组数据 230

6.2.1 普通分组 231

6.2.2 使用HAVING子句 234

6.2.3 使用ROLLUP和CUBE 234

6.3 联合查询 237

6.4 连接查询 240

6.4.1 内连接 241

6.4.2 外连接 243

6.4.3 交叉连接 246

6.4.4 自连接 247

6.5 子查询技术 248

6.5.1 使用IN和NOTIN的子查询 248

6.5.2 ANY、ALL等比较运算符的使用 249

6.5.3 使用EXISTS关键字 250

6.5.4 子查询的规则 251

本章小结 252

问题 252

阶段作业 252

第7章 索引 253

7.1 概述 255

7.1.1 表组织 256

7.1.2 堆 257

7.1.3 B树 258

7.2 索引的优缺点 258

7.3 索引的类型 260

7.3.1 聚集索引 260

7.3.2 非聚集索引 261

7.4 索引的属性 263

7.4.1 唯一性索引 263

7.4.2 复合索引 264

7.5 创建索引 264

7.5.1 使用向导创建索引 265

7.5.2 使用CREATE INDEX语句创建索引 267

7.5.3 索引的选项 269

7.6 维护索引 270

7.6.1 查看索引碎片 270

7.6.2 重建索引 271

7.6.3 统计信息 271

7.6.4 查看索引 274

7.6.5 修改索引 274

7.6.6 删除索引 276

本章小结 278

问题 280

第8章 视图 281

8.1 概述 283

8.1.1 为什么需要视图 283

8.1.2 什么是视图 283

8.2 视图的优缺点 285

8.3 创建视图 286

8.3.1 创建视图的基本原则 287

8.3.2 使用SQL Server Management Studio创建视图 288

8.3.3 使用Transact-SQL命令创建视图 291

8.4 使用视图 292

8.5 查看视图 293

8.6 加密视图 294

8.7 修改视图 294

8.8 删除视图 295

8.9 重命名视图 295

8.1 0通过视图更新数据 296

8.1 0.1 通过视图插入数据 296

8.1 0.2 使用UPDATE修改数据 297

本章小结 298

问题 298

第9章 SQL编程及高级应用 299

9.1 概述 301

9.2 流程控制语句 301

9.2.1 IF…ELSE…语句 302

9.2.2 BEGIN…END语句 303

9.2.3 GOTO语句 305

9.2.4 WHILE BREAK和CONTINUE语句 306

9.2.5 CASE语句 309

9.2.6 WAITFOR语句 311

9.3 游标 312

9.3.1 游标的类型 313

9.3.2 选择游标类型的原则 315

9.3.3 游标的生命周期 315

9.3.4 实现Transact-SQL游标 316

9.4 用户自定义函数 327

9.4.1 创建用户自定义函数的思考 330

9.4.2 用户自定义函数的分类 331

9.4.3 创建及使用用户自定义函数 332

9.4.4 维护用户自定义函数 338

本章小结 339

问题 339

第10章 存储过程 341

10.1 概述 343

10.2 存储过程的优点 344

10.3 存储过程的分类 345

10.3.1 系统存储过程 345

10.3.2 API存储过程 346

10.3.3 用户自定义存储过程 347

10.4 创建存储过程 348

10.4.1 创建存储过程应考虑的因素 348

10.4.2 创建存储过程的语法 350

10.4.3 创建不带参数的存储过程 352

10.4.4 创建带参数的存储过程 353

10.4.5 创建返回值的存储过程 358

10.4.6 创建带有OUTPUT参数的存储过程 361

10.4.7 使用SQL Server Management Studio创建存储过程 362

10.5 维护存储过程 362

10.5.1 查看存储过程信息 363

10.5.2 加密存储过程 363

10.5.3 修改、删除存储过程 364

10.6 存储过程进阶知识 364

10.6.1 存储过程的执行过程 365

10.6.2 存储过程命名 366

本章小结 366

问题 367

第11章 触发器 369

11.1 概述 371

11.1.1 触发器与约束规则 372

11.1.2 触发器的优缺点 373

11.2 触发器的分类 374

11.2.1 DDL触发器 374

11.2.2 登录触发器 375

11.2.3 DML触发器 377

11.3 创建触发器 379

11.3.1 创建DDL触发器 379

11.3.2 可触发DDL触发器的事件 382

11.3.3 维护触发器 386

11.4 创建DML触发器 387

11.4.1 创建DML触发器的语法 388

11.4.2 创建DML触发器需要考虑的因素 389

11.4.3 创建DML触发器 391

11.5 DML触发器嵌套 394

本章小结 397

问题 397

第12章 事务和锁 399

12.1 事务概述 401

12.1.1 概念 401

12.1.2 属性 401

12.2 创建事务 402

12.2.1 使用事务考虑的因素 403

12.2.2 事务的声明和提交 404

12.2.3 事务的回滚 407

12.2.4 查看当前执行中的事务 409

12.2.5 事务的嵌套 410

12.3 事务的工作原理 412

12.4 锁定和行版本控制 413

12.5 锁定的分类 415

12.6 锁的自动优化 419

12.6.1 升级阈值 420

12.7 死锁 422

12.7.1 死锁的概念 422

12.7.2 产生死锁的主要原因和必要条件 423

12.7.3 减少和预防死锁 424

12.7.4 检测死锁 426

12.7.5 设置锁的优先级 430

本章小结 432

问题 432

第13章 全文索引 433

13.1 概述 435

13.2 全文索引概念 435

13.2.1 全文索引与查询 436

13.2.2 全文索引引擎 437

13.3 全文目录 438

13.3.1 创建全文目录 438

13.3.2 修改全文目录 440

13.3.3 查看全文目录 442

13.4 管理全文索引 443

13.4.1 创建全文索引需要考虑的因素 443

13.4.2 创建全文索引 445

13.4.3 查看全文索引 449

13.4.4 修改和删除全文索引 450

13.4.5 填充全文索引 451

13.5 使用全文索引 452

13.5.1 使用全文谓词CONTAINS和FREETEXT查询概述 454

13.5.2 使用CONTAINS谓词的简单搜索 454

13.5.3 使用CONTAINS谓词的派生词搜索 455

13.5.4 使用CONTAINS谓词的前缀词搜索 456

13.5.5 使用CONTAINS谓词的邻近词搜索 457

13.5.6 使用CONTAINS谓词的加权词搜索 457

13.5.7 使用FREETEXT查询 458

13.5.8 使用CONTAINSTABLE函数搜索 459

13.5.9 使用FREETEXTTABLE函数搜索 461

13.6 检索二进制列 461

本章小结 462

问题 463

结束语 464