<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次额外的键盘点击:)
最后,您可以将那些与保留名称混淆的名称命名为:
- 用户>;登录用户、应用用户、系统用户、CMSUser
或者使用臭名昭著的方括号[User]