三正規化介紹
表的正規化:只有符合的第一正規化,才能滿足第二正規化,進一步才能滿足第三正規化。
1、第一正規化:
表的列具有原子性,不可再分解。只要是關係型
資料庫都自動滿足第一正規化。
資料庫的分類:
關係型資料庫:mysql/oracle/sql server/db2等
非關係型資料庫:特點是物件導向或者集合
nosql資料庫:mongodb(特點是面向文件)
2、第二正規化:
表中的記錄是唯一的,就滿足第二正規化。通常我們設計乙個主鍵來實現。
主鍵一般不含業務邏輯,一般是自增的;
3、第三正規化:
表中不要有冗餘資料,即如果表中的資訊能夠被推導出來就不應該單獨的設計乙個欄位來存放;對欄位冗餘性的約束,要求字段沒有冗餘。
如下表所示,符合三正規化要求:
student表
class表
如下表所示,不符合三正規化要求:
student表
class表
反三正規化案例:
乙個相簿下有多個,每個有各自的瀏覽次數,相簿有總的瀏覽次數。
相簿瀏覽表
表:
如果相簿瀏覽表沒有適當的冗餘,效率有影響。
冗餘比較可以得出乙個結論:1對n時,冗餘應當發生在1的一端。
MySQL資料庫的優化技術
對mysql 優化是乙個綜合性的技術 主要包括 a 表的設計合理化 3nf b 新增適當的索引 index 四種 普通索引 唯一索引 unique,主鍵索引 全文索引 full text 空間索引 復合索引 c 分表技術 水平分割 垂直分割 d 讀寫 update,delete,insert 分離 ...
MySQL資料庫優化技術概述
對於乙個以資料庫為中心的應用,資料庫的優化直接影響到程式的效能,因此資料庫效能至關重要。一般來說,要保證資料庫的效率,要做好以下幾個方面的工作 1 資料庫表設計 表的設計合理化 符合3nf 2 新增適當索引 index 普通索引 主鍵索引 primary 效率最高,但是只能有乙個 唯一索引 uniq...
MySQL資料庫優化技術概述
對於乙個以資料庫為中心的應用,資料庫的優化直接影響到程式的效能,因此資料庫效能至關重要。一般來說,要保證資料庫的效率,要做好以下幾個方面的工作 1 資料庫表設計 表的設計合理化 符合3nf 2 新增適當索引 index 普通索引 主鍵索引 primary 效率最高,但是只能有乙個 唯一索引 uniq...