mysql - 为什么不用驼峰命名创建表名和字段?
PHP中文网
PHP中文网 2017-04-17 13:48:46
0
5
1391
PHP中文网
PHP中文网

认证0级讲师

全部回覆(5)
Ty80

隨便啊,你怎麼喜歡怎麼命名

http://stackoverflow.com/questions/7899200/is-there-a-naming-convention-for-mysql

迷茫

其實,這是一種規範,而不是一種規則。所以你使用駝峰來命名也是可以的,但我們要避免用駝峰來命名。
不只是資料庫,就是平常的程式也是,因為:

MYSQL 5.7 FEATURES. THIS MANUAL DESCRIBES FEATURES THAT ARE NOT INCLUDED IN EVERY EDITION OF MYSQL 5.7; SUCH FEATURES MAY NOT BE INCLUDED INSQL EDITION S INCLUDED IN YOUR EDITION OF MYSQL 5.7, REFER TO YOUR MYSQL 5.7 LICENSE AGREEMENT OR CONTACT YOUR ORACLE SALES REPRESENTATIVE.

你能一眼看出這段文字麼?

MySQL 5.7 features. This manual describes features that are not included in every edition of MySQL 5.7; such features may not be included in the edition of MySQL 5。 in your edition of MySQL 5.7, refer to your MySQL 5.7 license agreement or contact your Oracle sales representative.

人看習慣了一種規範,看到駝峰就要花腦力去解析的好麼?不只是要你看得懂,後面維護的人也要看懂。

PHPzhong

駝峰命名法的優點是可讀性好,假如程式碼中變數名全大寫或小寫,或是有底線,那麼程式碼可讀性將會很差,而且變數全大寫還會與final變數衝突。

腦補一下程式中變數全大寫的場景...

驼峰法: myCatName();
下划线: my_cat_name();
全小写: mycatname();
全大写: MYCATNAME();

其實駝峰法應該是最接近書寫語言的規範,這樣的程式碼閱讀起來也沒什麼不妥之處。

個人感覺無論是駝峰命名法,或是final型的全大寫,完全是一種程式設計習慣,由於優點比較多,所以逐漸演變成了規範。
而與資料庫相關的程式碼不像其他程式語言程式碼那麼多,寫SQL即使全大(小)寫也不會影響可讀性,全大寫的表名和欄位名稱也不會讓人眼花撩亂。
而且寫SQL時如果欄位名稱是用駝峰法命名的,DBA應該會討厭死大小寫切換吧。

左手右手慢动作

比較老派的開發者都是用小寫和下劃線的這種方式, 很多可能是從oracle轉過來的, 其實駝峰更加好, 最重要的就是體現在開發的便利上, 與持久層框架映射更面向, 如: mybatis, 寫過mapper.xml的都知道, 如果用下劃線會很煩, 出錯率是極高的, 耽誤你1個小時當玩一樣, 好在是現在一般都是自動生成後再修改, 不過也是麻煩, 直接copy名字多easy啊

伊谢尔伦

我做了快六年的資料庫開發。可以說寫了六年的sql了。負責人告訴你。如果你寫sql,就要遵守底線規範。稍微有點數據敏感的。都這麼用。這也是規範。至於駝峰,你開發 java程式碼或其他程式碼 可以用。用在寫sql上不適合。好處就是可讀性高,區分性強。例如起表名 temp_a 。那我就知道這是臨時表a。當然你可以說我 TempA。那麼複雜點。呢temp_taobao_20170101,20170101的淘寶臨時表。 TempTaoBao20170101。是不是有點長了?那我再複雜一點。 Temp_tabao_cust_info淘寶客戶資訊臨時表。甚至可以縮寫。 temp_TB_cust_info,如果駝峰呢。 tempTBCustInfo。資料庫表名和欄位一般都帶有業務意義的。大家都知道度一句沒有任何標點符號的話很費勁這就是為什麼要用下劃線。上句話我就少了一個句點。你看看是不是很費力?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板