数据仓库建设---建模案例【转】

    前面介绍了一些抽象建模方法和理论,可能理解起来比较困难。所以,这里举一个例子说明数据仓库建模的大概规程。

一、背景介绍

     熟悉社保行业的人员知道,目前我们国家的社保主要分为养老、失业、工伤、生育、医疗保险和劳动力市场这6大块主要业务领域。在这6大业务领域中,目前的状况养老和事业的系统已经基本完善,已经有一部分数据开始互联网监测。而对于工伤、生育、医疗和劳动力市场这一块业务,有些地方发展的比较成熟,而有些地方还不够成熟。

二、业务建模阶段

     基于以上的背景介绍,在业务建模阶段,就很容易来划分相应的业务。因此,这这一阶段,基本上是确定数据仓库建设的目标,建设的方法,以及长远的规划等。如下图:

     在这里,我们将整个业务很清楚的划分成几个大的业务主线,例如:养老,工伤,生育,医疗,劳动力等几个大的部分,然后我们可以根据这些大的模块,在每个业务主线内,考虑具体的业务主线内需要分析的业务主体。

    业务建模阶段其实是一次和业务人员梳理业务的过程,在这个过程中,不仅能帮助我们技术人员更好的理解业务,另一方面,也能够发现业务流程中的一些不合理的环节,加以改善和改进。

    同时,业务建模阶段的另一个重要的工作就是确定我们数据建模的范围,例如:在某些数据准备不够充分的业务模块内,我们可以考虑先不建设相应的数据模型。等到条件充分成熟的情况下,再来考虑数据建模的问题。

三、领域建模阶段

    领域概念建模阶段是数据仓库数据建模的一个重要阶段,由于我们在业务建模阶段已经完全清理相应的业务范围和流程,因此,我们在这个领域概念建模阶段的最主要的工作就是进行概念的抽象,整个领域概念建模的工作层次如下图所示:

     从上图我们可以清楚的看到,领域概念建模就是运用了实体建模法,从纷繁的业务表象背后通过实体建模法,抽象出实体,事件,说明等抽象的实体,从而找出业务抽象后抽象实体间的关联性,保证了我们数据仓库数据按照数据模型所能达到的一致性和关联性。

    从上图看,我们可以把整个抽象过程分为四个层次,分别为:

  • 抽象方法层,整个数据模型的核心方法,领域概念建模的实体的划分通过这种抽象方法来实现。
  • 领域概念层,这是我们整个数据模型的核心部分,因为不同程度的抽象方法,决定了我们领域概念的不同。例如:在这里我们可以使用“参与方”这个概念,同时你也可以把它分成三个概念:“个人”、“公司”和”经办机构“。而我们在构建自己的模型时,可以参照业务的状况以及我们自己模型的需要,而抽象程度低的概念,适合一般业务人员理解,使用起来比较方便。
  • 具体业务层,主要是解决具体的业务问题,从这张图我们可以看出,具体的业务层,其实只是领域建模中实体之间的一些不同组合而已。因此,完整的数据仓库的数据模型应该能够适应灵活多变的前端业务需求,而其本身的模型架构具有很强的灵活性。这也是数据仓库模型所具备的功能之一。
  • 业务主线层,这个层次主要划分大的业务领域,一般在业务建模阶段已经完成这方面的划分,我们一般通过这种大的业务主线来划分整个业务模型大的框架。

    通过领域概念建模,数据仓库的模型已经被抽象成一个个的实体,模型的框架已经搭建完成,下面的工作就是给这些框架注入有效的肌体。
四、逻辑建模阶段

    通过领域概念建模以后,虽然模型的框架已经完成,但是很有很多细致的工作需要完成。一般在这个阶段,我们还需要做非常多的工作,主要包括:

  • 实例话每一个抽象的实体,例如:在上面的概念模型之后,我们需要对”人“和”公司“这些抽象实体进行实例化。主要是我们考虑”人“的属性包括哪些,在业务模型中,用到所有跟”人“有关的属性是哪些,我们都需要将这些属性附着在我们数据模型人这个实体上。例如:”人“的年龄、性别、受教育程度等等。同理,我们对其他属性页需要做这个工作。
  • 找出抽象实体间的联系,并将其实例化。这里,我们主要考虑是“事件”这个抽象概念的实例话。例如:对于“事件”中的地域,事件等因素的考量等等。
  • 找出抽象事件的关系,并对其进行说明。在这里我们主要针对“事件”进行完善的“说明”。例如:对于“事件”中的地域,事件等因素的考量等等。

    这个阶段,建议大家可以考虑3NF的建模方法,表达出实体的属性,以及实体与实体之间的联系。例如:在这个阶段,我们可以通过采用ERWIN等建模工具作出符合3NF的关系数据模型来。

五、物理模型阶段

     物理建模阶段是整个数据建模的最后一个过程,这个过程其实是将前面的逻辑数据模型落实的一个过程。考虑到数据仓库平台的不同,因此,数据模型的物理建模过程可能会稍微有一些不同,在这个阶段我们主要的工作是:

  • 生成创建表的脚本。不同的数据仓库平台可能生成不同的脚本;
  • 针对不同的数据仓库平台,进行一些相应的优化工作;
  • 针对数据集市的需要,按照维度建模的方法,生成一些事实表,维表等工作。
  • 针对数据仓库的ETL和元数据管理的需要,生成一些数据仓库维护的表,例如:日志表等。

    经过物理建模阶段,整个数据仓库的模型已经全部完成,我们可以按照自己的设计来针对当前的行业创建满足自己需要的数据模型来。

 

转自:https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0803zhousb/

猜你喜欢

转载自student-lp.iteye.com/blog/2220545