本书主要讲解了对象角色建模及其相关的技术知识。书中从ORM角度介绍了实体联系建模(ER)和统一建模语言(UML)。书中还清晰地涵盖了关系数据库理论和SQL的最新进展情况,并阐述了所需的数学和集合理论的概念。事实上,它是惟一一本超出介绍性层面的书,涵盖了把领域专家的知识转化为合理的数据库设计的深入知识。本书适合于从事数据库相关研究的工作人员。前言这是一本关于信息系统的书,重点讨论信息建模和关系数据库系统,主要适用于数据库专业人员、计算机科学和信息管理专业的学生。它也适用于那些想以人们容易理解且在计算机上容易实现的方式来阐述应用信息结构的人。此外,本书还提供了一个简单的概念框架来让读者理解数据库系统到底是什么,并对SQL进行了详尽的介绍。该书主要研究对象:角色建模(ORM),这是一种依照对象和它们扮演的角色来观察世界的概念建模方法。ORM起源于欧洲,在那里它以其他的名字,如NIAM(natural-languageinformationanalysismethod,自然语言信息分析方法)或FCO-IM(FullyCommunicationOrientedlnformationModeling,完全面向交流的信息建模)为人所知。本书所用的ORM版本是在NIAM基础上进行扩充的,并拥有微软公司的工具支持。另外两个流行的信息建模符号表示法是实体:联系(ER)图和统一建模语言(UML)类图。对于概念信息分析,ORM比ER图及UML方法有一些优势。例如,ORM模型易于语言表示和成员化,以便于该领域专家的确认,应用域变化时,它们比较稳定,而且它们能够在图表中得到更多的业务规则。然而,ER图和UML类图适于简明的总结。它们的结构更接近于最终的数据库实现,所以,也是很有价值的。因此,本书涵盖了用ER和UML进{;数据建模的内容,并说明了如何从ORM模型中很容易地提取出ER和UML数据模型。为了使内容更接近大多数对数据库感兴趣的读者,本书行文简洁易懂,并且尽可能地回避形式化的数学分析和计算。必要时,基本逻辑和集合理论中的相关概念将在使用它们之前进行讨论。书中大部分材料已在工业界和学术界的课程中经过了分类检验,并且基本的ORM方法已在高校成功地讲授多年。各部分内容已经模块化,因此,想要省略一些内容的教师可为他们的课程做出合适的选择。第1章阐明了概念建模研究的动机,并简要地比较了ORM,ER和UML方法。对信息系统的历史和结构也进行了概述。第2章讲解了结构背景知识,解释了信息系统的概念结构和开发框架,并且介绍了后面一些章节需要用到的关键概念,只有很少或没有数据库经验的读者应全部阅读。第3章是基础。先对概念建模语言标准和ORM概念设计过程(CSDP)进行了概述,然后,讨论了CSDP的前三个步骤。第一步(依照基础事实用语言表示常见的例子)看起来可能很琐碎,但不应匆忙进行,因为它为模型提供了基础。本章的剩余部分涉及了事实类型的基本图形符号,然后讲解了如何将对象分类并识别能用算术方法推导出的信息。第4章讲述在事实类型成员集上指定约束。最重要的一种约束(惟一约束)被详细说明。随后讨论了事实类型基本性质的检验。本章同时还介绍了概念层的连接和投影操作::这些操作的关系版本在后面的关系数据库中非常重要。第5章涉及了强制的角色约束,包括对探测可以逻辑导出的信息的检验。并在某种程度上检验了引用模式。对于短期课程,一些较复杂的引用模式可以跳过。本章将在实例中复习已经讲过的CSDP步骤。第6章涉及值、集合比较(子集、等价和互斥)及子类约束。6.6节研究子类高级方面的内容。虽然这对于实践很重要,但是第一次阅读时可以跳过这部分内容。第7章涉及概念模式设计过程的最后一步。考虑了较少的公共约束(如出现频率和环约束),并且对设计进行最终检验。7.3节至7.5节有点儿高深,短期课程可以跳过。第8章讨论了实体:联系(ER)方法,以Chen最初的符号表示法开始,然后讨论了当前使用的三种最流行的符号表示法:Oracle公司支持的BarkerER符号表示法、信息工程符号表示法,以及实际上是ER和关系符号混合物的IDEFlX符号表示法,并且与ORM进行了比较。第9章研究用于数据建模的UML类图的用法,包括与ORM详细的比较。ORM中的业务规则结构在UML中没有相应的图形表示,它们是通过使用用户定义的约束和注释来标识和获取的。第10章描述如何在关系数据库中实现概念模型。前三节是理解概念模式如何映射到关系模式的基础。10.4节讨论高级映射方面的内容,在入门课程中可以省略。第11章研究一些关系数据库的查询语言。11。1节涉及关系代数,虽然它不作为一种实际的查询语言使用,但关系代数对于理解基本的SQL支持的关系操作很重要。11.2节将数据的关系模型与一些关系数据库管理系统使用的数据模型进行了概括比较。11.3节至11.4节涉及SQL的主要特性,重点在SQL-89,SQL-92及SQL:1999标准,以及一些流行的变体。第12章讨论在相同级别(概念上或逻辑上)如何及何时将一个模式转换到另一个模式。12.1节至12.4节研究了概念模式等价性和概念模式改造的方法。作为这个理论的一个应用,12.5节说明了通过在映射前进行概念转换以优化数据库设计的过程。12.6节完整地介绍了规范化理论。12.7节简要介绍了反规范化和低级优化。12.8节说明了概念优化在数据库再工程化中扮演的角色。12.4节、12.5节、12.7节和12.8节涉及高级特性,在短期课程中可以跳过。对于非常短的课程,整章都可以跳过。第13章研究其他的建模问题、方法和趋势。涉及的主题包括数据仓库、概念查询语言、模式抽象机制、处理模型(如UML示例和活动图、数据流图)、后关系数据库(如对象数据库和对象:关系数据库)以及元建模。虽然这些主题重要且有趣,但它们在短期课程中可被省略。本书采用了大量的图和示例。每一章以简短的概述开始,以本章涉及的要点小结结束,此外还有章节注释以补充介绍要点和进一步的参考资料。本书的主要特点之一是带有大量的练习题,这些练习题全都经过课堂检验并被仔细分级。全书最后列出了引用的全部参考书目,以及技术符号和ORM,ER及UML(只有类图)的术语表。在线资源本书大量的补充材料在出版商的网站(www.mkp.com/imrd/)上可以在线下载。其中有三个附录:附录A提供了计算机硬件和软件演变的概述;附录B讨论了两类用于从有意义的成员集中确定子类图的子类矩阵;附录C介绍了SQL的高级方面,集中于集合比较查询和组极值查询。练习题的答案包含在两个文件中:一个是编号为奇数问题的答案,一个是编号为偶数问题的答案。编号为奇数问题的答案可以公开得到,编号为偶数问题的答案有密码保护,以便提供给授课者用来作为课堂讨论练习题。关于ORM的其他材料可以从作者的网站www.orm.net上获得。图表的电子版,以及进一步的练习和相关教学材料包括在附送的教师指南中。授课者可以通过与WWW.mkp.com/academic/rep_locator.asp中列出的代表联系,来获得这本指南和练习答案的密码。ORM软件ORM得到来自微软公司和其他公司的各种建模工具的支持。一个废弃的ORM建模工具VisioModeler可以从微软的MSDN网站免费获得。尽管该下载软件没有技术支持,并且该产品的数据库驱动支持有些过时,但它对于学习ORM仍很适合,并且它允许你创建ORM模型并映射到一些数据库系统中。要获得这个下载软件(25MB),请将你的浏览器指向http://download.microsoft.com/,然后进行“VisioModeler´’关键词搜索。在写本书时,从微软的VisioEnterprise2000产品中可以获得基本的ORM建模解决方案。这个软件比VisioModeler提供了更好的驱动支持,并且包括对视图和代码编辑的支持,但它显示ORM约束的能力非常有限。Visio未来的版本将支持ORM图,但不支持映射。一个基于Visio的ORM建模解决方案的完全改进版本出现在VisualStudio.net中。这个解决方案不仅能显示所有的ORM约束,还包括许多说明和映射逻辑数据库模型的改进方案。这个解决方案在VisualStudio.net的beta2版本中首次出现。关于微软的VisualStudio的详细资料可以从http://msdn.microsoft.com/vstudio/上获得。