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_