Pro SQL Server 2008 realtional database design and implementation

副标题:无

作   者:(美)Louis Davidson[等]著;程桦,张绪业等译

分类号:

ISBN:9787115215543

微信扫一扫,移动浏览光盘

简介

本书是关系型数据库设计与开发方面一本不可多得的好书。作者十年磨一剑,最早以SQL Server 2000为蓝本。其后经历了2005,再到2008,作品一版再版。不断推陈出新,内容也日益精炼、翔实,成为一本深得读者好评的经典著作。 本书虽然着眼于SQL Server 2008,但体现的是关系数据库设计的思想与理念。从业务人员可以理解的逻辑设计,到利用SQL Server进行物理实现的方方面面,本书贯穿始终的是融会关系数据库思想、设计高效率可伸缩的数据库。基于对关系数据库设计开发的“最佳实践”及相应理论的透彻理解,作者还阐述了怎样使用SQL Server做出优雅的设计,为充分利用宝贵的业务数据打下坚实的基础。通观全书,其写作思路清晰,观点简明实用,常能一针见血地指出要点。 本书是SQL Server开发者的必读书,对其他数据库开发者也有借鉴意义。对初级程序员来说,本书是数据库设计基础的完备教程。有经验的开发人员也可从本书中学到很多数据库开发的实用技巧。

目录

第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


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Pro SQL Server 2008 realtional database design and implementation
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon