SQL反模式名称?

我正在寻找这个名称(如果有的话),因为它涉及到FK引用查找表的不良做法。

我用Google搜索,还检入了一本我拥有的书(SQL Antipatterns),但没有找到任何有关书。

在某些情况下,表(A)具有不可空列,其中FK引用了查询表(B)。

在该查找表中,我们有一个特殊的行,其中ID = -1,DESCRIPTION = Unknown。

这样做是为了代替简单地使(A)中的列为可空,然后适当地处理null。

我想知道此模式是否有名称?

a745061941 回答:SQL反模式名称?

  

我想知道这个模式是否有名字?

通常将其称为“未知成员”,它绝对不是维度建模的反模式,通常也不是OLAP。参见例如:https://www.kimballgroup.com/2003/02/design-tip-43-dealing-with-nulls-in-the-dimensional-model/

在报告中,从

获得相同的结果很重要
FACT LEFT JOIN DIMENSION
as
FACT INNER JOIN DIMENSION

许多报告工作流程都始于用户选择维度成员以过滤事实。因此,您确实需要在每个维度表中保留一行,以免错过某些查询模式中的行。

在OLTP中,我同意使用可为空的外键通常比引入未知成员更好,但是在某些业务领域中,引入看起来像未知成员的东西可能是常见的说法。

本文链接:https://www.f2er.com/3062677.html

大家都在问