社保行业---数据仓库建模

来源:互联网 发布:mysql设置表空间大小 编辑:程序博客网 时间:2024/04/26 04:14

背景介绍
熟悉社保行业的读者可以知道,目前我们国家的社保主要分为养老,失业,工伤,生育,医疗保险和劳动力市场这 6大块主要业务领域。在这 6大业务领域中,目前的状况养老和事业的系统已经基本完善,已经有一部分数据开始联网检测。而,对于工伤,生育,医疗和劳动力市场这一块业务,有些地方发展的比较成熟,而有些地方还不够成熟。
1.业务建模阶段
基于以上的背景介绍,我们在业务建模阶段,就很容易来划分相应的业务。因此,在业务建模阶段,我们基本上确定我们本次数据仓库建设的目标,建设的方法,以及长远规划等。如下图:

 

                                                图 8.业务建模阶段
在这里,我们将整个业务很清楚地划分成了几个大的业务主线,例如:养老,失业,工伤,生育,医疗,劳动力等着几个大的部分,然后我们可以根据这些大的模块,在每个业务主线内,考虑具体的业务主线内需要分析的业务主题。
因此,业务建模阶段其实是一次和业务人员梳理业务的过程,在这个过程中,不仅能帮助我们技术人员更好的理解业务,另一方面,也能够发现业务流程中的一些不合理的环节,加以改善和改进。
同时,业务建模阶段的另一个重要工作就是确定我们数据建模的范围,例如:在某些数据准备不够充分的业务模块内,我们可以考虑先不建设相应的数据模型。等到条件充分成熟的情况下,我们可以再来考虑数据建模的问题。
2.领域概念建模阶段领域概念建模阶段是数据仓库数据建模的一个重要阶段,由于我们在业务建模阶段已经完全理清相应的业务范围和流程,因此,我们在这个领域概念建模阶段的最主要的工作就是进行概念的抽象,整个领域概念建模的工作层次如下图所示:

                                           图 9.领域概念建模阶段
从上图我们可以清楚地看到,领域概念建模就是运用了实体建模法,从纷繁的业务象背后通过实体建模法,抽象出实体,事件,说明等抽象的实体,从而找出业务表象后抽象实体间的相互的关联性,保证了我们数据仓库数据按照数据模型所能达到的一致性和关联性。
从图上看,我们可以把整个抽象过程分为四个层次,分别为:

·          抽象方法层,整个数据模型的核心方法,领域概念建模的实体的划分通过这种抽象方法来实现。

·          领域概念层,这是我们整个数据模型的核心部分,因为不同程度的抽象方法,决定了我们领域概念的不同。例如:在这里,我们可以使用参与方这个概念,同时,你也可以把他分成三个概念:个人公司,和经办机构这三个概念。而我们在构建自己的模型的时候,可以参考业务的状况以及我们自己模型的需要,选择抽象程度高的概念或者是抽象程度低的概念。相对来说,抽象程度高的概念,理解起来较为复杂,需要专业的建模专家才能理解,而抽象程度低的概念,较适合于一般业务人员的理解,使用起来比较方便。笔者在这里建议读者可以选用抽象概念较低的实体,以方便业务人员和技术人员之间的交流和沟通。

·          具体业务层,主要是解决具体的业务问题,从这张图我们可以看出,具体的业务层,其实只是领域概念模型中实体之间的一些不同组合而已。因此,完整的数据仓库的数据模型应该能够相应灵活变的前端业务的需求,而其本身的模型架构具有很强的灵活性。这也是数据仓库模型所具备的功能之一。

·          业务主线层,这个层次主要划分大的业务领域,一般在业务建模阶段即已经完成这方面的划分。我们一般通过这种大的业务主线来划分整个业务模型大的框架。

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

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

·          实例话每一个抽象的实体,例如:在上面的概念模型之后,我们需要对公司等这些抽象实体进行实例化。主要是,我们需要考虑的属性包括那些,在业务模块中,用到的所有跟相关的属性是哪些,我们都需要将这些属性附着在我们数据模型的这个实体上,例如得年龄,性别,受教育程度等等。同理,我们对其他属性同样需要做这个工作。

·          找出抽象实体间的联系,并将其实例话。这里,我们主要考虑是事件这个抽象概念的实例话,例如:对于养老金征缴这个事件的属性得考虑,对于失业劳动者培训这个事件的属性得考虑等等。

·          找出抽象事件的关系,并对其进行说明。在这里我们主要是要针对事件进行完善的说明。例如:对于事件中的地域,事件等因素的考量等等。

总而言之,在逻辑建模阶段,我们主要考虑得是抽象实体的一些细致的属性。通过逻辑建模阶段,我们才能够将整个概念模型完整串联成一个有机的实体,才能够完整的表达出业务之间的关联性。
在这个阶段,笔者建议大家可以参考 3NF的建模方法,表达出实体的属性,以及实体与实体之间的联系。例如:在这个阶段,我们可以通过采用 ERWIN等建模工具等作出符合 3NF的关系型数据模型来。

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

·          生成创建表的脚本。不同的数据仓库平台可能生成不同的脚本。

·          针对不同的数据仓库平台,进行一些相应的优化工作,例如对于 DB2数据仓库来说,创建一些 MQT表,来加速报表的生成等等。

·          针对数据集市的需要,按照维度建模的方法,生成一些事实表,维表等工作。

·          针对数据仓库的ETL车和元数据管理的需要,生成一些数据仓库维护的表,例如:日志表等。

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