【Stackoverflow好問題】SQL表名,應該用復數還是單數
來源:程序員人生 發布時間:2014-12-17 08:19:42 閱讀次數:6519次
問題
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
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈