加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2021-05-16 13:33:38 所属栏目:MsSql教程 来源:网络整理
导读:在列命名方面,我想就最佳实践提出一些专家意见. 背景是according to Wikipedia,语法如下, SELECT ... FROM Employees JOIN Timesheets USING (EmployeeID); 效率比 SELECT ... FROM Employees JOIN Timesheets ON (Employees.EmployeeID = Timesheets.Empl

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

背景是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 *,所以重点是没有意义……

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读