《SQL Server 2008数据库设计与实现》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)LouisDavidson等著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115215543
  • 页数:560 页
图书介绍:本书深入浅出地介绍了目前世界上最受欢迎的数据库管理系统之一——SQL Server。通过将理论融入数据库实践,清晰地讲解了关系型数据库的设计原则,完整地展示了如何进行良好的关系型数据库设计,深入揭示了SQL Server 2008的技术细节。

第1章 数据库概念简介 1

1.1数据库设计阶段 2

1.1.1概念阶段 3

1.1.2逻辑阶段 5

1.1.3实现阶段 5

1.1.4物理阶段 6

1.2关系数据结构 6

1.2.1数据库和模式 6

1.2.2表、行和列 7

1.2.3信息原则 10

1.2.4域 12

1.2.5元数据 13

1.2.6键 13

1.2.7未显式赋值的项(NULL) 18

1.3实体之间的关系 20

1.3.1二元关系 21

1.3.2非二元关系 24

1.4数据访问语言(SQL) 24

1.5理解依赖性 25

1.5.1函数依赖性 26

1.5.2判定 26

1.6总结 27

第2章 数据建模语言 28

2.1数据建模介绍 28

2.2实体 29

2.3属性 32

2.3.1主键 33

2.3.2替代键 35

2.3.3外键 35

2.3.4域 36

2.3.5命名 38

2.4关系 39

2.4.1识别性关系 40

2.4.2非识别性关系 40

2.4.3角色名字 43

2.4.4关系基数 44

2.4.5动词短语(关系名字) 49

2.5描述信息 51

2.6其他建模方法 52

2.6.1信息工程 53

2.6.2 Chen ERD 54

2.6.3 Visio 55

2.6.4 Management Studio数据库关系图 56

2.7最佳实践 57

2.8总结 57

第3章 概念阶段数据建模 59

3.1理解需求 60

3.2文档化过程 61

3.3需求收集 62

3.3.1客户访谈 63

3.3.2要回答的问题 64

3.3.3现存的系统和原型 67

3.3.4其他类型的文档 67

3.4识别对象和过程 69

3.4.1识别实体 70

3.4.2实体间关系 76

3.4.3识别属性和域 82

3.5识别业务规则和业务过程 90

3.5.1识别业务规则 90

3.5.2识别基础业务过程 92

3.6完成概念模型 93

3.6.1识别明显的、额外的数据需求 94

3.6.2和客户一起评审 95

3.6.3重复以上步骤直到客户同意你的模型 95

3.7最佳实践 95

3.8总结 96

第4章 规范化过程 97

4.1为什么要规范化 98

4.1.1消灭重复数据 98

4.1.2避免编写不必要的代码 98

4.1.3给表瘦身 98

4.1.4最大化聚集索引的使用 99

4.1.5降低每张表中索引的数量 99

4.2规范化应该走多远 99

4.3规范化过程 100

4.4实体和属性的形式:第一范式 100

4.4.1所有属性必须是原子的 101

4.4.2实体的所有实例必须包含相同数量的值 104

4.4.3实体中出现的所有实体类型都必须不同 106

4.4.4第一范式所避免的不规则编程 106

4.4.5当前设计不符合第一范式的线索 110

4.5属性间的关系 111

4.5.1第二范式 111

4.5.2第三范式 116

4.5.3 Boyce-Codd范式 121

4.6实体中的多值依赖 124

4.6.1第四范式 124

4.6.2第五范式 135

4.7非规范化 136

4.8最佳实践 136

4.9总结 137

4.10额外的例子 137

4.11本书迄今为止所讲述的故事 142

第5章 实现基础的表结构 144

5.1评审逻辑设计 147

5.2变换设计 148

5.2.1选择名字 148

5.2.2处理子类型 151

5.2.3决定树的实现方式 155

5.2.4选择键的实现方式 156

5.2.5决定域的实现方式 161

5.2.6设置模式 172

5.2.7评审“最终的”实现模型 172

5.3实现设计 173

5.3.1创建基本表结构 175

5.3.2添加唯一性约束 183

5.3.3构建默认约束 189

5.3.4添加关系(外键) 195

5.3.5处理排序规则和排序 205

5.3.6计算列 209

5.3.7实现用户定义的数据类型 212

5.3.8文档化你的数据库 220

5.3.9处理依赖信息 222

5.4最佳实践 225

5.5总结 226

第6章 保护数据的完整性 228

6.1最佳实践 229

6.2自动数据保护 231

6.2.1声明性数据保护 231

6.2.2基本语法 233

6.2.3基于简单表达式的CHECK约束 235

6.2.4基于函数的CHECK约束 237

6.2.5约束引起的错误 242

6.2.6 DML触发器 244

6.2.7处理来自触发器和约束的错误 277

6.3手动数据保护 280

6.4更多最佳实践 287

6.5总结 287

第7章 模式与查询技术 289

7.1预计算值 290

7.1.1序列表 290

7.1.2日期计算 297

7.2二进制大型对象(BLOB) 305

7.3存储用户自定义数据 307

7.3.1一长串通用列 308

7.3.2实体-属性-值(EAV) 309

7.3.3往表中增加列 313

7.4通用实现对象 318

7.5反模式 319

7.5.1多用途键域 320

7.5.2通用键引用 322

7.5.3对非结构化数据的过度使用 325

7.6总结 326

7.7回顾与展望 326

第8章 数据访问安全 328

8.1安全主体与安全对象 329

8.2数据库安全概述 330

8.2.1模拟 331

8.2.2权限 333

8.2.3控制对象访问 334

8.2.4角色 338

8.2.5模式 344

8.3通过T-SQL编程对象控制对象访问 345

8.3.1存储过程和标量函数 346

8.3.2对象内模拟 347

8.3.3跨数据库边界 352

8.3.4不同的服务器(分布式查询) 357

8.4视图与表值函数 357

8.4.1一般用法 358

8.4.2使用视图实现可配置的行级安全 360

8.5数据混淆 364

8.6监视与审核 367

8.6.1服务器与数据库审核 367

8.6.2使用DML触发器查看表的变更历史 371

8.6.3 DDL触发器 374

8.6.4分析器日志 377

8.7最佳实践 379

8.8总结 380

第9章 表结构与索引 382

9.1数据库物理结构 383

9.1.1文件与文件组 383

9.1.2分区与页 386

9.1.3页中的数据 388

9.1.4分区 391

9.2索引概览 393

9.3基本索引结构 393

9.4索引类型 395

9.4.1聚集索引 395

9.4.2非聚集索引 397

9.4.3聚集表上的非聚集索引 398

9.5索引创建的基本方法 400

9.6基本的索引使用模式 402

9.6.1使用聚集索引 403

9.6.2使用非聚集索引 405

9.6.3使用唯一索引 416

9.7高级的索引使用案例 416

9.7.1外键索引 416

9.7.2索引视图 419

9.8最佳实践 422

9.9总结 423

第10章 并发编程 425

10.1什么是并发 426

10.2查询优化的基础知识 427

10.3操作系统与硬件因素 428

10.4事务 429

10.4.1事务语法 430

10.4.2已编译的SQL Server代码 437

10.5 SQL Server并发控制 444

10.5.1锁 445

10.5.2隔离级别 448

10.6完整性与并发性编程 459

10.6.1悲观锁定 459

10.6.2实现单线程代码块 461

10.6.3乐观锁定 463

10.6.4基于行的锁定 464

10.6.5逻辑工作单元 469

10.7最佳实践 470

10.8总结 471

第11章 数据访问策略 472

11.1即席SQL 473

11.1.1优点 474

11.1.2缺陷 480

11.2存储过程 484

11.2.1封装性 485

11.2.2动态存储过程 486

11.2.3安全性 488

11.2.4性能 490

11.2.5缺陷 491

11.2.6观点 495

11.3 T-SQL与CLR(公共语言运行时) 497

11.3.1选择T-SQL的准则 500

11.3.2选择.NET的准则 501

11.3.3 CLR对象类型 501

11.4最佳实践 503

11.5总结 504

附录A Codd的RDBMS十二法则 506

附录B 标量数据类型参考 511

索引 538