在我昨天问的一个问题中:-
用户spectralghost提到我的列名(egTypeID)是一个糟糕的命名约定。你们能否为我详细说明为什么会这样,并让我知道“应该”对表和列使用什么样的命名约定?
在我昨天问的一个问题中:-
用户spectralghost提到我的列名(egTypeID)是一个糟糕的命名约定。你们能否为我详细说明为什么会这样,并让我知道“应该”对表和列使用什么样的命名约定?
你参考这个:
LEFT JOIN Document d on dt.DocumentType=dt.TypeID --terrible naming convention....
这样做的问题是语义相同的列在两个表中具有不同的名称。不管它是什么,建议都是一样的,以便能够更好地阅读您的脚本。当你试图记住所有这些时,你必须做很多额外的思考,如果你不遵守这个规则,随着桌子的数量开始增长......
看那个问题,我猜想评论不是关于列 TypeID 的名称,而是关系是一个名为 Type 的列和一个名为 TypeID 的列之间的关系。不想把话放在发表评论的人的嘴里,我看到了这些问题:
Type
很可能是保留字,现在或将来。通常,应避免使用在编程语言或数据库模型中具有共同含义的词。Type
)和另一列是事物本身时,很难理解这种关系是否正确发生。在这种情况下,不清楚是否Type
持有 ID 或类型的名称。如果 FK 端的列引用 TypeID 列,它至少应该包含名称 TypeID。与命名约定不直接相关的其他问题:
真的只有那个用户可以回答,因为“糟糕的命名约定”是他的个人意见。有问题的行是这个
LEFT JOIN Document d on dt.DocumentType=dt.TypeID --terrible naming convention....
我认为他的意思是外键在两个表中应该具有相同的名称 - 而不是 DocumentType,该字段应该被命名为 TypeID,所以该行应该是
LEFT JOIN Document d on dt.TypeID=dt.TypeID