資料庫設計約定

2021-08-14 02:06:42 字數 578 閱讀 5341

預設innodb,非特殊要求一律使用此引擎

database server 字符集統一預設utf-8,table和column從server繼承

每張表必須包含物理自增主鍵,如主鍵字段不能滿足業務需求,另建unique約束業務字段

資料庫表禁止主外來鍵關聯,需要在程式業務邏輯中維護。特殊情況如跟支付,財務模組相關,方可考慮主外來鍵

非嚴格遵守3nf,通過業務字段冗餘來減少表關聯

不允許可為空欄位,必須有預設值

時間字段預設值建議:

1)date型別,預設值非current_date()下,預設值為'1970-01-01'

2)datetime型別,預設值非current_timestamp()下,設定為'1970-01-01 08:00:01'

3)timestamp型別,預設值非current_timestamp()下,設定成'1970-01-01 08:00:01'

建表包含表注釋,尤其列舉型別需要說明每一種含義

原則上不允許這種字段,盡可能的拆分成小字段,如果特別需要,而又讀寫頻繁,另外建一張表

公共欄位created_at和updated_at必須建立索引

SQL資料庫命名約定

1 資料庫表的約定 l 總是使用單數名稱 product 而不是products l 給表的字段採用某種形式的命名約定,我們採用的是表的主鍵碼為 id,字段採用 name,考慮到記錄使用者的友好性。2 資料庫列名的約定 l使用單數名稱,而不是複數名稱 l鏈結到另乙個表中的列名應與該錶的主鍵碼名相同,...

資料庫物件命名約定

資料庫物件包括表 檢視 索引 觸發器 儲存過程 函式等。由於資料不區分大小寫,無法使用駝峰式命名,為了能夠明確每個物件的意義,單詞之間使用下劃線連線。每種資料庫物件命名約定如下 t 表名,表名使用英文單詞,單詞首字母大寫,不同單詞之間首字母大寫,如 課程表 t course 學生課程表 t stud...

MySQL資料庫命名規範及約定

一 操作規範 1.如無備註,則表中的第乙個id欄位一定是主鍵且為自動增長 2.如無備註,則數值型別的字段請使用un程式設計客棧signed屬性 3.如無備註,排序欄位order id在程式中預設使用降序排列 4.如無備註,所有欄位都設定not null,並設定預設值 5.如無備註,所有的布林值字段,...