微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据库设计 – 列名称命名约定和最佳实践

在列命名方面,我想就最佳实践提出一些专家意见.

背景是according to Wikipedia,语法如下,

SELECT ... FROM Employees JOIN Timesheets USING (EmployeeID);

效率比

SELECT ... FROM Employees JOIN Timesheets ON (Employees.EmployeeID = Timesheets.EmployeeID);

但是,JOIN … USING语法仅适用于所有主键列具有全局唯一名称.因此,我想知道这是否被认为是正确的事情.

就个人而言,我总是习惯用PK列id和外键列othertable_id创建表.但是这样就无法使用USING或NATURAL JOIN.

任何设计风格的链接或桌子设计的最佳实践指南也将受到赞赏!

解决方法

之前有人问过这个问题.

如果您有共同且非常模糊的名称,则使用表名称作为前缀.也就是说,几乎每个查询都需要对别名进行别名处理.

所以对于我有的员工表

EmployeeID
EmployeeName
Comment
Salary
StartDate
EndDate
InsertedDateTime
...

维基百科实际上说:

The USING construct is more than mere syntactic sugar,however,since the result set differs from the result set of the version with the explicit predicate. Specifically,any columns mentioned in the USING list will appear only once,with an unqualified name,rather than once for each table in the join.

这是一个较少的专栏.你永远不会使用SELECT *,所以重点是没有意义……

原文地址:https://www.jb51.cc/mssql/79619.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐