|
|
|
|
移动端

前言(1)

《数据库系统:设计、实现与原理(基础篇)(原书第6版)》本书为基础篇,主要内容包括:数据库系统与数据库设计的基础知识;关系模型与语言;数据库分析与设计的主要技术;数据库设计方法学;以及现代数据库管理相关专题,涵盖安全问题、法律与道德问题、事务管理和查询处理。本节为前言。

作者:宁洪/贾丽丽/张元昭 译来源:机械工业出版社|2017-09-27 14:46

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


前言(1)

背景

在过去的30年中,数据库的研究带来了巨大的生产力,使得数据库系统成为软件工程领域最重要的成果。目前,数据库作为信息系统的基本框架,已从根本上改变了许多公司的运作方式。特别是在最近几年里,随着这项技术本身的发展,产生了一些功能更强大、使用更方便的系统。这使得数据库系统变得越来越普及,用户类型也越来越广泛。遗憾的是,正是由于数据库系统的简单性,许多用户有可能尚缺乏必要的知识,还不懂得如何开发正确且高效的系统,就开始创建数据库及其应用程序了。这样很可能导致所谓的 “软件危机”(software crisis,有时也称为“软件抑郁”(software depression))的延续。

编写本书的最初动因是我们在工业界的工作经历,当时我们为新软件系统中数据库的设计提供咨询,间或也解决遗留系统中存在的种种问题。进入学术界后,我们从另一类用户—学生那里发现了类似的问题。因此,本书的目标就是给出一本教程,尽可能清楚地介绍数据库的基础理论,并给出一套既能为专业技术人员亦能为非技术人员所用的数据库设计方法学。

本书针对当前主流的商用产品—关系数据库管理系统(DBMS)给出的设计方法学,已在学术界和工业界测试和使用了许多年。它包括三个主要阶段:数据库的概念设计、逻辑设计和物理设计。第一个阶段在不考虑任何物理因素的前提下设计概念数据模型,得到的数据模型在第二阶段被细化为逻辑数据模型,细化过程主要是去除在关系系统中无法表示的结构。在第三阶段,逻辑数据模型被转换成针对目标DBMS的物理设计,物理设计阶段主要考虑如何设计存储结构和访问方法,以便有效并安全地访问存储在辅存中的数据库。

该方法学按阶段被分为一系列步骤。对于缺少经验的设计者,最好按步骤进行设计,这里所提供的指南可帮助你完成整个过程。对于有经验的设计者,该方法学的指导作用显然会弱化,但经常可用于开发框架和检查列表。为了帮助读者学习使用上述方法学并理解其要点,整个方法学的描述中始终贯穿一个完整的DreamHome案例研究。附录B还给出了另外三个案例,供读者自行研究。

UML(统一建模语言)

越来越多的公司都在规范各自的数据建模方法,即选择一种特定的建模方法并在整个数据库开发项目中始终如一地使用它。一种在数据库概念设计和逻辑设计阶段较为通用的高级数据模型是ER(实体-联系)模型,这也是本书采用的模型。由于当前还没有表示ER模型的标准方法,因此大部分书籍在描述关系DBMS的数据库设计时,常常使用下述两种表示方法之一:

Chen氏表示方法,即用矩形表示实体,用菱形表示联系,用线段连接矩形和菱形。

Crow Feet(鸦爪)表示方法,仍用矩形表示实体,用实体间的连线表示联系,在一对多联系连线的多端有一个鸦爪标记。

当前,这两种表示方法都有计算机辅助软件工程(CASE)工具。然而,它们都难于使用和解释。本书的较早版本曾使用Chen氏表示方法,而在随后培生教育出版集团进行的一次问卷调查中,比较一致的意见是应该使用最新的称为UML(Unified Modeling Language,统一建模语言)的面向对象建模语言。UML表示方法结合了面向对象设计三大流派的成分:Rumbaugh的OMT建模语言,Booch的面向对象分析和面向对象设计,以及Jacobson的Objectory。

换用表示方法主要有以下三个原因:(1)UML正成为一种工业标准,例如,对象管理组(OMG)已经采纳UML作为对象方法的标准表示方法;(2)UML表达清楚并易于使用;(3) UML目前已被学术界用于面向对象分析与设计的教学,在数据库模块的教学中也使用UML将会更加一致。因此,在这个版本中,我们将采用UML的类图作为ER模型的表示方法。读者将会发现这种表示方法更加容易理解和使用。

第6版的更新之处

扩展了第3章“数据库的结构与Web”,增加了云计算。

修改了第21章“数据管理中的职业、法律与道德问题”。

增加了“数据仓库与时态数据库”(31.5节)。

每章后增加了新的思考题和习题。

修改了与SQL相关的章节,全面反映2011年公布的新标准SQL:2011。

修订了第26章“复制与移动数据库”。

修改了关于Web-DBMS集成和XML的章节。

与Oracle相关的内容一律修改为针对Oracle 11g。

读者对象

本书可作为本科生数据库管理或数据库设计的导论性教材,也可作为研究生或高年级本科生相关课程的教材,学时可分为一到两个学期。通常信息系统、商业IT或计算机科学等专业都包含这类课程。

本书还可以作为一些IT专业人士的参考书,如系统分析和设计人员、应用程序开发人员、系统程序员、数据库从业人员及独立的自学者。随着当今数据库系统的广泛使用,这些专业人士可能来自于需要数据库的任何类型的公司。

读者在学习关于物理数据库设计的第18章和关于查询处理的第23章之前,如果对附录F中介绍的文件组织和数据结构相关概念有清楚的了解,那么将会有所帮助。理想的情况是这些背景知识已从前导课程中获得。如果不具备这个条件,则可以在开始数据库课程后,学完第1章立即学习附录F。

如果读者已经掌握了一门高级编程语言,比如C,那么在学习附录I的嵌入式与动态SQL和28.3节的ObjectStore时会更有成效。

突出特点

(1)为数据库逻辑设计和概念设计提供了易用、逐步指导的方法学,该方法学基于广泛采用的实体-联系模型并将规范化作为验证技术。此外,通过一个完整的案例研究来说明如何使用这套方法学。

(2)为数据库物理设计提供了易用、逐步指导的方法学,包括:逻辑设计到物理实现的映射,文件组织方法的选择,适合应用程序的索引结构,以及何时引入可控冗余。此外,通过一个完整的案例研究来说明如何使用这套方法学。

(3)用独立的章节来讲解以下三个主题:数据库设计阶段在整个系统开发生命周期中的位置与作用;如何使用实况发现技术来获取系统需求;如何将UML用于整个方法学。

(4)每章都采用清晰且易于理解的表述方法,如突出显示定义,明确给出各章学习目标,在各章最后进行小结。通篇使用了大量示例和图表来说明概念。来自现实生活的DreamHome案例研究贯穿全书,另外还给出若干案例供学生选作课程实践题目。

(5)扩充了下列最新的正式标准及事实标准:结构化查询语言(SQL),举例查询(QBE),面向对象数据库的对象数据管理组(ODMG)标准。

(6)利用三章的篇幅,以教程式风格介绍SQL标准,包含交互式和嵌入式SQL。

(7)专设一章讨论IT和数据库中的职业、法律与道德问题。

(8)全面讨论了与分布式DBMS和复制服务器相关的概念和问题。

(9)全面介绍了基于对象的DBMS中的一些概念和问题。回顾了ODMG标准,介绍了在最新公布的SQL版本SQL:2011中出现的各种对象管理机制。

(10)扩展了作为数据库应用平台的Web部分的内容,并给出多个Web数据库访问的代码示例。具体包括容器管理持久性(CMP)、Java数据对象(JDO)、Java持久性API(JPA)、JDBC、SQLJ、ActiveX数据对象(ADO)、ADO.NET和Oracle PL/SQL Pages(PSP)。

(11)介绍了半结构化数据及其与XML的关系,扩展了XML的内容和相关术语,包括XML Schema、XQuery、XQuery数据模型和形式语义。还讨论了在数据库中集成XML,以及为发布XML而在SQL:2008和SQL:2011中所做的扩展。

(12)全面介绍了数据仓库、联机分析处理(OLAP)和数据挖掘。

(13)全面介绍了用于数据仓库数据库设计的维度建模技术,并且通过一个完整的案例来演示如何使用该方法进行数据仓库数据库设计。

(14)介绍了DBMS系统实现的有关概念,包括并发技术和恢复控制、安全以及查询处理和查询优化。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Fedora Core 5 Linux系统安装与管理

以Linux为代表的自由软件及其稳定性,逐渐在全世界崭露头角且备受重视。由于可以支持多种网络环境,因此在采用Linux系统之前,必须熟悉各种...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊