今天我在了解某一功能時,發現數據庫列名居然是中文的,工作六年多還是一回見到。只記得上學的時候,我們老師說過會出現兼容性等問題,具體已記不清楚了。
我好事的百度了下,整理了各網友給出的答案,希望對大家有幫助。
我們在使用中文的表名和列名的時候,先確認我們使用的數據庫是否支持中文表名和列名。例如我最常用的SQL Server,它就是支持使用中文的。現在主流的數據庫,對多語言的支持也在日益完善。
下面我們來說說選用中文的適合場景及優缺點。
場景:
1、在不熟悉的領域(機械,醫療等專業)里,英文往往並不能准確的翻譯,而使用拼音或縮寫也不直觀,不如直接使用英文。
2、在簡歷的、快速開法的(低成本僅供演示的)項目中,往往對數據字典沒什么特別的要求,也無需考慮穩定性、遷移性等。使用中文可以方便修改邏輯結構模型,方便SQL語句設計,而且將來可以隨時改為英文字段名。
優點:
1、不必考慮命名規范
2、很清晰的知道我們要操作的字段,看起來簡直一目了然。--當然如果數據庫被其他人進入也是一目了然,安全性差一點。
3、頁面顯示的時候無需轉換。
4、添加、更改字段屬性,無需調整永久字段。 --關於這一點,我並沒有理解。若有人明白,請幫助下我,萬分感謝。
缺點:
1、編寫時中文的“,”和英文的“,”,中文的全角半角等切換太麻煩,很容易出問題。
2、看起來有點Low,也容易出現打錯列名。--介於智能輸入法的智能提示及我們國家語文的博大精深。
3、中文儲存預英文儲存有差異,所以一些系統視圖中可能會有一些性能或者維護上的影響。合並列的時候很麻煩。
4、兼容性差。如多語言環境下、多種數據庫情況下,兼容性差。在Java中,是不支持中文列名的,它會直接導致你的操作不成功。
總的來說,選用中文表名列名弊遠大於利。所以為了避免不必要的麻煩和莫名其妙的錯誤,其他場景下還是選用英文為好。
但我們需要注意的是:
1、一定要命名規范。
2、要避免一些名稱與關鍵字沖突。
3、考慮界面友好,頁面顯示一定要顯示中文。
