資料庫常用欄位名稱

今天又是被工作折磨、身心疲憊、文章題目匱乏的一天...

筆者每次在建立資料表的時候都會很難決定資料表的欄位名稱,這裡將過去常見的資料表欄位名稱整理一下:

主鍵

  • Id (最常使用)
  • Key
  • Code
在筆者參與的專案中,大多數的資料表通常會有一個主鍵,名稱為 Id ,使用整數自動遞增,或是使用 UUID 隨機產生。
但是這樣的設計在資料庫遷移中很不方便,所以部分資料表會多一個 Code 之類的欄位用來儲存「系統代號」,方便資料溝通、使用者輸入等,但是很少會作為主鍵。

外鍵欄位

通常會直接使用目標資料表名稱的單數再加上 Id ,例如關聯 Users 資料表的 Id 欄位就是 UserId

排序欄位

  • Sequence (最常使用)
  • Sort
  • Rank
  • Order
  • Exponentiation
  • Direction

通用欄位

這裡的「通用欄位」指的是大多數的表都會包含的欄位,除了 Id 以外還可以包含以下欄位:
  • CreatedAt: 建立時間
  • Creator: 建立者
  • UpdatedAt: 更新時間
  • Updater: 更新者
  • DeletedAt: 刪除時間,在軟刪除(soft delete)中標記資料是否被刪除,只要不為 Null 就代表資料被刪除
  • TenantId: 資料所屬的使用者,在多租戶系統中用來區分資料所屬租戶
這些欄位可以用來紀錄資料的變更歷程,UpdatedAt 還可以有一個進階作用,就是用來辨識資料是否被其他人修改。要更新資料時要帶入 UpdatedAt,如果原始資料和傳入的 UpdatedAt 不一樣,就代表這個資料已經被其他使用者修改過了,可以提醒使用者是否要覆蓋。

其他常見欄位

  • Amount: 數量
  • Price: 價格
  • Description: 描述、說明、備註
  • Remarks: 評論、備註、附加資訊
  • Status: 資料狀態
  • Type: 資料種類、類型
  • Enabled: 已啟用

留言

張貼留言

如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com