預設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.如無備註,所有的布林值字段,...