SQL審核訂製進度
- 2019 年 11 月 6 日
- 筆記
SQL審核訂製進度
今天一天都在做SQL審核訂製的事情,嘗試訂製的審核規則如下,一共13條,每天審核規則後面給出了預估難度,其中紅色標註的審核規則是今天完成的部分,剩餘的是需要後續接著完善的規則,整理下今天產出的結果集。
1.***
表名,庫名,欄位名都是小寫

2.***
保留字
3.**
臨時庫、表名 必須以「tmp_」為前綴

4.***
盡量使用整型定義枚舉類型的列,小心使用枚舉類型ENUM; 建議使用tinyint

5.***
int數據類型,不建議使用括弧內的數字 int(10) 4個位元組 Int(11) int(4)

6.***
TEXT,blob,clob類型需要提示不建議使用 7.****
表必備三欄位: id, gmt_create, gmt_modified,對於基本做到數據的周期管理 ,主鍵,兩個時間欄位 。 8.timestamp 提示 數據有效範圍是:1970-01-01 08:00:01到2038-01-19 11:14:07 *** 9. ****
單張表中索引數量盡量不超過5個; 單個索引中的欄位數不超過5個。 設計索引的過程中,如果不確定如何設置索引欄位,可諮詢DBA團隊給予支援,杜絕表裡5個欄位,創建5個索引的情況


10.外鍵 ** 禁止使用外鍵 外鍵用來保護參照完整性,可在業務端實現; 對父表和子表的操作會相互影響,降低可用性。

11.****
SQL語句不可以出現隱式轉換,比如 select id from 表 where id='1';
12.***
float,double不建議使用

13.****
對象中文名稱 對象英文全稱 MySQL對象簡寫 視圖 view view_ 函數 function func_ 存儲過程 procedure proc_ 觸發器 trigger trig_ 普通索引 index idx_ 唯一索引 unique index uniq_ 主鍵索引 primary key pk_
