亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL建表規范有哪些

發布時間:2021-06-24 15:07:17 來源:億速云 閱讀:179 作者:Leah 欄目:MySQL數據庫

本篇文章給大家分享的是有關MySQL建表規范有哪些,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、MySQL建表規范

1.1、準入規范級別

必須:為強制要求,必須遵守,如有特殊需求需要評審

強烈建議:盡量遵守,如無法遵守請給出備注說明

建議:為最佳實踐,開發人員可以根據實際情況有所調整

1.2、設計類核心規則

表字符集選擇UTF8 【必須

生產庫存儲引擎使用INNODB 必須

不在數據庫中存儲圖片、文件,不使用大文本類型必須

使用外鍵,由程序保證數據一致性必須

禁止使用存儲過程觸發器 必須

每張表數據量控制在2000W以下 ,如預計會超出,需提前做好拆分或者歸檔遷移計劃強烈建議

1.3、命名規范

庫名、表名、字段名、索引名使用小寫字母,以下劃線_分割 【必須

庫名、表名、字段名、索引名不使用保留字 (關鍵字)【必須

庫名、表名、字段名不超過15個字符,需見名知意 【建議

索引命名:【強烈建議

唯一索引:“ux_表名_字段名前3字母[_字段名前3字母]”

非唯一索引:“ix_表名_字段名前3字母[_字段名前3字母]”

1.4、字段類規范

所有字段均定義為NOT NULL 【必須

字符串統一單引號引用,而不是雙引號【必須

使用UNSIGNED存儲非負整數 【必須

使用DECIMAL存儲精確浮點數 【必須

使用TINYINT來代替ENUM類型 【必須

拆分TEXT、BLOB類型字段,或者獨立建表 【必須

使用UNSIGNED INT存儲ipv4 地址,而不是CHAR(15) 【強烈建議

非中文字段使用varchar存儲變長字符串 【強烈建議

盡可能將字符轉化為數字 存儲【建議

使用TIMESTAMP存儲操作時間 *【建議

1.5、索引類規范

單張表索引數量不超過5,單個索引字段數不超過5  【強烈建議

避免冗余索引 【強烈建議

重要的SQL必須被索引 【強烈建議

       UPDATE、DELETE語句的WHERE條件列

       ORDER BY、GROUP BY、DISTINCT的字段

       多表JOIN的字段

 主鍵的選擇要慎重 【強烈建議】 

      首選使用非空的唯一鍵, 其次選擇自增列或發號器

      不使用更新頻繁的列,盡量不選擇字符串列,不使用UUID MD5 HASH、

能不建立索引盡量不用索引 【強烈建議

     不在null列上加索引

     不在低基數列上建立索引,例如“性別” 

二、建表SQL審核平臺

2.1、說明

此系統為了學習與減輕DBA的審核建表SQL的工作而做。達到自動審核基本規則問題

<1>優點:

<1>減少了DBA手動審核表的工作

<2>平臺化操作,方便

<3>通過python自動匹配與審核規范

<2>缺點:

<1>、只有建表SQL審核

<2>、比較簡單,后期可以使用inception,來審核建表SQL+上線SQL+備份等,請關注博客 http://blog.itpub.net/28823725/  后期會調研與應用

<3>審核說明:

利用python程序來分析

分為:error,suggest錯誤類別

按字段錯誤進行展示

<4>其他說明:

<1>此系統寫于2015年6月初左右,為了學習inception 與python 為做,分享此文章只為了學習與交流

另Inception沒開源多久;對比inception的請輕噴哈~

<2>后期會出Inception的相關文章

2.2、平臺流程圖

MySQL建表規范有哪些
 MySQL建表規范有哪些

2.3、搭建

<1>環境搭建

django環境搭建

忽略,可參考我博客的其他文章,里面有詳細的部署命令

python2.7環境搭建

忽略

平臺搭建

cd /chunlei/django

創建項目:

django-admin.py   startproject  createsql_check

會產生目錄createsql_check

cd /chunlei/django/createsql_check

ls

createsql_check

manage.py

<2>設置配置文件

cd /chunlei/django/createsql_check/createsql_check

vi settings.py 

ALLOWED_HOSTS = ['可以訪問的IP地址,也可以寫*即不限制'] 

INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'createsql_check',

]

EMPLATES = [

    {

        'BACKEND': 'django.template.backends.django.DjangoTemplates',

        'DIRS': ['/chunlei/chunlei/django/createsql_check/createsql_check/templates'],

        'APP_DIRS': True,

        'OPTIONS': {

            'context_processors': [

                'django.template.context_processors.debug',

                'django.template.context_processors.request',

                'django.contrib.auth.context_processors.auth',

                'django.contrib.messages.context_processors.messages',

            ],

        },

    },

]

TIME_ZONE = 'Asia/Shanghai'

<3>、設置django的url文件

from django.conf.urls import  include, url

from createsql_check.views import createcheck_create_table_check

from createsql_check.views import createcheck_create_sql

from createsql_check.views import createcheck_get_dba_error_suggest

from createsql_check.views import createcheck_to_mail

from createsql_check.views import to_input_confirm_info

from createsql_check.views import to_confirm

urlpatterns = [

url(r'^createcheck_create_table_check/$',createcheck_create_table_check),

url(r'^createcheck_create_sql/$',createcheck_create_sql),

url(r'^createcheck_get_dba_error_suggest/$',createcheck_get_dba_error_suggest),

url(r'^createcheck_to_mail/$',createcheck_to_mail),

url(r'^createcheck_to_input_confirm_info/$',to_input_confirm_info),

url(r'^createcheck_to_confirm/$',to_confirm),

]

<4>創建目錄

cd /chunlei/django/createsql_check

mkdir check_html

mkdir log

cd /chunlei/django/createsql_check/createsql_check 

MySQL建表規范有哪些

 MySQL建表規范有哪些

<5>配置163郵箱:

注:之前使用的是公司的郵件服務,此系統搭建與百度云,就配置163郵箱服務了

將授權碼配置到郵件服務即可

MySQL建表規范有哪些

MySQL建表規范有哪些

MySQL建表規范有哪些

MySQL建表規范有哪些

MySQL建表規范有哪些

MySQL建表規范有哪些

 <6>開啟

cd /chunlei/django/createsql_check

python manage.py  runserver IP:port

2.4、界面及操作

<1>RD審核建表SQL界面

MySQL建表規范有哪些

 測試建表SQL

 create table table_test (id int,name1 varchar(50),primary key(id));

<2>自動分析問題

MySQL建表規范有哪些

MySQL建表規范有哪些

<3>填寫表相關信息

RD確認ok,填寫表相關信息,提交給DBA

MySQL建表規范有哪些

MySQL建表規范有哪些

<4>提交信息總覽

RD提交信息總覽,默認發送DBA,也可以填寫抄送郵件接收人

 MySQL建表規范有哪些

 <5>發送給DBA

MySQL建表規范有哪些

 MySQL建表規范有哪些

<6>DBA接收郵件

MySQL建表規范有哪些

 MySQL建表規范有哪些

 <7>DBA確認

點擊郵件的"DBA確認"

 MySQL建表規范有哪些

填寫庫表信息,說明等,點擊通過/拒絕

MySQL建表規范有哪些

MySQL建表規范有哪些

提交結果

MySQL建表規范有哪些

以上就是MySQL建表規范有哪些,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石景山区| 江达县| 高清| 平安县| 且末县| 和静县| 布拖县| 揭西县| 拜泉县| 赤峰市| 宜城市| 黎平县| 西丰县| 上杭县| 罗源县| 普宁市| 萨迦县| 盐源县| 会同县| 台北市| 黄大仙区| 通化县| 固镇县| 东台市| 永吉县| 承德县| 新晃| 东兰县| 射阳县| 澄城县| 竹山县| 五常市| 夹江县| 乌拉特中旗| 托克托县| 南通市| 眉山市| 沈阳市| 卫辉市| 舒兰市| 济南市|