数据模型

数据模型是指用实体、实体的属性、实体之间的关系对企业在运营活动中涉及到所有业务概念和业务活动进行统一的定义和描述。数据模型是业务人员和技术开发人员之间沟通的平台。这里先解释下两个概念

实体:现实世界中存在的可以相互区分的事务或概念念称为实体。实体可以分为事物实体和概念实体。例如:一个学生、一个工人等是事物实体。一门课、一个班级等称为概念实体。
实体的属性:每个实体都有自己的特征,利用实体的属性可以区别不同的实体。例如。学生的属性为姓名、性别、年龄等

数据建模

数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,用图形化的形式去描述业务规则的过程,从而表示现实世界中事务的相互关系的一种映射。数据建模主要包括概念模型设计、逻辑模型设计和物理模型设计。建模的流程图如下:

概念模型

概 念模型是一种高层次的数据模型。它定义了主要的业务概念及其关系,通过对业务需求和调研访谈内容的分析,对业务模型进行初步的归纳和提炼。概念模型的主题 域主要反映了企业活动中某方面的业务概念和内容,一般由同一类别的或者关系较为紧密的主题组成。主题数通过分析业务的需求,业务活动的流程和各种活动得到 的。主题根据实际的业务需要可以进一步细化成更小的主题或者实体,而实体是概念模型的最小单元,是不可再分的。例如:人员基本信息主题域由人员职位信息, 人员社会关系信息和人员通信信息等主题或者实体组成。主题域、主题、实体以及它们之间的关系组成了整个概念模型的基础架构,如下图所示

逻辑模型
逻辑模型是对概念模型的进一步分解和细化,描述了实体、实体属性以及实体之间的关系,是概念模型延伸,一般的逻辑模型有第三范式,星型模型和雪花模型。模型的主要元素为主题、实体、实体属性和关系。
所 谓主题,是指与业务相关的数据主要类别;实体通常定义为一个概念、一个事件或者一个人,是唯一的;实体属性用来描述实体的特征,处于最低层次;关系用来描 述实体之间的业务规则。例如:客户实体包括客户姓名、地址、出生日期等属性。逻辑模型的作用主要有两点。一是便于技术开发人员和业务人员或者用户进行沟通 交流,使得整个概念模型更易于理解,进一步明确需求。二是作为物理模型设计的基础,由于逻辑模型不依赖于具体的数据库实现,使用逻辑模型可以生成针对具体 数据库管理系统的物理模型,保证物理模型充分满足用户的需求。

物理模型
物 理模型中逻辑模型的基础上描述模型实体的细节,包括数据库产品对应的数据类型、长度、索引等因素,为逻辑模型选择一个最有的物理存储环境。逻辑模型转化为 物理模型的过程也就是实体名转化为表名,属性名转化为物理列名的过程。在设计物理模型时,还需要考虑数据存储空间的分配,包括对列属性必须做出明确的定 义。例如:客户姓名的数据类型是varchar2,长度是20,存储在Oracle数据库中,并且建立索引用于提高该字段的查询效率。

如何设计数据模型

设计概念模型

从定义上来说,概念模型时最高层次的数据模型,反映了数据仓库的主要主题和重要业务之间的关系。
一般来说,在进行数据仓库系统设计和开发之前,设计开发人员和业务人员已经对概念模型达成了
共识,因为概念模型反映的是核心的业务问题。
概念模型的设计步骤如下:
1、从业务需求中提取出重要的业务数据主题,包括对业务主题的详细解释,建下表

 

2、在业务数据主题的基础上进行数据主题的划分,包括对数据主题域的详细解释,如下图所示

3、划分主题域概念模型:根据数据主题域的划分,细化内部的组织结构和业务关系,如下图所示

总 结:概念模型建模的流程大致可以分成如下几部分:通过对业务系统的详细说明,进行数据的梳理,列出数据主题的详细清单,并对每个数据主题做出详细的解释, 然后结果归纳、分类,整理成各个数据主题域,列出每个数据主题域包括哪些部分,并对每个数据主题域做出详细解释,最后划分成主题域模型概念。

设计逻辑模型
从定义上讲,逻辑模型是以概念模型为基础,对概念模型的进一步细化、分解。逻辑模型通过实体和实体之间的关系描述业务的需求和系统显示的技术领域,是业务人员和技术人员沟通的桥梁和平台。概念模型和逻辑模型的关系如下图。

逻辑模型除了在概念模型的基础上丰富和细化主题域,并且确定每个主题域包含哪些主题外,还需要以下几个步骤:
1、分析需求,列出需要分析的主题,事实(需求目标),维度指标,维度层次、分析的指标、分析的方法、数据的来源、关注的对象等。

事实是数据仓库中的信息单元,处于数据模型的中心,也可以称作指标实体或者需求目标。事实体现了在现实世界中所获取的事务处理值,这些值只与每个相关维度的 一个点对应。事实应一般具有如下特性:可以为用户提供定量的数据、商务数据或实际数据的基本分析点,是用户进行分析活动的中心和灵魂;包含了多种访问指标 数据的路径、维度或指标;包含相关的标准数据;构成了每个维度中最低一级的类别和一个信息组中的指标;能够扩大成很大的表,容纳今后日益增加的数据。常见 维度有,Product_Name,Category,TimeKey,Date
维度在数据仓库中主要对事实指标进行过滤和重新组织提供指导。可以将用户对事实的查询结果按照维度指标进行筛选,只允许与维度指标相关的数据返回给用户。维 度一般具有如下特性:可以形成一个维度体系,具备访问和过滤事实的能力,能够提供相关的非标准实体,包括一个完整的维度体系编码、关键词以及相关的表示, 可以映射到用户所需要信息的列。在物理数据仓库中是较小的表,可以对前台用户的应用程序进行数据填充,或引用红花的数据仓库分析。

维度层级用来描述维度的各个层级。根据维度细节程度的不同,划分数据在逻辑上的等级关系,例如,时间维度包括年、季度、月、日等层次,地区维度包括国家、省、市等层次

下表为主题是电力营销业务分析处理情况


2、选择用户感兴趣的数据,通过业务需求将需要分析的指标分离抽取出来,转化成逻辑模型需要的实体。

例如,从用户数量、用电储存容量等分析指标中分离出用户实体和用电量实体。

3、在实体中需要增加时间戳属性,因为实体需要保存各个阶段的历史数据。通常情况下,如果实体为

统一编码,则不需要增加时间戳属性。

4、需要考虑粒度层次的划分。数据仓库的粒度层次划分直接影响了数据仓库的设计,通常细粒度的数据模型

直接从企业模型选取实体作为逻辑模型的实体,而粗粒度的数据模型需要经过汇总计算得到相应的实体。

粒度决定了企业数据仓库的实现方式、性能、灵活性和数据仓库的数据量。

5、在粒度层次划分的基础上,还需要进行关系模式的定义。关系模式可以采用第三范式、星型模型或者

雪花模型的特点进行定义,对当前的主题进行关系模式的划分,形成各个实体,实体属性,实体之间的

的关系等内容。同时在逻辑模型框架的基础上对实体的中英文名称、属性、属性的值域进行明确、完善和细化,真实反映业务逻辑关系和业务规则。

逻辑模型的设计流程可参见下图

设计物理模型
在逻辑模型的基础上,为用户生成环境选取一个合适的物理结构的过程,包括合适的
存储结构和存储方法,称作物理模型的设计过程。物理模型必须对列的属性进行明确的
定义,包括:列名、数据类型、长度、能否为空、有效性规则、默认值等。
逻辑模型转变为物理模型包括以下几个步骤:
1、实体名(Entity)转变为表名(Table)。
2、属性名(Attribute)转换为列名(Column),确定列的属性(Property)。
物理模型确定后,可以进一步确定数据的存放位置和存储空间的分配,最后生成定义
数据库的SQL命令

数据仓库的物理模型可参见下图

参考至:《商业智能深入浅出 Cognos,Informatica技术与应用》王飞著

​                     http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0803zhousb/​​       

​                     http://books.google.com.hk/books?id=cR_8GrGyw-MC&pg=PA82&lpg=PA82&dq=%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93+%E6%95%B0%E6%8D%AE%E5%88%86%E5%89%B2&source=bl&ots=VmCS7gvrGo&sig=LDYQ73fnkcCJ2jCbwFQGuqNiGMc&hl=zh-CN&sa=X&ei=m9AsUczOD9DTkgWf-ICIBg&ved=0CDUQ6AEwAQ#v=onepage&q&f=false​

​                     http://wenku.baidu.com/view/bb53626ef5335a8102d22081.html​

本文原创,转载请注明出处、作者
如有错误,欢迎指正