星型模式建模 星型模式的基本形式必须实现多维空间(常常被称为方块),以使用关系数据库的基本功能。 首先,我们需要理解多维空间。 多维分析空间 几何学中的方块是指一个三维空间,其中每个维度的尺寸都相同。想象一个立方体,每个维度都有三个单元,我们即得到相同结构的 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 ,是用于飞行的菜单。只有对菜单进行基本的分类才会对数据挖掘有重要意义。 Time,是指飞行的时间。 事实 Flight 描述了乘客在唯一的 Time 的单程飞行上选择 Menu 。 分析空间可以是完整的方块,或者我们可以根据维度将分析空间分割成小片。 每个维度根据一个对象进行描述,对象可以用类表示,这些类就是有关业务主题的名称。这一点对于成功建立数据仓库来说是很重要的,因为仓库的用户(经理、分析员、市场)对于信息技术的术语并不是很熟悉。 事实本身就是商业智能的另一个对象,仍然通过类进行表示。 事实指每个维度。事实与维度的关联常常是一对...