我有一个名为Widgets和一个名为Persons的表格。
它们都包含了Identity列(种子)。
那么,对于Identity列,推荐使用什么命名规范呢?
是 "id
" (两个表格的都一样)吗:
Widgets.Id
Persons.Id
或
Widgets.WidgetId
Persons.PersonId
前者和后者相比有什么优缺点吗?
我有一个名为Widgets和一个名为Persons的表格。
它们都包含了Identity列(种子)。
那么,对于Identity列,推荐使用什么命名规范呢?
是 "id
" (两个表格的都一样)吗:
Widgets.Id
Persons.Id
或
Widgets.WidgetId
Persons.PersonId
最佳实践是在表名前加上前缀。
这将使在连接时更清楚地了解您在SELECT
列表中引用的字段。
它还可以避免意外的错误JOIN
条件,例如:
JOIN TableA ON ID = TableA.ID
通常情况下,应避免跨表重复字段名称,除非它们表示相同的数据。
在标识列中使用表名略显冗余,但我发现这样做更有用,并且特别适合执行外键连接时更加描述性。例如,哪个更好:
SELECT P.PersonID, P.FullName, W.WidgetID, W.WidgetName
FROM Widgets W JOIN
PersonWidgets PW ON W.WidgetsID = PW.WidgetsID JOIN
Person P ON P.PersonID = PW.PersonID
或者
SELECT P.ID as PersonID, P.FullName, W.ID as WidgetID, W.WidgetName
FROM Widgets W JOIN
PersonWidgets PW ON W.ID = PW.WidgetsID JOIN
Person P ON P.ID = PW.PersonID