学术界认为,表名应该是存储其属性的实体的单数。

我不喜欢任何需要在名称周围加方括号的T-SQL,但我已经将一个Users表重命名为单数,这永远意味着使用该表的人有时不得不使用括号。

我的直觉是,保持单数更正确,但我的直觉也是,括号表示不需要的东西,比如列名中有空格等。

我该留下还是该走?


当前回答

我只对拼写相同的表名使用名词,无论是单数还是复数:

驼鹿鱼鹿飞机你内裤短裤眼镜剪刀种孩子

其他回答

可能的替代方案:

重命名表SystemUser使用括号保留多个表名。

IMO使用括号从技术上来说是最安全的方法,尽管它有点麻烦。IMO是一个6个,另一个6打,您的解决方案实际上只是归结为个人/团队偏好。

我总是使用单一的表名,但正如前面所述,最重要的是保持一致,并对所有名称使用相同的形式。

我不喜欢多个表名,因为组合的名称可能会很奇怪。例如,如果您有一个名为Users的表,并且您想存储用户的财产,那么这将导致一个名称为UsersProperties的表。。。

如果你去那里会有麻烦,但如果你留下来,麻烦就会加倍。

我宁愿违背一些假定的非复数命名惯例,也不愿用可能是保留词的名称来命名我的表。

我个人更喜欢用复数来表示一个集合,这对我的关系思维来说“听起来”更好。

此时此刻,我正使用单数名称为我的公司定义一个数据模型,因为大多数工作人员都觉得它更舒服。有时候,你只需要让每个人的生活更轻松,而不是强加你的个人喜好。(这就是我在本主题中的结尾,以确认什么是命名表的“最佳实践”)

在阅读了这篇文章中的所有争论之后,我得出了一个结论:

不管每个人最喜欢的口味是什么,我都喜欢我的蜂蜜煎饼。但如果我为其他人做饭,我会尝试为他们提供他们喜欢的东西。

在寻找良好的命名惯例时,我应该如何命名会出现以下困惑:

1) 根据桌子上的东西用户表。它总是复数形式。所以,用户

2) 根据记录的内容用户表中的记录将是单个用户。SO,用户。

现在,主要是用户角色的问题。情况1:根据第一命名约定,users_roles此名称的含义、用户及其角色。

案例2:根据第二种命名约定,user_role这个名字意味着什么,用户和他的角色。

良好的命名约定是提供实体关系的额外概念,尤其是当存储多对多关系时。

在这里,根据场景,我们应该确定为一组信息。

在用户表中,形成的所有集合都是唯一的用户。在“角色”表中,形成的所有集合都是唯一的角色。在用户和角色关系表中,可以用不同的角色组成用户集,这给出了存储1个任意关系的概念。

I would prefer,
Users table => user
Roles table => role
users role relationship table => user_roles