我也有同样的问题,在阅读完这里的所有答案后,我肯定会说出单数的理由:理由1(概念)。你可以想到包里装着苹果,比如“AppleBag”,不管是0,1,还是100万个苹果,它都是同一个袋子。表只是容器,表名必须描述它包含什么,而不是它包含多少数据。此外,复数概念更多地是关于口语的(实际上是确定是否有一个或多个)。理由2..(方便)单数的名字比复数的要容易得多。对象可以有不规则的复数或根本没有复数,但总是有一个单一的(除了少数例外,如新闻)。客户命令用户地位新闻理由3..(审美和秩序)。特别是在主细节场景中,这样读起来更好,按名称对齐更好,并且有更多的逻辑顺序(主人第一,细节第二):1.订单2.订单与之相比:1.订单2.订购理由4(简单)把所有的,表名,主键,关系,实体类.最好只知道一个名字(单数),而不是两个(单数类、复数表、单数字段、单数复数主细节.)CustomerCustomer.CustomerIDCustomerAddresspublic Class Customer {...}SELECT FROM Customer WHERE CustomerID = 100一旦您知道您正在处理的是“客户”,您就可以确定您将使用相同的词来满足您的所有数据库交互需求。理由5..(全球化)。世界正在变小,你可能有一个不同国籍的团队,并不是每个人都有英语作为母语。对于一个非母语的英语程序员来说,想到“Repository”要比“Repository”或“Status”而不是“Status”更容易。使用单数名称可以减少由排字引起的错误,通过不必想“是孩子还是孩子?”来节省时间,从而提高了生产率。理由6..(为什么不呢?)它甚至可以节省您的书写时间,节省您的磁盘空间,甚至使您的计算机键盘持续更长时间!SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 100您保存了3个字母、3个字节、3个额外的键盘点击:)最后,您可以将那些与保留名称混淆的名称命名为:用户>登录用户,AppUser,SystemUser,CMSUser,.或者使用臭名昭著的方括号[用户]