【Stackoverflow好问题】SQL表名,应该用复数还是单数
来源:程序员人生 发布时间:2014-12-17 08:19:42 阅读次数:6191次
问题
SQL表名,应当用表对应资源对象的复数情势还是单数情势。例如1个用户表,表名是用user还是users更适合呢?
精华回答
用单数情势更佳,理由以下:
1、概念直观。
你有1个袋子,里面有好多个苹果,你会说这是个苹果袋。但不管里面有0,1,百万个苹果,它仍然是个袋子。表也是如此,表明需要描写清楚,表里面包括的对象,而非有多少个数据。
2、便利性
单数情势更简单。有1些单词,它的复数情势多是非常规的,或就没有复数情势,但是单数不1样,单数情势则没那末多讲求。有些单词的复数,可能会想到你头大,可能得好好google才出来
3、优雅
特别是1些master-detail情势的资源名称,统1用单数,读起来更方便,对齐更整齐,从顺序上更有逻辑性。
对照下
单数:
4、简单朴素
假想下,不论是表名,主键,关系,实例Classes,你都可以统1用单数,所有看上去那末统1,也不用费心肠各种复数单数中转换你的思惟
- Customer
- Customer.CustomerID
- CustomerAddress
- public Class Customer {...}
- SELECT FROM Customer WHERE CustomerID = 100
1旦你肯定,要处理的这个对象,名字定为Customer,那末所有和
数据库相干的交互、编程就都将使用这个单词
5、全球化
假定你身处1个全球化的团队,成员中有些人,母语不是英文,对他们来讲,辨认、书写1个单词的复数情势,要更困难,会给他们带来麻烦,也给团队合作带来麻烦。
6、为何不
这可以节省你的拼写时间,硬盘空间,乃至让你的键盘更“长寿”
- SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
- SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 100
看这两条语句,你可以省下3个字母,3个字节,3次键盘敲击
最后,我还认为,你应当给1些容易冲突的名字加个前缀,例如User,要把对应的前缀加上,也就是
User > LoginUser, AppUser, SystemUser, CMSUser,...
stackoverflow链接:
http://stackoverflow.com/questions/338156/table-naming-dilemma-singular-vs-plural-names
专栏介绍:
非常喜欢stackoverflow,总能在上面找到疑问杂症的解决办法。偶然发现该网站有1个热度榜单。因而精选了热度较高的1些问题,然后依照自己的理解,把大家的讨论梳理出来。因此,这些文章不是真实的翻译,而是依照自己的理解做了1些增删、润饰,希望能把上面的讨论,更精简有效地分享给大家。
如需转载,请注明原文地址
http://blog.csdn.net/lizeyang
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠