什么是维度建模?
维度建模是一种逻辑设计方法,遵循该方法可以以标准结构呈现数据,这种结构具有感知性并支持高性能访问。它本质上是维度化的,并且遵循一种需要关系模型并伴随若干限制的学科。
每个维度模型都由一个具有多部分主键的表(称为事实表)和一组较小的表(称为维度表)组成。每个维度表都具有一个独立的元素主键,该主键与事实表中多部分主键的某个元素相关联。这种独特的星形结构称为星型连接。这可以追溯到关系数据库的早期阶段。
事实表由于具有由两个或更多外键组成的多部分主键,因此始终定义了多对多关系。一般事实表还包含一个或多个数学事实,这些事实出现在表示每个记录的关键的合并中。
事实表中的通用事实是数值型且可加的。可加性至关重要,因为数据仓库应用程序从不获取单个事实表记录。因为它们一次会获取数百个、数千个此类数据,并且对多个记录执行的唯一有益操作就是将它们加总起来。
维度表包含描述性文本数据。维度属性是数据仓库查询中有趣约束的来源,也是结构化查询语言 (SQL) 答案集中行标题的来源。
主实体关系图可以包含销售电话、订单输入、发货发票、用户付款和产品退货等。从某种方法上讲,实体关系图通过在一个图上表示多个从未在单个数据集中在单个一致时间点共存的过程而损害了自己。
因此,将实体关系图修改为一组维度建模图的第一步是将实体关系图分离成其离散的业务过程,并分别对每个过程进行建模。
第二步是在实体关系模型中选择那些包含数学和可加非键事实的多对多关系,并将它们标记为事实表。
第三步是将一些剩余的表反规范化为具有单个元素键的扁平表,这些表直接链接到事实表。这些表成为维度表。在维度表连接到多个事实表的情况下,我们在两个模式中都表示同一个维度表,并且它将维度表定义为两个维度模型之间的“一致”维度表。
广告