【Stackoverflow好问题】SQL表名,应该用复数还是单

页面导航:首页 > 数据库 > MsSql > 【Stackoverflow好问题】SQL表名,应该用复数还是单

【Stackoverflow好问题】SQL表名,应该用复数还是单

来源: 作者: 时间:2016-01-27 10:35 【

问题SQL表名,应该用表对应资源对象的复数形式还是单数形式。例如一个用户表,表名是用user还是users更合适呢?精华回答用单数形式更佳,理由如下:1、概念直观。你有一个袋子,里
问题 SQL表名,应该用表对应资源对象的复数形式还是单数形式。例如一个用户表,表名是用user还是users更合适呢?
 
精华回答
 
用单数形式更佳,理由如下:
 
1、概念直观。 你有一个袋子,里面有好多个苹果,你会说这是个苹果袋。但无论里面有0,1,百万个苹果,它依然是个袋子。表也是如此,表明需要描述清楚,表里面包含的对象,而非有多少个数据。
 
2、便利性 单数形式更简单。有一些单词,它的复数形式可能是非常规的,或者就没有复数形式,但是单数不一样,单数形式则没那么多讲究。有些单词的复数,可能会想到你头大,可能得好好google才出来
 
3、优雅 特别是一些master-detail形式的资源名称,统一用单数,读起来更方便,对齐更整齐,从顺序上更有逻辑性。 对比下 单数: OrderOrderDetail 复数: OrderDetailsOrders
 
4、简单朴素 设想下,不管是表名,主键,关系,实例Classes,你都可以统一用单数,所有看上去那么统一,也不用费心地各种复数单数中转换你的思维 CustomerCustomer.CustomerustomerAddresspublic Class Customer {...}SELECT FROM Customer WHERE CustomerID = 100 一旦你确定,要处理的这个对象,名字定为Customer,那么所有和数据库相关的交互、就都将使用这个单词
 
5、全球化 假设你身处一个全球化的团队,成员中有些人,母语不是英文,对他们来说,辨认、书写一个单词的复数形式,要更困难,会给他们带来麻烦,也给团队合作带来麻烦。
 
6、为什么不 这可以节省你的拼写时间,硬盘空间,甚至让你的键盘更“长寿” SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 100 看这两条语句,你可以省下3个字母,3个字节,3次键盘敲击
最后,我还认为,你应该给一些容易冲突的名字加个前缀,例如User,要把对应的前缀加上,也就是 User > LoginUser, AppUser, SystemUser, CMSUser,...
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<