为了账号安全,请及时绑定邮箱和手机立即绑定

表命名困境:单数名与复数名

表命名困境:单数名与复数名

青春有我 2019-07-05 16:28:19
学术界认为,表名应该是它们存储属性的实体的单数。我不喜欢任何需要名称方括号的T-SQL,但我已将其重命名为Users表格以单数表示,永远使用表格的人有时不得不使用括号。我的直觉是,保留单数更正确,但我的直觉也是括号表示不受欢迎的名字,比如列名中有空格等等。我应该留下,还是该走?表命名困境:单数名与复数名
查看完整描述

3 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

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

我不喜欢任何需要名称方括号的T-SQL,但我已将其重命名为Users表格以单数表示,永远使用表格的人有时不得不使用括号。

我的直觉是,保留单数更正确,但我的直觉也是括号表示不受欢迎的名字,比如列名中有空格等等。

我应该留下,还是该走?


查看完整回答
反对 回复 2019-07-05
?
临摹微笑

TA贡献1982条经验 获得超2个赞

我也有同样的问题,在阅读完这里的所有答案后,我肯定会说出单数的理由:

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

理由2..(方便)单数的名字比复数的要容易得多。对象可以有不规则的复数或根本没有复数,但总是有一个单一的(除了少数例外,如新闻)。

  • 客户
  • 命令
  • 用户
  • 地位
  • 新闻

理由3..(审美和秩序)。特别是在主细节场景中,这样读起来更好,按名称对齐更好,并且有更多的逻辑顺序(主人第一,细节第二):

  • 1.订单
  • 2.订单

与之相比:

  • 1.订单
  • 2.订购

理由4(简单)把所有的,表名,主键,关系,实体类.最好只知道一个名字(单数),而不是两个(单数类、复数表、单数字段、单数复数主细节.)

  • Customer

  • Customer.CustomerID

  • CustomerAddress

  • public Class Customer {...}

  • SELECT FROM Customer WHERE CustomerID = 100

一旦您知道您正在处理的是“客户”,您就可以确定您将使用相同的词来满足您的所有数据库交互需求。

理由5..(全球化)。世界正在变小,你可能有一个不同国籍的团队,并不是每个人都有英语作为母语。对于一个非母语的英语程序员来说,想到“Repository”要比“Repository”或“Status”而不是“Status”更容易。使用单数名称可以减少由排字引起的错误,通过不必想“是孩子还是孩子?”来节省时间,从而提高了生产率。

理由6..(为什么不呢?)它甚至可以节省您的书写时间,节省您的磁盘空间,甚至使您的计算机键盘持续更长时间!

  • SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100

  • SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 100

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

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

  • 用户>登录用户,AppUser,SystemUser,CMSUser,.

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


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 709 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信