MySQL優化技術 3正規化的表設計

2021-08-04 16:53:27 字數 809 閱讀 3464

一、資料庫分類

關係型資料庫是通過行和列來將資料儲存在一張張資料表中,表與表之間存在資料關係。常用的關係型資料庫包括:mysql、oracle、sqlserver、db2等

以鍵值對的形式來儲存資料,是一種物件導向、面向集合的資料儲存方式。常用的非關係型資料庫包括:nosql、mongodb等

二、什麼是3正規化的表設計(3nf)

表的列具備原子性,不可再分解;也就是說,只要資料庫是關係型資料庫,就自動滿足1nf

只要保證表中的每條記錄都是唯一的,就可以滿足2nf;例如:我們可以通過設計主鍵的形式保證資料的唯一性

要求表中的資料不可存在冗餘,也就是說,如果表中的資訊能夠被推導出來,就不應該單獨的設計乙個欄位來存放

三、3正規化設計例項

我們設計兩張表,分別是欄目表和文章表,以下是表結構

從表的設計上我們可以看出,我們給兩張表都設定了主鍵id,保證了每條記錄的唯一性,即滿足了2nf標準;

程式需求上要求在顯示文章內容的時候顯示出目錄的名稱和目錄的型別,但是我們可以通過目錄的id推導出該條記錄文章的目錄名稱和目錄型別,所以也就沒有必要在文章表中新增目錄名稱和型別字段,即滿足了3nf標準,為了保證資料的關聯性,我們給文章表中的cid欄位設定乙個關聯目錄表id的外來鍵

mysql效能優化筆記(1) 建表原則和字段設計

建表原則 1.表必須定義主鍵,預設為id,整型自增。2.id欄位作為自增主鍵,禁止在非事務內作為上下文作為條件進行資料傳遞,禁止非自增非數字型別主鍵設計出現。3.禁止使用外來鍵,觸發器,儲存過程 4.常用字段與不常用字段分離 5.表預設使用innodb,國內表字符集預設使用gbk,國際預設使用utf...

資料庫MySQL 資料庫表的正規化化優化

正規化化是指資料庫設計的規範,目前說道正規化化一般是指第三設計正規化。也就是要求資料表中不存在非關鍵字段對任意候選關鍵字段的傳遞函式依賴則符合第三正規化。存在以下傳遞函式依賴關係 商品名稱 分類 分類描述 也就是說存在非關鍵字段 分類描述 對關鍵字段 商品名稱 的傳遞函式依賴。不符合第三正規化要求的...

mysql優化及資料庫三大正規化(3NF)

1 表結構的合理化設計,前提必須滿足3nf 2 新增適當的索引,索引大體分為四種 主鍵索引,唯一索引,全文索引,普通索引 3 分表技術 水平分割,垂直分割 4 讀寫分離 主寫從讀 5 儲存過程 模組化程式設計,可提高速度 6 mysql配置優化 配置最大併發數,調整快取大小 7 定時清理不需要的資料...