书籍详情

SQL Server 2008数据库设计与实现

SQL Server 2008数据库设计与实现

作者:(美)戴维森 等著,程桦 等译

出版社:人民邮电出版社

出版时间:2009-11-01

ISBN:9787115215543

定价:¥89.00

购买这本书可以去
内容简介
  《SQL Server 2008数据库设计与实现》深入浅出地介绍了目前世界上最受欢迎的数据库管理系统之一——SQL Server。全书共分三个部分:第一部分阐释了数据库的基本概念,讲解了数据库建模语言;第二部分展示了从概念建模到在SQL Server 2008上真正实现数据库的过程;第三部分深入探讨了SQL Server若干方面的技术细节,如数据保护、索引、并发访问等。通过将理论融入数据库实践,清晰地讲解了关系型数据库的设计原则,完整地展示了如何进行良好的关系型数据库设计,深入揭示了SQL Server 2008的技术细节。《SQL Server 2008数据库设计与实现》浓缩了作者作为SQL Server数据库架构师多年来丰富的实践经验,适合各类数据库开发和管理人员学习参考。
作者简介
  Louis Davidson,作为企业数据库开发人员和架构师,他拥有超过15年的工作经验。目前他是田纳西州Nashville的Christian广播网络和NorthStar工作室的数据架构师。对于Louis而言,他全部的职业经验几乎都与微软的SQL Server有关,从早期版本一直到当前最新版本的Beta版。Louis是一本讲数据库设计的书的4个版本的主要作者。Louis主要的兴趣领域是数据库架构和用T-SQL编码,并且,他设计过许多数据库,在这许多年中编写过数以千计的存储过程和触发器。关于特约作者Kevin Kline,是Quest软件公司SQL Server解决方案的技术战略经理。Kevin从2004年开始就是微软的SQL Server MVP,他是国际SQL Server专家联盟(PASS)创立委员会的成员和上一届总裁。他独自写作或参与合著了好几本书,包括SQLin a Nutshell(OReily,2004)、Pro SQL Server 2005 Database Design andOptimization(hpress,2006)以及Database BenchmarMng:Practical Methodsfo,Oracle & SQL Server(Rampant,2007)。Kevin给SQLServerMagazine和DatabaseTrends and Applications杂志供稿,他的博客可以在SQLBlog.com和SQLMag.com上找到。在世界范围内的会议上,比如微软的Tech Ed、PASS社区峰会、微软IT论坛、DevTeach以及SQL Connections,Kevin也是人气最高的演讲者。从1986年开始Kevin就活跃在IT工业中。Scott Klein,是一位独立咨询师,对SQL Server、.NET和XML相关的所有知识都充满热情。他是几本书的作者,这包括ProfessionalSQLServer2005XML(Wrox,2006)和ProfessionalLINQ(Wrox,2008),他还为SQL PASS Community Connector写每两周一次的特辑文章。他也为好几个网站供稿,这包括Wrox(http:llwww.wrox.com)和TopXML(http://www.topxml.com)。他经常同佛罗里达附近的SQLServer和.NET用户群体交流。Scott在佛罗里达的Wellington,当他不坐在计算机前时,你会发现他和自己的家人在一起,或者骑着他的雅马哈摩托车轰鸣在当地的摩托车越野赛赛道上。你可以通过ScottKlein@SqlXml.com联系他。Kurt Windisch,是Levi,Ray,and Shoup,Inc.公司内部IT部门的应用程序监管,该公司是一家技术方案的全球供应商,总部位于伊利诺伊州的springfield。Kurt在ITI业中的经验超过了17年。他在SQLServer专家联盟的董事会中服务了5年,为很多SQL Server杂志供过稿,也在讨论SQL Server数据库编程的国际会议上发过言。
目录
第1章 数据库概念简介
 1.1 数据库设计阶段
  1.1.1 概念阶段
  1.1.2 逻辑阶段
  1.1.3 实现阶段
  1.1.4 物理阶段
 1.2 关系数据结构
  1.2.1 数据库和模式
  1.2.2 表、行和列
  1.2.3 信息原则
  1.2.4 域
  1.2.5 元数据
  1.2.6 键
  1.2.7 未显式赋值的项(NULL)
 1.3 实体之间的关系
  1.3.1 二元关系
  1.3.2 非二元关系
 1.4 数据访问语言(SQL)
 1.5 理解依赖性
  1.5.1 函数依赖性
  1.5.2 判定
 1.6 总结
第2章 数据建模语言
 2.1 数据建模介绍
 2.2 实体
 2.3 属性
  2.3.1 主键
  2.3.2 替代键
  2.3.3 外键
  2.3.4 域
  2.3.5 命名
 2.4 关系
  2.4.1 识别性关系
  2.4.2 非识别性关系
  2.4.3 角色名字
  2.4.4 关系基数
  2.4.5 动词短语(关系名字)
 2.5 描述信息
 2.6 其他建模方法
  2.6.1 信息工程
  2.6.2 Chen ERD
  2.6.3 Visio
  2.6.4 Management Studio数据库关系图
 2.7 最佳实践
 2.8 总结
第3章 概念阶段数据建模
 3.1 理解需求
 3.2 文档化过程
 3.3 需求收集
  3.3.1 客户访谈
  3.3.2 要回答的问题
  3.3.3 现存的系统和原型
  3.3.4 其他类型的文档
 3.4 识别对象和过程
  3.4.1 识别实体
  3.4.2 实体间关系
  3.4.3 识别属性和域
 3.5 识别业务规则和业务过程
  3.5.1 识别业务规则
  3.5.2 识别基础业务过程
 3.6 完成概念模型
  3.6.1 识别明显的、额外的数据需求
  3.6.2 和客户一起评审
  3.6.3 重复以上步骤直到客户同意你的模型
 3.7 最佳实践
 3.8 总结
第4章 规范化过程
 4.1 为什么要规范化
  4.1.1 消灭重复数据
  4.1.2 避免编写不必要的代码
  4.1.3 给表瘦身
  4.1.4 最大化聚集索引的使用
  4.1.5 降低每张表中索引的数量
 4.2 规范化应该走多远
 4.3 规范化过程
 4.4 实体和属性的形式:第一范式
  4.4.1 所有属性必须是原子的
  4.4.2 实体的所有实例必须包含相同数量的值
  4.4.3 实体中出现的所有实体类型都必须不同
  4.4.4 第一范式所避免的不规则编程
  4.4.5 当前设计不符合第一范式的线索
 4.5 属性间的关系
  4.5.1 第二范式
  4.5.2 第三范式
  4.5.3 Boyce-Codd范式
 4.6 实体中的多值依赖
  4.6.1 第四范式
  4.6.2 第五范式
 4.7 非规范化
 4.8 最佳实践
 4.9 总结
 4.10 额外的例子
 4.11 本书迄今为止所讲述的故事
第5章 实现基础的表结构
 5.1 评审逻辑设计
 5.2 变换设计
  5.2.1 选择名字
  5.2.2 处理子类型
  5.2.3 决定树的实现方式
  5.2.4 选择键的实现方式
  5.2.5 决定域的实现方式
  5.2.6 设置模式
  5.2.7 评审“最终的”实现模型
 5.3 实现设计
  5.3.1 创建基本表结构
  5.3.2 添加唯一性约束
  5.3.3 构建默认约束
  5.3.4 添加关系(外键)
  5.3.5 处理排序规则和排序
  5.3.6 计算列
  5.3.7 实现用户定义的数据类型
  5.3.8 文档化你的数据库
  5.3.9 处理依赖信息
 5.4 最佳实践
 5.5 总结
第6章 保护数据的完整性
 6.1 最佳实践
 6.2 自动数据保护
  6.2.1 声明性数据保护
  6.2.2 基本语法
  6.2.3 基于简单表达式的CHECK约束
  6.2.4 基于函数的CHECK约束
  6.2.5 约束引起的错误
  6.2.6 DML触发器
  6.2.7 处理来自触发器和约束的错误
 6.3 手动数据保护
 6.4 更多最佳实践
 6.5 总结
第7章 模式与查询技术
 7.1 预计算值
  7.1.1 序列表
  7.1.2 日期计算
 7.2 二进制大型对象(BLOB)
 7.3 存储用户自定义数据
  7.3.1 一长串通用列
  7.3.2 实体-属性-值(EAV)
  7.3.3 往表中增加列
 7.4 通用实现对象
 7.5 反模式
  7.5.1 多用途键域
  7.5.2 通用键引用
  7.5.3 对非结构化数据的过度使用
 7.6 总结
 7.7 回顾与展望
第8章 数据访问安全
 8.1 安全主体与安全对象
 8.2 数据库安全概述
  8.2.1 模拟
  8.2.2 权限
  8.2.3 控制对象访问
  8.2.4 角色
  8.2.5 模式
 8.3 通过T-SQL编程对象控制对象访问
  8.3.1 存储过程和标量函数
  8.3.2 对象内模拟
  8.3.3 跨数据库边界
  8.3.4 不同的服务器(分布式查询)
 8.4 视图与表值函数
  8.4.1 一般用法
  8.4.2 使用视图实现可配置的行级安全
 8.5 数据混淆
 8.6 监视与审核
  8.6.1 服务器与数据库审核
  8.6.2 使用DML触发器查看表的变更历史
  8.6.3 DDL触发器
  8.6.4 分析器日志
 8.7 最佳实践
 8.8 总结
第9章 表结构与索引
 9.1 数据库物理结构
  9.1.1 文件与文件组
  9.1.2 分区与页
  9.1.3 页中的数据
  9.1.4 分区
 9.2 索引概览
 9.3 基本索引结构
 9.4 索引类型
  9.4.1 聚集索引
  9.4.2 非聚集索引
  9.4.3 聚集表上的非聚集索引
 9.5 索引创建的基本方法
 9.6 基本的索引使用模式
  9.6.1 使用聚集索引
  9.6.2 使用非聚集索引
  9.6.3 使用唯一索引
 9.7 高级的索引使用案例
  9.7.1 外键索引
  9.7.2 索引视图
 9.8 最佳实践
 9.9 总结
第10章 并发编程
 10.1 什么是并发
 10.2 查询优化的基础知识
 10.3 操作系统与硬件因素
 10.4 事务
  10.4.1 事务语法
  10.4.2 已编译的SQL Server代码
 10.5 SQL Server并发控制
  10.5.1 锁
  10.5.2 隔离级别
 10.6 完整性与并发性编程
  10.6.1 悲观锁定
  10.6.2 实现单线程代码块
  10.6.3 乐观锁定
  10.6.4 基于行的锁定
  10.6.5 逻辑工作单元
 10.7 最佳实践
 10.8 总结
第11章 数据访问策略
 11.1 即席SQL
  11.1.1 优点
  11.1.2 缺陷
 11.2 存储过程
  11.2.1 封装性
  11.2.2 动态存储过程
  11.2.3 安全性
  11.2.4 性能
  11.2.5 缺陷
  11.2.6 观点
 11.3 T-SQL与CLR(公共语言运行时)
  11.3.1 选择T-SQL的准则
  11.3.2 选择.NET的准则
  11.3.3 CLR对象类型
 11.4 最佳实践
 11.5 总结
附录A Codd的RDBMS十二法则
附录B 标量数据类型参考
索引
猜您喜欢

读书导航