关系模型与多维模型差异示例(书摘备查)

来源:互联网 发布:扩展欧几里得算法详解 编辑:程序博客网 时间:2024/05/17 07:15

 

        左边是一个销售订单的典型的规范化表示。订单(Order)实体描述有关订单文档的信息,订单明细(Order Line)实体描述有关订单明细的信息,两个实体都包含描述订单和它的状态的信息。右边是一个订单状态维(Order Status Dimension),该维描述与订单和订单明细中对应的状态编码值的唯一组合。它包括在实体模型的订单和订单明细实体中都出现的属性。当销售订单事实行被装载时,参照在订单状态维中的适合的状态编码的组合设置它的外键。

         维设计的整体观点是要简化和加速查询。例如,假设用户正在基于一个特别的订单对一个含有500万条订单的数据库进行分析。在关系模型中,查询需要定位具有该订单特性的订单,接着连接到订单明细。如果有100万条具有这个特性的订单,那么数据库系统将需要做大量工作来找到所有这些明细信息。另一方面,订单状态维只包含状态编码的唯一组合,维中的属性通常基于值之间关联的层次选择,像这样一个典型的维可能只含有100或200行,其中只有25行可能包含具有特性的编码。因此,在数据库中只需在事实表里查找25个外键来定位所有的订单事实行即可。

0 0
原创粉丝点击