1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: 数据建模与 ORM -构建通用的数据模型 姓 名: 学 院:软件学院 系: 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 日 1 数据建模与 ORM -构建通用的数据模型 摘要 本文 回顾了数据建模的发展,指出在概念建模上 ER 和 UML 获取约束和业务规则的表达能力方面 的不足,提出了一种适用于概念建模的方法对象角色建模( Object Role Modeling, ORM)。通过使用 ORM,可以使原来难以表达的业务规则更容易表达,方便与业务人员交流。本文介绍了 ORM 图的基本要
2、素和建立的流程,并用在 ECIF 项目中的一个案例来探讨利用 ORM 建立数据模型的方法。最后介绍了通用数据模型的作用及其实施方法。通过使用通用数据模型,可以在建立数据模型时站在更高的起点上并且降低成本。 关键词 对象角色建模 实体关系 统一建模语言 通用数据模型 2 Data Model and ORM -Build Universal Data Model Abstract This paper first reviews the history of data modeling method, then points out ER and UML which gets constrain
3、ts and operation rules has shortage, so presents a applied conceptual information modeling method named( Object Role Modeling , ORM) .You can use ORM to build model that express business rules and communicate with expert easily .The main elements of the ORM and the procedure to build it are then des
4、cribed in detail, and illustrates the use of it by a concrete case in ECIF project. Finally, introduces the function of universal Data Model and implements method. Builds the model at higher jumping-off point and saves cost since you uses Universal Data Model. Key words ORM ER UML Universal Data Mod
5、el 1 目录 第 1 章 绪论 . 1 1.1 引言 . 1 1.2 课题背景 . 1 1.3 研究意义 . 2 1.4 工作内容 . 3 1.5 论文组织 . 3 第 2 章 ORM 基本介绍 . 4 2.1 ORM 的几个基本概念 . 4 2.2 对象关系图的表示 . 4 2.3 ORM 的特点 . 6 2.3.1 在表达业务规则时更贴近业务人员 . 6 2.3.2 完整表达业务逻辑 . 7 2.3.3 对领域专家验证有效性和样本成员集有效性的支持好 . 8 2.3.4 灵活的子类型方式 . 9 2.4 本章小结 . 10 第 3 章 通用数据模型的基本介绍 . 11 3.1 通用数据模
6、型的提出 . 11 3.2 通用数据模型主要用途 . 11 3.3 本章小结 . 12 第 4 章 ORM 的设计方案 . 13 4.1 ORM 的基本设计原则 . 13 4.2 构建通用数据模型 . 14 4.3 本章小结 . 14 第 5 章 ORM 模型的设计 . 15 5.1 概念模式设计过程 . 15 5.2 用项目中的一个 案例说明具体应用过程 . 15 5.2.1 搜集原始信息 . 15 5.2.2 把这些事实表达为对象和角色 . 16 5.2.3 实体类型的 合并 . 17 5.2.4 添加惟一性约束 . 18 5.2.5 添加强制约束 . 19 5.2.6 添加值约束、子集约
7、束以及子类约束 . 20 5.2.7 添加其他约束,并作最后检验 . 22 5.3 ORM 模型的通用性 . 22 5.3.1 ORM 模型术语的改变 . 22 5.3.2 企业所需的附加信息 . 24 2 5.4 本章小结 . 25 第 6 章 通用数据模型的实施 . 26 6.1 通用数据模型的实施方法 . 26 6.2 本章小结 . 27 第 7 章 总结 . 28 致谢语 . 29 参考文献 . 30 附录 . 31 数据建模与 ORM -构建通用的数据模型 1 第 1 章 绪论 1.1 引言 众所周知,数据是一个数据库应用系统最核心的部分。好的数据建模,对于整 个系统的质量具有重大影
8、响。多年来,在业界广泛使用 ER 模型进行数据建模。但是 ER 模型存在着一些缺点,随着业务系统的进一步复杂,业务规则的多样化, ER 模型的表达能力受到很大挑战;而且 ER 模型更贴近数据库实现,不利于与用户交流。新近推出的UML,解决了 ER 的一些问题,但是在表达静态业务规则上仍然不足。本文主要介绍ORM 在概念数据模型方面的应用,该方法可在很大程度上解决这些问题。 1.2 课题背景 ER 模型最早于 1976 年由 Peter Chen 提出,在数据库界产生了极其深远的影响,成为数据库建模的标准方法 1。 ER 模型把业务领域的数据看成由两部分组成:首先是一个个实体,其次是实体与实体之
9、间发生的相互联系。数据库即存储这些实体以及实体之间的关系。随着时间的推移,不少学者提出了各种各样的 ER 扩展,使其表达方式更丰富。其中最重要的是 Oracle 公司的 Barker 扩展, Oracle 的数据建模工具,即使用该表达方式。由于 Oracle 在数据库市场的领头地位。 Barker 扩展也成为使用最广泛的表达方式。但是,即使如此, Barker 扩展并没有最终完成标准化的任务。其他数据库厂商、数据建模工具厂商等各自有自己的表达方式。给使用者带来 很大的困惑。因此,标准化成为困扰 ER 的一个很大的问题 2。 1997 年 11 月, OMG 正式推出 UML,给数据库建模者一个
10、全新的选择,但是, UML 设计的重点不在于数据库静态建模,而在于给面向对象软件过程整个生命周期的建模给予支持,数据库建模主要用到其类模型和对象模型两类模型。 UML 克服了 ER 标准不统一的问题,并且在表达方式上比 ER 丰富一些,但是 UML 把业务领域的数据看作是对象以及对象之间的联系。本质上与 ER 是相同的,所以可以看作是一种扩展的 ER 表达方式。 厦门大学本科毕业论文 软件学院 陈靖苗 2 无论是 UML 还是 ER,在进行数据建模时主要存在以下几 个问题: (1) 表达能力有限,不能完全表达业务领域的业务规则; (2) 表达方式太偏重实现细节,不易被业务人员所理解; (3)
11、建模流程比较粗糙,整个建模过程比较困难。 ORM 是微软的 Terry Halpin 博士在一些前人研究的基础上,着重解决以上一些建模方法的缺点,帮助数据建模人员更好把握业务规则而提出的一种全新的方法,是微软最新的 Visual S 的核心数据建模方法。 ORM 是 Object-Role Modeling 的缩写,核心思想是把客观事物看作是对象,用每个对象的角色来描述对象与对象 之间的关系 3。 1.3 研究意义 ORM 相比于 ER 和 UML 有了重大的突破: 1. 把事物的属性也分离出来,作为一个建模研究的对象。因为在 ER 建模中,把一个信息到底作为一个属性还是作为一个实体来描述,判
12、断起来是十分困难的。往往一开始都倾向于简单化,把一个信息看作是属性,但随着建模的深入,会发现要把该属性分离出来,作为一个单独的实体来描述。这种变更会带来设计的很大变动。这也是 ER 和UML 的一个很大的缺点,即模型不稳定。 2. 强调表述的规范化,避免二义性,使用语言描述辅助业务规则表达。使用图形表达是 ER、 UML 的优势所在。但是,如果不强调表述的规范化,由于图形描述的随意性,就会带来二义性。因此, ORM 特别强调表达的规范,并且通过语言描述来弥补图形的缺点。使与业务人员交流更为方便,业务人员确认业务规则也更为容易。 3. 强调建模流程。不管是 ER、 UML 还是 ORM,就像是建
13、筑材料,而最后建筑物的质量好坏主要取决于建筑的流程。 ORM 有完整的建模方法学的支撑,使得业务规则成为一门技术,而不是依赖于建模人员个人能力的艺术。 鉴于 ORM 相对于 ER、 UML 的重大突破,对于我们研究 ORM 的数据建模非常有意义。 数据建模与 ORM -构建通用的数据模型 3 1.4 工作 内容 本课题主要是在了解数据建模、 ORM、通用数据模型的基本概念,理论知识及其优势后,分析传统的数据建模的方式和采用 ORM 进行数据建模的异同,进一步明确采用ORM 数据建模的理论进行数据库建模的优点,运用 ORM 的规范流程进行数据建模,构建一个通用的数据模型。 1.5 论文组织 本文
14、主要阐述设计的主要工作是用 ORM 进行概念数据建模,并使构建的模型能够成为通用数据模型。 第 2 章介绍 ORM 的基本元素,以及如何用图形表示出这些形式化的语言。表述了ORM 相比于 ER 和 UML 的优势。 第 3 章介绍通用数据模型的基本情况,通 用数据模型的提出和它的用途。 第 4 章阐述本次 ORM 设计的方案,确定设计应遵循的原则以及达到的目标。 第 5 章经过分析和调研进行具体的 ORM 模型设计,并以设计的一个模型中的部分进行分析,并说明 ORM 设计出的模型具有通用型。 第 6 章对于 ORM 设计出的通用数据模型,介绍如何具体实施以支持不同类型的系统开发。 厦门大学本科
15、毕业论文 软件学院 陈靖苗 4 第 2 章 ORM 基本介绍 ORM 结合了图形建模方法和形式化语言建模方法的优点,本章介绍了 ORM 的基本元素,以及如何用图形表示出这些形式化的语言。 2.1 ORM 的几个基本概念 对象( Object):现实世界中的一个物理存在或是一个概念,即可以是实体或值。 实体( Entity):通过将它与其他对象相联系来引用的对象,不是值。一般地,实体随时间而变。实体是原子的或嵌套的。在顶层,实体被分割为基本实体类型,用它们可以定义子类。 角色( Role):联系对象扮演的部分。 联系( Relationship):涉及一个或多个对象性质或关联。如果谈论联系(即,
16、联系本身扮演某个角色),那么,它也变成一个对象,称为对象化联系、对象化关联或嵌套。 约束( Constraint):对可 能状态(静态约束),或转换(动态约束)的限制。设计的模型主要使用到外部唯一性约束、内部唯一性约束、相等约束等。 谓词( Predicate):本身带有对象空穴的命题(如,“ .works for.”)。 2.2 对象关系图的表示 O-R 图的基本要素是:对象、角色和联系,其基本符号如下: 1)椭圆 a.实线 表示实体类型,以命名的椭圆表示且必须有一个引用模式,即人们引用那种类型实例的方式。简单的引用模式可以用圆括号表示。 b.虚线 表述值类型,用虚线的椭圆表示。 2)方框
17、在概念模式图中,对象充当 的角色用方框表示。每个元谓词( 0)描述为个对象框的相邻序列(“相邻”表示框邻近,中间没有空隙)。谓词从一端到另一端顺序排列,它们的名字写在它们第一个角色框的里面或旁边。 数据建模与 ORM -构建通用的数据模型 5 3)连线 a.不带箭头 连接对象和角色,表明这个角色只被这个类型的对象充当。 b.带单箭头 由子类指向超类表示继承关系。 c.带双箭头 表示对象间的关系,外部唯一性约束。 如图 2-1 所示,为对象、角色和联系的简单表示。(该图为联系地址部分模型见附录 b) 如图 2-2 所示,唯一性约束的几种表述方法。 联 系 地 址Seq(nr)+CtPointIDhasU电 话电 子 邮 件W e b L o c a t i o nhashasE m a i l A d d L o c a t i o nT y p e( c o d e )chooses电 话 号 码分机has区号国家代码has图 2-1 O-R 图中对象、角色和联系的表达方法 Fig.2-1 Object、 Role and Relationship in O-R diagram