六、面向主题 组织数据
面向主题 组织数据 步骤 :
① 抽取主题 : 按照 OLAP 数据分析 的要求 , 确定抽取的主题 ;
② 主题内容 : 确定 该抽取的主题 , 包含的数据内容 ;
主题抽取 示例 :
主题 : 商场的商品采购 ;
OLTP 数据 : 在 OLTP 数据库中 , 存储有 订单 , 订单详情 , 供应商 , 等数据库表 , 清晰的展示了 商品采购时 所涉及业务的数据内容 , 上述 数据的组织方式 是 面向应用 数据组织方式 ;
OLAP 数据需求 :
分析对象 : 在数据仓库中 , 需求是分析供应商的详细数据 , 通过数据分析处理 , 选出优质供应商 , 供应商是主要的分析对象 ;
忽略数据 : 具体的订单情况 , 清单详情 , 是需要忽略的 , 数据分析时 , 不需要分析采购的具体细节 , 如送货周期 , 送货时间 , 交接人员 等 , 这些都是操作型数据 , 分析时不需要关心这些细节数据 ;
数据组合 : 只抽取供应商的数据是不够的 , 还需要其它数据库中的部分数据 , 有些数据需要丢弃 , 有些数据需要抽取 , 重新组合成新的数据 ;
针对与商场 , 面向主题创建 数据仓库 , 抽取出如下三个主题 : ① 商品 , ② 供应商 , ③ 顾客 ;
将 4 44 个子系统 , 转为了 3 33 个主题 ;
OLTP 子系统 : 固有信息 , 采购子系统 , 销售子系统 , 库存子系统 ;
OLAP 主题 : 商品 , 供应商 , 顾客 ;
以 “商品” 主题为例 : 商品主题包含以下数据 :
商品本身信息 : 商品号 , 商品价格 , 商品颜色 ; ( 从商品固有信息中抽取 )
商品采购信息 : 商品号 , 供货商 , 采购价格 ; ( 从采购子系统中抽取 )
商品销售信息 : 商品号 , 零售价 , 顾客信息 ; ( 从销售子系统中抽取 )
商品库存信息 : 商品号 , 库存量 , 保存时间 ; ( 从库存子系统中抽取 )
七、数据 从 面向应用 转为 面向主题
数据 从 面向应用 转为 面向主题 转换过程 :
1 . 丢弃数据 : 一些与分析对象无关的信息 , 直接丢弃 ;
2 . 组织数据 : 与分析对象有关的信息 , 可能分布与各个子系统中 , 将这些数据重新组织起来 , 形成针对该分析对象的完整描述 , 放入一个主题中 ;
3 . 内容重叠 : 主题间可能存在内容重叠 , 这些 重叠的信息 反映了主题之间的联系 ;
逻辑重叠 : 主题逻辑上的重叠 , 区别于相同的数据的物理存储重叠 ;
细节重叠 : 数据在不同的主题上综合方式不同 ;
重叠方式 : 主题间的重叠可能是多重重叠 , 如 3 33 个主题间相互重叠 , 不是两两重叠 ;
七、数据仓库中的主题实现
数据仓库中的主题实现有两种方式 :
① 基于多维数据库 : 以多维数组的形式存储 ; ( 处理数据稀疏问题 )
② 基于关系数据库 : 以表的形式存储 ;
八、基于关系数据库
"主题" 基于关系数据库 :
主题数据组成 : 用一组 关系数据库 中的关系表 中的数据 表示主题 ;
公共码键 : 每个 关系表 都有一个 公共码键 作为 主属性 , 就是 id ;
主题数据联系方式 : 主题下的 关系表 数据 , 使用公共码键 进行关联 ;
公共码键示例 :
"商品" 主题 : 以商品主题为例 ;
公共码键 : 商品号 , 在所有的商品主题下的表中 , 都带有公共码键 , 商品号 ;
商品表 : 商品号 , 商品名称 , 颜色 , 形状 , 零售价 , …
采购表 : 商品号 , 供应商 , 采购日期 , 进货价 , …
库存表 : 商品号 , 库存量 , 库存时间 , …
主题中 关系表 的存储 :
低频访问数据存储 : 不经常访问的数据 , 如历史数据 , 细节数据 等查询概率低的数据 , 放在普通磁盘中存储 ;
高频访问数据存储 : 经常访问的数据 , 放在高速访问存储设备中 , 如 固态硬盘 ;
九、面向主题的数据组织
主题域 : 主题域是 完备的分析领域 , 需要具备以下两个特征 ;
独立性 : 主题域 必须有独立的主题 , 有明确的界限 , 表示某数据属于 / 不属于 该主题 ;
完备性 : 主题中包含的 主题对象 的数据必须完整 , 分析处理所用到的数据 , 都包含在该主题中 ;
主题数据组织 是 在较高层级 对数据进行抽象 ; 主题数据组织 独立于 数据处理逻辑 ; 在该 主题数据 基础上 , 可以快速开发新的 OLAP 应用 ;