表格命名困境:单数与复数名称[关闭]

关闭。这个问题是基于意见的。它目前不接受答案。

<hr class=“my12大纲无baw0 bb bc-POWER-400”/

想改进这个问题吗?编辑这篇文章,更新这个问题,以便用事实和引文来回答。

已于8年前关闭

改进这个问题

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

我不喜欢任何T-SQL在名称周围需要方括号,但我已经将用户表重命名为单数,永远判决那些使用该表的人有时必须使用括号

我的直觉是使用单数更为正确,但我的直觉是括号表示不受欢迎的内容,如带有空格的列名等

我该留下来,还是该走

我也有同样的问题,在阅读了这里的所有答案后,我肯定会坚持单一的理由:

原因1(概念).你可以想象一个包里装着苹果,比如“AppleBag”,不管它装的是0个、1个还是100万个苹果,它都是同一个包。表只是一个容器,表名必须描述它包含什么,而不是它包含多少数据。此外,复数概念更多的是关于口语的(实际上是为了确定是否有一个或多个)。

原因2(方便)。单数名称比复数名称更容易说出。对象可以有不规则复数或完全不复数,但总是有单数名称(新闻等少数例外)

  • 顾客
  • 命令
  • 使用者
  • 地位
  • 新闻

原因3(美学和顺序)。特别是在主细节场景中,它读起来更好,按名称排列更好,逻辑顺序更合理(主细节优先,细节其次):

  • 1.秩序
  • 2.订单详情

与之相比:

  • 1.订单详情
  • 2.订单

原因4(简单性)。将表名、主键、关系、实体类……放在一起,最好只知道一个名称(单数),而不是两个名称(单数类、复数表、单数字段、单数复数主细节…)

  • 客户
  • Customer.CustomerID
  • 客户地址
  • 公共类客户{…}
  • 从CustomerID=100的客户中选择

一旦您知道您正在与“客户”打交道,您就可以确定您将使用同一个词来满足所有数据库交互需求

原因5(全球化)。世界越来越小,你可能有一个不同国籍的团队,不是每个人都以英语为母语。对于一个非英语母语的程序员来说,想到“存储库”比想到“存储库”更容易,或者想到“状态”而不是“状态”。使用单数名称可能会导致由于打字错误而导致的错误更少,不必思考“是儿童还是儿童”而节省时间,从而提高生产率

原因6(为什么不呢?)。它甚至可以节省您的书写时间,节省您的磁盘空间,甚至使您的计算机键盘使用时间更长

  • 从Customer.CustomerID=100的客户中选择Customer.CustomerName
  • 从Customers.CustomerID=103的客户中选择Customers.CustomerName

您已保存了3个字母、3个字节和3次额外的键盘点击:)

最后,您可以将那些与保留名称混淆的名称命名为:

  • 用户&gt;登录用户、应用用户、系统用户、CMSUser

或者使用臭名昭著的方括号[User]

发表评论