基于面向对象 OO 的数据库的设计模式探讨.docVIP

基于面向对象 OO 的数据库的设计模式探讨.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于面向对象 OO 的数据库的设计模式探讨

基于面向对象 OO 的数据库设计模式探讨 摘要 面向对象(OO)和三范式(3NF)都是成熟的设计方法,本文基于面向对象设计思想和三范式数据库设计方法,提出一种实体对象分层建模的思路,其目的是设计简单明了、标准化的数据库结构,同时能够更好的支持模型驱动模型(MDA)的代码自动生成和代码复用,减少代码编写工作量。 面向对象的数据库设计 本模型探讨的一个数据库建模的方法,其意义主要是为《面向服务体系架构(SOA)和数据仓库(DW)的思考》(以下简称《SOA和DW》)所述的共享库提供方法论支持,建立一个简单明了、易于理解的标准化的数据结构,共享库的主要目的是为了共享数据,需要建立一个简单明了,标准化的数据结构。同时为基于模型驱动(Model Driven Architecture,MDA)的设计方法提供一个简化的数据结构,更加容易根据数据结构自动生成代码。 本文采用InfoSphere Data Architect作为工具支持,主要针对需要持久化的业务对象(Business Object,BO))进行实体对象(Entity Object或者称持久化对象Persistant Object,PO)的逻辑数据模型(Logical Data Model)设计。本文中业务对象设计不再详细论述,假设是已经做了业务对象分析,然后基于业务对象模型生成实体对象模型,并根据实体对象分层模型进一步完善业务对象模型。 面向对象(OO) 面向对象方法(Object-Oriented Method,OO方法)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,是建立在对象概念基础上的方法学。面向对象包含面向对象的分析(Object Oriented Analysis,OOA),面向对象的设计(Object Oriented Design,OOD)、面向对象的编程实现(Object Oriented Programming,OOP)等,面向对象的分析(OOA)方法是本模型的基本方法。面向对象的方法,当前有成熟的基于UML(Unified Modeling Language)建模方法论,本文不再详述。 范式理论(NF) 第一范式(1NF)无重复的列,实体中的属性不能有多个值或者不能有重复的属性。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分,不能存在仅依赖主关键字一部分的属性。第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。在本模型中,如果出现重复的属性,就需要增加一个实体对象,并根据新增对象和原对象的主键关系确定其对象关系。从性能角度考虑,在数据表中增加了冗余外键对应关系,即并非完全满足3NF的要求。 维度建模(DM) 维度建模(Dimensional Modeling,DM)是数据仓库建设中的一种数据建模方法。按照事实表,维表来构建数据仓库,数据集市。在本模型中,对象汇总关系部分采用了维度建模的思想,但是没有深入的探讨维度建模方法论,关于维度建模可以参考相关的资料。 模型驱动架构(MDA) 模型驱动架构(Model Driven Architecture,MDA)是由OMG定义的一个软件开发框架。它是一种基于UML以及其他工业标准的框架,支持软件设计和模型的可视化、存储和交换。和UML相比,MDA能够创建出机器可读和高度抽象的模型,这些模型独立于实现技术,以标准化的方式储存。本模型的第二个目标就是为建立更高效率的自动生成代码提供一个数据基础。 IBM InfoSphere Data Architect IBM InfoSphere Data Architect(以下简称IDA)是一种协作式的数据设计解决方案,能用于发现、建模、关联和标准化各异的分布式数据资产。如图1所示,是实体对象分层模型最终完成之后的界面,IDA能够很好的支持分层的建模,可以到IBM网站下载IDA试用版。 图2 InfoSphere Data Architect界面 以下以面向对象设计为基础,按照三范式建模方式,采用IDA 7工具,从最简单的实体对象对象模型入手,逐步细化模型,其基本框架模型下找出所有对象之间的关系,并模式化。 对象关系模型 业务对象(BO)包含复杂的逻辑关系,通过对业务对象及实体对象之间的关系的分析,将对象的关系简化为对象基本关系、对象变更关系、对象汇总关系、类别对象关系等,针对对象数据不确定的对象,建立属性不确定对象关系。除了对象之间的关系外,本模型增加了一个附加对象层,包含树装结构、时间结构等,用于处理一个特殊的业务需求。 在本模型中,实体对象基本关系是核心,确定了基本关系,也就把数据库的整体框架搭建起来了,其他模型可以看作仅仅是一个范式,在设计数据库的时候选择一个范式即可。本文虽然是以实体对象进行建模,但

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档