数据库设计 – 在数据仓库中实现多对多关系有哪些方法?

前端之家收集整理的这篇文章主要介绍了数据库设计 – 在数据仓库中实现多对多关系有哪些方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
数据仓库建模的主流拓扑(Star,Snowflake)在设计时考虑了一对多关系.在这些建模方案中面对多对多关系时,查询可读性,性能和结构会严重降低.

有哪些方法可以实现维度之间或事实表与数据仓库中的维度之间的多对多关系,以及它们在必要的粒度和查询性能方面会造成什么样的妥协?

解决方法

根据我的经验,递归层次结构是解决这个问题的最实用的方法.它具有以下优点:

>无限深度.
>紧凑.
>灵活性.
>速度.

相比之下,每个级别的“多对多”连接需要额外的表格.这是硬编码的,难以针对架构更新进行维护.

通过使用筛选索引,大型分层连接表可以以高于专用表的速度执行.原因是每个连接只是“父子”与“将表连接到数据表”相比较.后者有更多的索引来处理和存储.

多年来我一直试图解决这个问题.最近,这就是我提出的.

猜你在找的MsSQL相关文章