企业级数据模型

CDM(Conceptual Data Model)

概念数据模型是一个高阶层的数据模型,它定义了企业级的主题域、层面、主要的实体及实体间的业务关系。

在开始设计LDM之前,首先需要设计出CDM。CDM定义了重要的业务概念和彼此的关系,如客户、供应商、合作伙 伴、产品、服务、合同、网络、渠道、营销等。

LDM(Logical Data Model)和PDM(Physical Data Model)

逻辑数据模型是相对于物理数据模型而言的,逻辑数据模型是独立于数据库技术的,即在设计LDM时不需要考虑使用什 么样的数据库、字段类型、长度、索引等,也不需要考虑应用程序的性能等因素。而这恰恰是设计物理数据模型PDM时需要重点考虑的因素。在设计PDM之前, 必须确定数据库平台和应用程序的架构。

设计逻辑数据模型需要从业务角度反映出业务对象之间的本质联系,如客户、商品、产品、合同、渠道、帐户等。在设计 任何特定业务系统(如客户服务系统)或数据仓库系统之前都应该首先设计LDM。需要注意的是,LDM不一定是企业级的,它可能仅仅用来支持企业的某些部门 (如市场营销部门和客户服务部门)的特定业务流程(如业务受理或客户服务)或分析型应用(如客户利润分析)。

当逻辑数据模型的主题涵盖企业的各个方面(包括客户、供应商、合作伙伴、产品、网络、渠道、营销、事件、内部流 程、财务、地理区域等)并提供了企业级的业务视图时(Enterprise-wide Business View),被称为企业级逻辑数据模型EDM。因此,EDM是一个企业级的LDM,LDM可以被扩展为EDM。

EDM(Enterprise Data Model)

企业级逻辑数据模型是一个关于整个组织需要信息的完整模型,包含了数据实体和实体间的关系、属性、定义、描述和范 例。

EDM有助于:

· 找出多个系统相关和重合的信息。

· 减少多个系统之间数据的重复定义和不一致性,从而减小了应用集成的难度。

· 由于建立了企业级的数据架构,在未来的IT系统进行数据模型设计时,可以从EDM中进行映射并检查信息的完整性。

· EDM明确定义出了对信息的需求如何转化为数据结构。基于EDM可以开发出高质量的系统,更好地满足企业信息处理的需要,为企业管理者、业务用户和开发人 员提供了一个一致的业务模型。

· 为高层管理人员清晰地定义出了基本业务概念(如客户、商品、产品、服务、资源等),改善了业务部门和IT系统开发人员的沟通,提高了IT系统开发的效率。

· 在企业购买或开发新的IT系统(如财务管理软件)、或进行IT战略规划时界定出信息需求的范围。

如何根据EDM设计应用系统的数据模型?

在设计一个应用系统时,首先要根据应用需求在EDM中找出相关的实体、属性、关系和编码规则,以保证该应用系统的 信息完整性和可集成性。

根据用途,应用系统可分为OLTP和OLAP两种。

由于OLTP应用系统侧重在完成特定的功能和流程,因此在设计数据模型时要强化流程。EDM描述了整个企业的数据 需求,而EPM(Enterprise Process Model)则反映了企业主要的流程,两者的结合可以设计出高质量的OLTP应用系统。

在根据EDM来设计OLAP应用系统(数据仓库系统)的数据模型时,要根据分析的需求和需要回答的业务问题从 EDM中选取出相关的实体、属性。此外,由于数据仓库系统需要保存一定时间范围的历史数据来支持分析决策。在设计数据模型时,很多实体都必须要加上时间属 性(如开始日期、生效日期、结束日期等)。而完全用来支持流程又没有任何分析价值的实体和属性则不需要引入到数据仓库的模型中,如操作员登录认证信息和日 志等。

为了适应企业业务的变化和发展,EDM要有足够的灵活性,因此,EDM通常采用范式(第三范式:3rd Normal Form)的设计方法。但在设计应用系统的数据模型时,考虑到数据库和应用程序的性能(受数据库表连接、全表扫描性能的限制),通常要进行非正则化处理。