基于面向对象(OO)的数据库设计模式探讨(2)

本文深入探讨了基于面向对象的数据库设计,尤其是利用指标矩阵模型来优化汇总表的建模方法。通过建立清晰的指标和维度矩阵,简化了数据仓库的复杂性,提高了查询性能。这种方法借鉴了数据仓库的建模思路,强调预先汇总数据以提升查询速度,同时通过指标和维度矩阵简化数据模型,以适应大型管理系统的需求。
摘要由CSDN通过智能技术生成
基于面向对象(OO)的数据库设计模式探讨(2)

 一种基于指标矩阵的数据建模的方法

 

摘要

现在大型的管理系统有几千甚至上万张表,但几乎没有谁能搞清楚所有的数据结构,如何建立清晰明了的数据结构?如何让其他人对数据结构更加容易理解,本文以《基于面向对象(OO)的数据库设计模式探讨》为基础进一步对汇总表进行分析,通过建立指标矩阵模型,“模式”化数据库建模,建立清晰可读的汇总数据模型。

前言

软件开发中面临的问题

在软件开发过程中,几乎没有几个程序员喜欢报表开发,报表多、杂,需求多变,特别是给人感觉没有什么技术含量,大家对报表都是退避三舍。如果采用BI工具开发,又会因为BI工具五花八门,不同项目BI工具不同,需要开发不同的程序,增加了项目开发成本,除非是固定一种报表工具,但是不同的客户需求不同,不得已需要不停的变化展现工具;不用BI工具,自己开发应用,如果采用多维数据库,则需要程序员熟悉多维数据库的SQL语法,增加了开发的难度;基于关系型数据,采用通用的查询工具又往往面临着查询性能问题,报表的开发似乎成了一个死结。重复劳动、产品通用性差、查询性能差等问题是当前所面临的一个重要的课题,特别是对于大型的管理系统,多变的查询需求和海量数据处理,往往成为项目迟迟不能验收的一个最重要因素。

本文参照数据仓库建模的思路,解决查询性能问题,采用关系型数据结构,使用和业务系统通用的Java开发,给出了一个建立简单清晰的数据模型的方法。

 

数据仓库的建模思路

在数据仓库建模中经常会采用空间换性能的方法,需要汇总的数据不是临时汇总而是提前汇总好,比如销量指标,其年累计、同期、上期、计划、实际、增长比例等提前汇总计算好,提高查询速度,在此简单介绍几个基本的数据仓库概念:

星型模式:(也称为星形连接的模式,数据立方体,或多维模式 )是最简单的样式数据仓库架构 。星型模式由一个或多个事实表中引用任何数量的维表

维表:维度表可以看作是用户来分析数据的窗口,维度表中包含事实数据表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息,维度表包含帮助汇总数据的特性的层次结构。

事实表:事实数据表可能包含业务销售数据,如销售所产生的数据,事实数据表通常包含大量的行。事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据,每个事实数据表包含一个由多个部分组成的索引,该索引包含作为外键的相关性维度表的主键,而维度表包含事实记录的特性,在本文中称为汇总表。

 

本文采用的示例数据模型

为了更好的理解本项目的思路,以下以客户关系管理数据模型为例,按照对象关系模型建模,主要的业务对象包含供应商、商品;客户、客户经理、客户业态;销售订单、采购订单等基本业务对象,主要的汇总表包含客户商品日帐(即客户每天每个商品的销售汇总)等,如下图所示:

图 SEQ 图表\* ARABIC 1数据对象模型示例

 

另外在本文中提到几个指标:销量,是在一段时间内客户购买的数量;上柜率,是指一个月内购买某一个商品的客户数占所有有效客户数的比率。即上柜率=本月购买本商品的客户数/有效客户总数。

指标矩阵模型

根据当前所面临的问题,参考数据仓库建模理念,从以分析指标入手,建立指标模型,然后根据汇总维度建立维度矩阵模型,最终结合指标模型和纬度矩阵模型建立指标矩阵模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值