sql - Singular vs. Plural Names

  显示原文与译文双语对照的内容

约定认为表名称应该是它们存储属性的实体的单数。

使用表格来有时会用到brackets,我不喜欢任何 T-SQL,需要永远方括号内的名字,但我有一个 Users 表中重命名为单数,量刑 those.

在里面我比较贴切的感觉,是,etc,能于依然采用单数的,但我的比较贴切的感觉,也多了个列名称用括号指示 undesirables,如与有空格。

我应该停留,还是应该?

时间:

在书中," SQL编程风格,"Celko建议集合( 例如。 表) 应以复数命名,而标量数据元素( 例如。 列) 应以单数形式命名。

他引用 ISO-11179-4 作为元数据命名的标准,它支持这里准则。

这是个简单的例子:


SELECT Customer.Name, Customer.Address FROM Customer WHERE Customer.Name>"def"

vs 。


SELECT Customers.Name, Customers.Address FROM Customers WHERE Customers.Name>"def"

后者中的SQL与前者相比是陌生的。

我投票为单数

单数。我不购买任何涉及最逻辑的参数- 每个人认为自己的偏好是最合理的。 不管你做什么都是一团糟,只要选择一个惯例并坚持下去。 我们试图将一个高度不规则的语法和语义( 正常口语和书面语言) 映射到一个高度规则的( SQL ) 语法,具有非常特定的语义。

我的主要论点是,我不把这些表看作一个集合,而是作为关系。

AppUser 关系告诉哪些实体是 AppUsers

AppUserGroup 关系告诉我哪些实体是 AppUserGroups

AppUser_AppUserGroup 关系告诉我 AppUsersAppUserGroups 是如何相关的。

AppUserGroup_AppUserGroup 关系告诉我 AppUserGroupsAppUserGroups 是如何相关的( 例如 。 组组成员) 。

换句话说,当我考虑实体和它们之间的关系时,我想到的是单数,当然,当我想到集合或者集合中的实体时,集合或者集合是复数。

在我的代码中,然后在数据库架构中,使用单数。 在文本描述中,我最终使用复数来提高可读性- 然后使用字体 等等 来区分表格/关系名称。

我喜欢将它认为是凌乱的,但是我真希望系统性的- 而且产生这种方式总是有一个系统地名称关系来表达,因为我觉得是非常重要的。

...