标题：数据库原理（第5版）
基本信息
作者： (美) David M. Kroenk    David J.Auer    [作译者介绍]  [1]译者： 赵艳铎 葛萌萌 
丛书名： 国外计算机科学经典教材 
出版社：清华大学出版社 
ISBN：9787302263432
上架时间：2011-11-16
出版日期：2011 年11月
开本：16开
页码：1
版次：5-1
作译者介绍
David M. Kroenke在1967年作为Rand公司的暑期实习生进入了计算行业。此后，他的职业生涯涉及教育、工业、顾问和出版等领域。
Kroenke曾经在华盛顿大学、科罗拉多州立大学、西雅图大学任教。在多年的教学生涯中，他组织了数十次由大学教授参加的教学研讨会。1991年，国际信息系统协会(International Association of Information System)授予他“年度计算机教育家”的荣誉称号。
在工业方面，Kroenke曾经为美国空军和波音计算机服务公司工作，是三家公司的主要创办人。他曾任Microrim公司负责产
目录
《数据库原理(第5版)》 
第Ⅰ部分 数据库基础 
第1章 数据库入门 3 
1.1 使用数据库的原因 3 
1.1.1 关于列表的问题 4 
1.1.2 使用关系数据库表 6 
1.1.3 关系表的处理 10 
1.2 数据库系统的概念 12 
1.2.1 数据库 12 
1.2.2 dbms 13 
1.2.3 个人数据库系统和企业级 
数据库系统 16 
1.3 access工作台：第一部分—— 
熟悉microsoft access 17 
1.3.1 wallingford motors客户 
关系管理系统 18 
1.3.2 创建access数据库 18 
1.3.3 office fluent用户界面 20 
1.3.4 关闭数据库，退出access 22 
1.3.5 打开已有的access数据库 23 
.1.3.6 创建access数据库表 24 
1.3.7 在表中插入数据——数据 
表视图 30 
1.3.8 修改表中的数据——数据 
表视图 33 
1.3.9 删除表中的行——数据 
表视图 34 
1.3.10 在表中插入数据——使用 
表单 35 
1.3.11 使用表单修改数据和删除 
记录 37 
1.3.12 创建单表的access报表 38 
1.3.13 关闭数据库并退出 
access 2010 40 
1.4 小结 40 
1.5 重要术语 41 
1.6 复习题 41 
1.7 练习题 42 
1.8 access工作台的重要术语 43 
1.9 access工作台练习题 43 
1.10 garden glory项目问题 44 
1.11 james river珠宝行项目 
问题 45 
1.12 queen anne curiosity商店 
项目问题 45 
第2章 关系模型 47 
2.1 关系 47 
2.1.1 一个关系表与两个非关系 
表示例 48 
2.1.2 显示关系表结构要注意的 
问题 50 
2.1.3 术语说明 50 
2.2 键的类型 51 
2.2.1 复合键 51 
2.2.2 候选键与主键 51 
2.2.3 代理键 54 
2.2.4 外键与参照完整性 54 
2.3 null值的问题 57 
2.4 函数依赖与规范化 58 
2.4.1 函数依赖 58 
2.4.2 再论主键与候选键 59 
2.4.3 规范化 60 
2.4.4 表的设计原则 61 
2.4.5 规范化过程 61 
2.4.6 规范化的示例 63 
2.5 access工作台：第二部分—— 
在access中操作多个表 68 
2.5.1 wmcrm数据库中可能 
出现的修改问题 68 
2.5.2 操作多个表 72 
2.5.3 创建表之间的关系 75 
2.5.4 使用包括两个表的表单 77 
2.5.5 创建包括两个表中数据的 
报表 78 
2.5.6 关闭数据库并退出access 80 
2.6 小结 80 
2.7 重要术语 81 
2.8 复习题 81 
2.9 练习题 82 
2.10 access工作台的重要术语 83 
2.11 access工作台练习题 83 
2.12 garden glory项目问题 86 
2.13 james river jewelry珠宝行 
项目问题 87 
2.14 queen anne curiosity商店 
项目问题 88 
第3章 结构化查询语言 91 
3.1 示例数据库 92 
3.2 用于数据定义的sql语句 96 
3.2.1 使用表约束定义主键 100 
3.2.2 使用表约束定义外键 102 
3.2.3 向dbms提交sql语句 104 
3.3 插入关系数据的sql语句 105 
3.4 sql关系查询语句 108 
3.4.1 sql select/from/ 
where架构 108 
3.4.2 从单个表中读取指定列 109 
3.4.3 从单个表中读取指定行 111 
3.4.4 从单个表中读取指定行 
和指定列 112 
3.4.5 where子句中的范围、 
通配符和空值 114 
3.4.6 对查询结果排序 117 
3.4.7 sql内置函数和计算 118 
3.4.8 内置函数和分组 120 
3.4.9 使用子查询处理多个表 122 
3.4.10 使用连接查询多个表 123 
3.4.11 sql join…on语法 127 
3.4.12 外连接 129 
3.5 修改和删除关系数据的 
sql语句 131 
3.5.1 修改数据 131 
3.5.2 删除数据 133 
3.6 修改和删除表和约束的 
sql语句 134 
3.6.1 drop table语句 134 
3.6.2 alter table语句 134 
3.6.3 check约束 134 
3.7 sql视图 135 
3.8 access工作台：第三部分—— 
在access中使用查询 135 
3.8.1 使用access sql 136 
3.8.2 使用microsoft access 
qbe 139 
3.8.3 使用microsoft access 
参数化查询 144 
3.8.4 使用access sql创建表 146 
3.8.5 修改access表以添加 
access sql不支持的 
数据需求 148 
3.8.6 用access sql插入数据 153 
3.8.7 使用access sql添加参照 
完整性约束 157 
3.8.8 修改access数据库以添加 
access sql不支持的 
约束 157 
3.8.9 关闭数据库并退出access 159 
3.9 sql视图的创建 159 
3.10 sql视图的使用 162 
3.10.1 用视图隐藏列和行 163 
3.10.2 用视图显示计算列的 
结果 164 
3.10.3 用视图隐藏复杂的sql 
语法 165 
3.10.4 计算和内置函数的 
分层 166 
3.11 access工作台： 
在access中使用视图 167 
3.12 小结 170 
3.13 重要术语 171 
3.14 复习题 172 
3.15 练习题 176 
3.16 access工作台的重要术语 178 
3.17 access工作台练习题 178 
3.18 garden glory项目问题 182 
3.19 james river珠宝行项目 
问题 184 
3.20 queen anne curiosity商店 
项目问题 185 
第Ⅱ部分 数据库设计 
第4章 数据建模与实体-关系模型 191 
4.1 需求分析 192 
4.2 实体-关系数据模型 192 
4.2.1 实体 193 
4.2.2 属性 193 
4.2.3 标识符 194 
4.2.4 关系 194 
4.3 实体-关系图 197 
4.3.1 e-r模型的版本 197 
4.3.2 数据建模产品中的e-r 
变体 197 
4.3.3 弱实体 199 
4.3.4 id依赖实体 199 
4.3.5 非id依赖的弱实体 201 
4.3.6 子型实体 203 
4.3.7 递归关系 204 
4.4 开发e-r图示例 205 
4.4.1 heather sweeney designs 
公司的数据库 205 
4.4.2 培训课的客户列表 205 
4.4.3 给客户的信函模板 207 
4.4.4 销售发货单 209 
4.4.5 属性说明 211 
4.4.6 业务规则 213 
4.4.7 验证数据模型 213 
4.5 access工作台：第四部分—— 
使用access开发原型 213 
4.5.1 为原始的数据模型创建 
原型表单 215 
4.5.2 为修改过的数据模型创建 
原型表单 216 
4.5.3 access的banded form and 
report editors 219 
4.5.4 关闭数据库并退出 
access 220 
4.6 小结 220 
4.7 重要术语 221 
4.8 复习题 221 
4.9 练习题 222 
4.10 access工作台重要术语 223 
4.11 access工作台练习题 223 
4.12 garden glory项目问题 223 
4.13 james river jewelry项目 
问题 224 
4.14 queen anne curiosity 商店 
项目问题 224 
第5章 数据库设计 227 
5.1 把数据模型转换为数据库的 
设计方案 227 
5.2 使用关系模型表示实体 228 
5.2.1 item实体的表示 228 
5.2.2 customer实体的表示 230 
5.2.3 反规范化 231 
5.2.4 sales_commission 
实体的关系设计 232 
5.2.5 弱实体的表示 234 
5.3 关系的表示 236 
5.3.1 强实体中的关系 236 
5.3.2 使用弱实体的关系 243 
5.3.3 子型实体关系的表示 244 
5.3.4 递归关系的表示 244 
5.4 heather sweeney designs 
公司的数据库设计 247 
5.4.1 弱实体 248 
5.4.2 关系 248 
5.4.3 实现参照完整性约束 249 
5.5 access工作台：第五部分—— 
access中的关系 251 
5.5.1 access中的n:m关系 251 
5.5.2 access中的1:1关系 251 
5.5.3 关闭数据库并退出access 256 
5.6 小结 256 
5.7 重要术语 256 
5.8 复习题 257 
5.9 练习题 258 
5.10 access工作台重要术语 259 
5.11 access工作台练习题 259 
5.12 garden glory公司项目 
问题 259 
5.13 james river珠宝行项目 
问题 260 
5.14 queen anne curiosity商店 
项目问题 260 
第Ⅲ部分 数据库管理 
第6章 数据库管理 263 
6.1 heather sweeney designs 
数据库 264 
6.2 控制、安全和可靠的 
必要性 270 
6.3 并发控制 270 
6.3.1 使用原子事务的必要性 271 
6.3.2 并发事务处理 272 
6.3.3 丢失更新问题 273 
6.3.4 并发问题：脏读取、不可 
重复读取和幻象读取 273 
6.3.5 资源锁定 274 
6.3.6 可串行化的事务 274 
6.3.7 死锁 275 
6.3.8 乐观锁定和悲观锁定 275 
6.3.9 声明锁定特征 276 
6.3.10 一致事务 277 
6.3.11 事务隔离级别 278 
6.4 游标类型 279 
6.5 数据库安全 280 
6.5.1 用户账户 281 
6.5.2 用户处理权限和责任 281 
6.5.3 dbms级别的安全 284 
6.5.4 应用程序级别的安全 285 
6.6 数据库备份与恢复 286 
6.6.1 通过重新处理来恢复 286 
6.6.2 通过回滚和前滚来恢复 287 
6.7 dba的其他职责 289 
6.8 分布式数据库的处理 290 
6.8.1 分布式数据库的类型 290 
6.8.2 分布式数据库面临的挑战 291 
6.9 对象-关系数据库 292 
6.10 access工作台：第六部分—— 
access中的数据库管理 292 
6.10.1 access中的数据库安全 292 
6.10.2 access 2010中的数据库 
安全 293 
6.10.3 access 2003 .mdb数据库 
文件中的数据库安全 310 
6.10.4 关闭数据库并退出 
access 313 
6.11 小结 314 
6.12 重要术语 315 
6.13 复习题 316 
6.14 练习题 318 
6.15 access工作台重要术语 318 
6.16 access工作台练习题 318 
6.17 garden glory项目问题 319 
6.18 james river珠宝行项目 
问题 320 
6.19 queen anne curiosity商店 
项目问题 322 
第7章 数据库处理应用程序 325 
7.1 数据库处理的环境 326 
7.1.1 查询、表单和报表 326 
7.1.2 客户机/服务器和传统的 
应用程序处理 327 
7.1.3 存储过程和触发器 328 
7.2 web数据库处理 328 
7.2.1 odbc 330 
7.2.2 使用iis进行web处理 333 
7.2.3 html web页面入门 335 
7.2.4 web页面index.html 336 
7.2.5 创建web页面index.html 336 
7.2.6 使用php对web数据库 
进行处理 338 
7.2.7 web数据库处理面临的 
挑战 344 
7.2.8 sql注入攻击 345 
7.3 数据库处理和xml 345 
7.3.1 xml的重要性 345 
7.3.2 作为一种标记语言的 
xml 346 
7.3.3 xml文档类型声明 346 
7.3.4 用xslt实体化xml 
文档 347 
7.3.5 xml模式 347 
7.3.6 xml和数据库处理 350 
7.3.7 xml web services 352 
7.3.8 nosql movement 352 
7.4 access工作台：第七部分—— 
使用microsoft access进行 
web数据库处理 352 
7.4.1 创建客户联络视图 353 
7.4.2 wallingford motors的web 
主页 353 
7.4.3 选择数据库文件 356 
7.4.4 创建odbc数据源 356 
7.4.5 创建php页面 357 
7.4.6 运行php页面 359 
7.4.7 关闭 360 
7.5 小结 360 
7.6 重要术语 362 
7.7 复习题 362 
7.8 练习题 364 
7.9 access工作台练习题 366 
7.10 garden glory公司项目 
问题 366 
7.11 james river jewelry珠宝行 
项目问题 367 
7.12 queen anne curiosity商店 
项目问题 367 
第8章 商业智能系统的数据库处理 369 
8.1 商业智能系统 370 
8.2 可操作系统与bi系统的 
关系 370 
8.3 报表系统和数据挖掘应用 
程序 370 
8.3.1 报表系统 371 
8.3.2 数据挖掘应用程序 371 
8.4 数据仓库和数据集市 372 
8.4.1 数据仓库的组成 372 
8.4.2 数据仓库和数据集市 373 
8.4.3 多维数据库 374 
8.5 报表系统 380 
8.5.1 rfm分析 380 
8.5.2 报表系统的组成 381 
8.5.3 报表系统的功能 383 
8.5.4 olap 383 
8.6 数据挖掘 387 
8.6.1 无监督的数据挖掘 388 
8.6.2 有监督的数据挖掘 389 
8.6.3 购物篮分析 389 
8.7 access工作台：第八部分—— 
使用access的商业智能 
系统 391 
8.7.1 为olap报表创建一个 
视图查询 391 
8.7.2 为olap报表创建excel 
工作表 394 
8.7.3 创建基本的olap报表 395 
8.7.4 构建olap报表 397 
8.7.5 修改olap报表 400 
8.7.6 关闭 402 
8.8 小结 402 
8.9 重要术语 403 
8.10 复习题 404 
8.11 练习题 405 
8.12 access工作台练习题 407 
8.13 garden glory公司项目 
问题 407 
8.14 james river jewelry珠宝行 
项目问题 408 
8.15 queen anne curiosity商店 
项目问题 408
前言
Colin Johnson是西雅图一家小型制造厂的产品主管。几年前，Colin计划构建一个数据库来跟踪产品包中的产品。开始时他用电子表格完成这一工作，但却无法通过该表获取所需的报表。Colin听说了Microsoft Access，希望该软件能解决问题。经过几天的尝试，他发现无法掌握Access，于是购买了一些流行的Access书籍并努力学习。不过最终他还是放弃了，而是聘请了一个顾问，该顾问创建了一个大致可满足Colin要求的应用程序。一段时间以后，Colin想修改此应用程序，但不敢进行这样的尝试。 
Colin是一个成功的商人，他能够主动地去实现他的目标。作为一名老练的Windows用户，他可以通过自学掌握Excel、PowerPoint以及大量面向生产的应用程序包。但他在使用Access来解决问题时却停滞不前。Colin认为“我确信我可以做到，但我没有更多的时间”。这样的事件非常引人注目，因为在过去的十年内这在很多人身上上演了无数次。 
Microsoft、Oracle、IBM和其他数据库管理系统(Database Management System，DBMS)厂商都意识到了这一情况，他们投入了数百万美元来创建更好的图形界面、数以百计的多窗格向导以及众多示例应用程序。遗憾的是，这样的努力无法从根本上解决问题。事实上，许多用户并不清楚向导可以实现哪些功能。一旦这些用户需要改变数据结构或组件(例如表和查询)，就会陷入麻烦中，这令他们措手不及。如果不了解底层结构，这些用户就会无所适从。结果是数据库和应用程序设计得非常糟糕，无法满足要求。 
为什么像Colin这样的用户可以学会字处理软件或电子表格这样的产品，却学不会DBMS产品？首先，许多人都不熟悉数据库的基本概念。尽管每个人可能都知道段落和边距的含义，但却无法理解关系的概念。其次，他们可能觉得使用DBMS产品应该更容易。“我们只想记录一些内容，为什么实现起来却这么困难？”如果不了解关系模型，在存储数据之前将一张销售发票分成五个单独的表就可能使商业用户感到困惑。 
本书旨在帮助类似Colin的读者理解、创建和使用DBMS产品中的数据库，既适用于从书店购买本书的自学者，也适用于使用本书作为教材的学生。 
本版的新内容 
这一版中的新内容和特色将使学生和本书的其他读者受益，其中包括： 
● 使用Microsoft Access 2010演示和强调数据库的创建和使用原则。本书把对Microsoft Access和其他Microsoft Office产品(如Excel)的所有引用都修订为最新发布的Microsoft Office 2010版本。 
● 本书的更新表现为使用Microsoft SQL Server 2008/2008 R2 Express版本。尽管书中大多数主题都向后兼容Microsoft SQL Server 2005 Express版本，但均专门使用SQL Server 2008和Office 2010。 
● 本书中的更新还表现为使用MySQL Workbench作为MySQL 5.1的唯一数据库开发工具。本书第4版使用的MySQL GUI工具被MySQL在2009年12月18日宣布停止使用。目前的MySQL Workbench 5.2.x集成了MySQL GUI工具的功能，这一版就使用它。 
● 使用Microsoft Windows 7操作系统作为本书的工作站操作系统。上一版使用的是Windows XP和Windows Vista操作系统，而这一版更新为最新的Microsoft工作站操作系统。 
● 添加了附录C“系统分析和设计入门”。这个新附录为没有学习过这方面课程的学生或读者介绍了系统分析和设计概念，论述了收集数据建模所需输入信息的基本方法(参见第4章)，并在应用程序开发的过程中融入了数据库开发。此附录包含在本书配书光盘中。 
● 添加了附录D“Microsoft Visio 2010入门”。这个新附录介绍了如何使用Microsoft Visio 2010进行数据建模(参见第4章)和数据库设计(参见第5章)。此附录包含在本书配书光盘中。 
● 添加了附录E“Web服务器、PHP和Eclipse PDT入门”。这个新附录介绍了如何安装和使用Microsoft IIS Web服务器、PHP和用于Web数据库应用程序开发的Eclipse PDT IDE(参见第7章)。此附录包含在本书配书光盘中。 
必要的基本概念 
如果不学习基本概念，只靠现有的技术就不可能成功使用DBMS。凭借多年来为商业用户开发数据库的经验，我们认为下面的数据库概念非常重要： 
● 关系模型的基本概念 
● 结构化查询语言(SQL) 
● 数据建模 
● 数据库设计 
.　　● 数据库管理 
由于当前Internet、World Wide Web和分析工具的广泛使用，因此另外增加两个基本概念： 
● Web数据库处理 
● 商业智能(BI)系统 
像Colin这样的用户(或将来从事类似工作的学生)不需要像信息系统专家那样深入地了解这些主题。因此，本书只介绍最基本的概念，足以帮助Colin这样的用户创建和使用小型数据库了。本书的许多内容在David M.Kroenke和David J.Auer的Database Processing: Fundamentals, Designs, and Implementation1一书的基础上进行了重写和简化。不过在本书内容上我们也力求讨论准确，不会产生误导。即使学生已学习过更高级的数据库课程，也可从中获益。 
独立于DBMS产品的概念 
本书假设学生没有使用过任何特殊的DBMS产品，我们通过Microsoft Access、SQL Server Express版和MySQL来演示数据库概念，使学生可以将这些产品作为工具真正试验书中的内容，而这些概念都是以DBMS无关的方式出现。通过这种方式学习，学生可以掌握适用于任意数据库的基本原则，包括小型的Microsoft Access数据库到大型的Oracle或DB2数据库。而且这一方法也避免了一个常见的问题：在同时介绍概念和产品时，学生容易混淆概念与产品特性和功能。例如，在讲授参照完整性约束时，如果从概念的角度讲授会说明这时一个表中的列值必须总是由另一个表中的列值提供，并解释这一约束出现在关系定义的上下文中的方式，以及DBMS或应用程序如何强制执行这一约束。如果结合具体的DBMS讲授如Microsoft Access，学生就只知道：在某些情况下选取复选框，而在其他情况下不选取。这很容易导致学生在学习产品特性时，会淡忘数据库的基本概念。 
这并不是说教学中不应使用DBMS。相反，学生们可以通过使用商业DBMS产品来更好掌握这些概念。本书的这一版包括Microsoft Access、SQL Server Express版和MySQL的足够多的基础信息，使您无需其他书籍或资料就可以在课堂上使用这些产品。本书还深入介绍了Microsoft Access，因为它是一个非常流行的个人数据库产品，并且包括在Microsoft Office Professional应用程序套件中。但如果希望深入理解特定的DBMS或使用本书没有介绍的DBMS产品，则需要额外的书籍或资料。Prentice Hall提供了Microsoft Access 2010和其他DBMS产品的大量图书，可以结合本书一起学习。 
Access工作台 
本书的这一版继续使用首次在第3版引入的特征—— “Access工作台”。由于Microsoft Access广泛用于初级数据库课程，因此介绍使用Microsoft Access的特定信息比较重要。每一章都带有一个“Access工作台”部分，其中使用Microsoft Access来演示本章的概念和技术。“Access工作台”部分在第1章中介绍了如何创建数据库和单个表，逐渐转移到不同主题，到最后第7章介绍相对于Microsoft Access数据库的Web数据库处理，和第8章介绍使用Microsoft Access和Microsoft Excel生成PivotTable OLAP报表。本书并非试图全面论述Microsoft Access，而是介绍所有必要的基本Access主题，使学生可以有效地构建并使用Microsoft Access数据库。 
重要术语、复习题、练习题和项目 
学生能否运用所学的知识非常重要，因此每章都提供了重要术语表(本版新增)、复习题、练习题(包括针对“Access工作台”的练习题)和三个贯穿本书始终的项目。如果学生阅读并理解了每一章的内容，就应能掌握每个重要术语的含义、能完成复习题。练习题要求学生将每章所讲的概念应用到具体的小问题或任务中。 
第一个项目Garden Glory是有关一个向个人或企业提供园艺服务的合伙公司的数据库开发和使用。第二个项目James River珠宝行分析了为一家零售店实施常客计划的数据库需求。第三个项目Queen Anne Curiosity商店关注的是零售业的销售和库存需求。本书的所有章节都包括这三个项目。在每个实例中，都要求学生将各章的知识运用到项目中。教师会在教师手册中找到使用这些项目的更多信息，还可以从本书网站中受密码保护的教师部分获得数据库和数据。 
本书使用的软件 
与之前我们使用与DBMS无关的方式进行讨论一样，本书将尽可能选择独立于操作系统的软件，目前网络上有非常多的杰出软件可以使用，许多大的DBMS厂商都提供了其主要产品的免费版本(如Microsoft 的SQL Server Express版，Oracle公司的Oracle数据库和MySQL)，Web编辑器和集成开发环境(IDE)也很常用，例如Eclipse、NetBeans和Visual Studio Express版。PHP被认为是第四个最常用的编程语言，可以下载用于许多操作系统和Web服务器。 
所以尽管本书的示例是用Microsoft操作系统、SQL Server 2008/2008 R2 Express版、Microsoft Access 2010、Microsoft Excel 2010和IIS Web服务器创建的，但它们大都很容易用Linux、MySQL Server Community版、Calc和Apache Web服务器创建。本书使用的一些软件产品，如PHP和Eclipse都可用于多种操作系统。 
在过去30多年中，我们已经发现数据库和数据库应用程序的开发是一项愉快且有回报的活动。我们相信：在将来数据库的数量、大小和重要性会不断增加，而该领域也越来越重要。希望本书介绍的概念、知识和技术帮助学生成功地参与到现在和多年后的数据库项目中。 
对第4版的改进 
本版最重要的改进是在全文和“Access工作台”每个部分都使用了Access 2010。由于推出了Microsoft Office 2010，本书做了更新以反映该产品中的变化。当然，我们还更新了本书所有其他产品的信息，尤其是本版使用Windows 7操作系统来演示本书中的应用程序，MySQL工作台现在是MySQL数据库开发的GUI。 
我们继续保持并改进了本书前几版引入的几个特性： 
● 在每章中使用“Access工作台”介绍Microsoft Access的基础知识。 
● 介绍SQL Server 2008 R2 Express版(附录A)和Oracle MySQL Community Server 5.1(附录B)的用法。附录A和附录B包含在本书配书光盘中。 
● 使用示例数据集充分开发了在本书各个部分中使用的三个示例数据库：Wedgewood Pacific Corporation、Heather Sweeney Designs和Wallingford Motors。 
● 在Web数据库处理主题中使用PHP脚本语言和Eclipse IDE。 
● 扩充介绍了XML。 
● 扩充介绍了商业智能(BI)系统。 
● 介绍了多维数据库模型 
本版继续使用之前版本增加的较为有效的规范化讨论，使用一个四步过程来演示规范化关系的规定步骤。这种方法不仅简化了规范化任务，而且使规范化原理更易于理解，因此当前版本仍沿用了这一方法。教师如需更多了解范式，可参考第5章中介绍的大多数范式的简短定义。 
本书概要 
本书包括8章和5个附录(附录内容包含在本书配书光盘中)。第1章解释了使用数据库的原因、数据库各个组件和开发方法。学生将学习数据库及其应用程序的用途、数据库相对于电子表格列表的差别和优势。第2章介绍了关系模型，定义了基本的关系术语，还介绍了规范化原则的基本概念，并描述了规范化过程。 
第3章讲述了基本的SQL语句，介绍了定义数据的基本SQL语句，如SQL SELECT语句和数据修改语句。本书并不介绍高级的SQL语句，只讲述基本语句。 
接下来的两章讨论了数据库设计。第4章使用实体-关系(E-R)模型解决数据建模问题，其中包括对数据建模的需求、基本的E-R术语和概念，并提供了一个简短的E-R建模示例应用程序(Heather Sweeney Designs)。第5章讲述了数据库设计，解释了规范化的基本概念。第4章示例中的数据模型在第5章中则被转换为关系设计。 
最后三章讨论了数据库管理，以及数据库在应用程序中的使用。第6章概述了数据库管理，构建了一个作为功能数据库的示例数据库，并用作讨论数据库管理需求的示例。本章探讨了并发控制、安全性、备份及恢复技术。数据库管理主题很重要，因为它适用于所有数据库，即使是个人或单用户数据库也是如此。事实上，在某些方面这些主题对于小型数据库更重要，因为它们没有专业的数据库管理员来确保关键任务的执行。第6章也讨论了分布式数据库和面向对象的数据库。 
第7章介绍了使用基于Web的数据库处理，包括开放数据库连接(ODBC)和PHP脚本语言的使用。本章也讨论了可扩展标记语言(XML)的出现和基本概念。 
第8章介绍了商业智能(BI)系统和支持它们的数据仓库体系结构，还讨论了多维数据库，解释了如何为Heather Sweeney Designs建立多维数据库，并使用它生成PivotTable OLAP报表。 
附录A提供了SQL Server 2008 R2 Express版的简介，附录B则提供了MySQL 5.1的类似介绍。在每章的“Access工作台”中都包括了对Microsoft Access的介绍。附录C介绍了系统分析与设计，可以为第4章(数据建模)和第5章(数据库设计)提供参考。附录D简要介绍了Microsoft Visio 2010，可用作数据建模(第4章)和数据库设计(第5章)的工具。另一个有效的数据库设计工具是MySQL工作台，其用法参见附录B。最后，附录E给出了启动和运转Microsoft IIS Web服务器、PHP和Eclipse PHP开发工具(PDT)的详细指导，这些将有助于我们更好地学习第7章。 
在快速变化的环境下保持最新 
为使数据库的概念在各版中保持最新，我们将根据需要在本书的网站(
上贴出更新表。例如，发布Office 2007后，我们就贴上了Access 2007的内容，在课堂上使用Access 2007的教师就会有“Access工作台”部分和PowerPoint幻灯片的所需版本。教师资源和学生资料也可以从网站上获得，所以应时常浏览本书的网站。 
致谢 
我们要感谢以下审稿人提出了高水平的、有益的意见和建议： 
Edward Chan, Midlands技术学院 
Rashmi Malhotra, St. Joseph’s大学 
Tina Ostrander，Highline社区学院 
Darlene Ringhand，Rio Grande大学 
Diane Wolfe，Oklahoma州立大学 
Guoying Zhang，Midwestern州立大学 
我们还要感谢Bob Horan编辑、Kelly Loftus助理编辑和Kelly Warsak产品编辑对编写本书的专业支持和帮助，感谢Don Nilson对终稿的详细审阅。最后，David Kroenke还要感谢妻子Lynda，David Auer还要感谢妻子Donna的爱和对作者完成本书的鼓励和忍耐。 
David Kroenke 
西雅图，华盛顿区 
David Auer 
贝灵翰姆，华盛顿区