避免冗余属性关系,因为当多维数据集的粒度属性是非键属性时,这些关系可能导致数据无法聚合

此规则分析维度,以确定它们是否包含冗余属性关系。

最佳实践建议

不要创建冗余属性关系。冗余属性关系是指由其他属性关系以过渡方式暗示的属性关系。换言之,两个属性间存在的逻辑等效路径多于一条。例如,创建了关系 A->B、B->C 以及 A->C,则 A->C 就是冗余关系,应予以删除。

冗余属性关系会导致数据聚合错误,因为服务器只挑选一条用于聚合的路径。服务器通常挑选最短的路径。(例如,在上文讨论的示例中,服务器会挑选路径 A->C。)但是,较长的路径应是更好的选择,因为它会添加更多信息。(在上文讨论的示例中,较长的路径为 A->B 然后 B->C。)属性树中级别更高的关系除了更容易表现之外,还能提供更有效的存储和更多的内存用量,因为相关属性通常关联的成员一定较少。

有关详细信息

有关详细信息,请参阅 SQL Server 联机丛书中的定义属性关系