資料表設計規則-命名規則

之前有提到過小弟我是在開發WEB的工程師,經過幾次的案子會發現,注意一些小細節,建立好一個原則,對於大型的專案有很大的幫助。一開始可能覺得很麻煩,就跟後端程式碼的Coding Style一樣,縮排要空幾格、逗號之後空一格、名稱格式…感覺沒什麼用,資料庫也是一樣,如果隨便命名資料表,依照當下心情去決定,或是不想設定條件約束,設定後礙手礙腳,不好操作。

不過只要知道原理,以及命名有一個原則,等到有非常多資料表在資料庫中時,就會感受到這些小細節帶給你的好處!

資料表、欄位命名格式

以資料庫來說,我得命名方式都是使用底線連接兩個單字 bacterin_date,假設動物施打狂犬病疫苗的日期欄位,使用下底線 「_」 來區隔每一個單字。

有些人可能會用 bacterinDate 駝峰式命名,也有人會使用 帕斯卡命名法 BacterinDate (第一個字母也用大寫),不管哪一種命名方式,用了請都持之以恆。

我自己都是使用 下底線分隔的命名方式。

如果是在維護公司的案子,公司有類似的原則,就依造原則堅持下去。不要有時候  bacterin_date 有時候 bacterinDate,資料表名稱也是如此。

其他命名注意事項

  • 資料表皆已複數形式命名。 存動物資料的資料表 animals
  • 命名要簡單易懂,避免用縮寫。 bacterin_date -> b_d (明天回來看我就忘記是什麼意思了!)
  • 長度的限制 SQL 標準規定128字元,PostgreSQL 最長接受 63字元。其他資料庫系統對於資料表名稱的長度限制略有不同,如果以後可能有改到其他資料庫系統機會,需要特別注意這點。
  • 複製資料表請加上日期 YYYY_MM_DD -> animals_2019_09_20

建立好一些規則後,會比較好維護,明天將介紹約束相關的內容。約束條件的設定,可以確保資料庫的正確性,對於應用程式的讀取以及維護上,可以減少錯誤的發生!

但是設定以後,再匯入資料或是其他的操作上,可能會有錯誤顯示,必須有順序的去匯入資料。將於日後幾天的文章中 一一為大家介紹。

題外話

鐵人賽心得,今天第15天了!時間也過得很快,吃我文章的速度也很快!哈哈哈(指的是我預備好的一些文章),最近工作也比較忙,為了達到一個平衡,日後幾天會多介紹一些,最近工作上需要用到的功能 GIS 地理資訊系統!希望你們會喜歡!也請高手多多指教!


發佈留言