星型模式建模 星型模式的基本形式必须实现多维空间(常常被称为方块),以使用关系数据库的基本功能
首先,我们需要理解多维空间
多维分析空间 几何学中的方块是指一个三维空间,其中每个维度的尺寸都相同
想象一个立方体,每个维度都有三个单元,我们即得到相同结构的 3 3 =2 7 个单元
图 1 一个具有 x、y、z 维度的方块 多维分析空间(或者数据仓库方块)与几何空间中的方块仅仅存在细节上的差异
维度不仅限于 3 维
不过,处理很多维度的立方体也不是件轻松的事情,这会导致大多数的实现被限制于 6 或者 7 维
不要期盼使用图形可以很好地表示超过 4 的维度--如果您有幸能发现一种方法,别忘了告诉我一下
维度并不具有相同的规模和单元
规模从几个单元到几百万个单元,差别巨大
单元可以是一天、一位顾客、部门等
单元,相当于子方块(1 ×1 ×1 等),包含事实
图2 一个三维数据立方体 数据立方体需要很大的内存以存储所有事实
无论是否包含事实,都必须要预留单元
这就是为什么使用关系数据库和星型模式的原因
使用它们能够优化存储并且保持数据结构的灵活性
星型模式 星型模式的基本思想就是保持立方体的多维功能,同时也增加了小规模数据存储的灵活性
图3 一个星型模式 在图3 中,星型模式使用事实 Flight 表示了一个 4 维方块(Passenger、Menu 、Flight Schedu let 和 Time)
基本上,事实必须指定一个维度,以将其放入立方体的单元中
我们的例子中的维度是: Passenger,描述了飞行航程中的每位乘客,由经常飞行号(frequ ent fly er nu mber)指定
不是经常乘坐飞机的乘客不是数据仓库的一部分
Flight Schedu le,是指所有常规飞行的日程
Menu ,是用于飞行的菜单