SQL Server 2008数据库设计与实现
0推荐 收藏
3.5K阅读
图灵程序设计丛书

SQL Server 2008数据库设计与实现

Louis Davidson , Kevin Kline , Kurt Windisch (作者) 程桦 , 张绪业 (译者)
终止销售
本书深入浅出地介绍了目前世界上最受欢迎的数据库管理系统之一——SQL Server。全书共分三个部分:第一部分阐释了数据库的基本概念,讲解了数据库建模语言;第二部分展示了从概念建模到在 SQL Server 2008上真正实现数据库的过程;第三部分深入探讨了 SQL Server若干方面的技术细节,如数据保护、索引、并发访问等。通过将理论融入数据库实践,清晰地讲解了关系型数据库的设计原则,完整地展示了如何进行良好的关系型数据库设计,深入揭示了 SQL Server 2008的技术细节。
本书浓缩了作者作为 SQL Server数据库架构师多年来丰富的实践经验,适合各类数据库开发和管理人员学习参考。
纸质书
¥89.00

其他购买方式?

出版信息

同系列书

  • JavaScript高级程序设计(第4版)

    [美]马特·弗里斯比(Matt Frisbie)   李松峰   译

    本书是JavaScript经典图书的新版。第4版涵盖ECMAScript 2019,全面、深入地介绍了Java...

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • Python编程:从入门到实践(第2版)

    埃里克·马瑟斯(Eric Matthes)   袁国忠   译

    本书是针对所有层次Python读者而作的Python入门书。全书分两部分:第一部分介绍用Python编程所必须...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

本书特色

资深数据库专家的心血力作
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

暂无评论!