資料庫三大正規化和索引

2021-10-19 08:39:57 字數 918 閱讀 7274

三大正規化

第一正規化

+欄位不可分,每個欄位是原子級別的

第二正規化

+屬性完全依賴於主鍵(屬性都是該物件擁有的)

第三正規化

+屬性和主鍵不能間接相關(減少資料冗餘,這樣就可以通過主外來鍵進行表之間連線)

索引

查詢速度和儲存速度是互斥的

主鍵索引:

不能重複,不能為空

唯一索引:

不能重複,但能為空

建立索引

alter table tb_student add unique aaa(name);

普通索引:

可以重複,可以為空

建立索引

alter table tb_student add index bbb(id);

聯合索引:

滿足最左優先原則才能使用索引

建立索引

alter table r_relation add index hhh(id,sid);

全文索引:

mysql 5.6 以前的版本,只有 myisam 儲存引擎支援全文索引;

mysql 5.6 及以後的版本,myisam 和 innodb 儲存引擎均支援全文索引;

只有欄位的資料型別為 char、varchar、text 及其系列才可以建全文索引

查詢是否用索引

desc select * from r_relation where id = 1 and sid = 1\g;

最左原則

+實現過程是通過b-樹過程實現的

+如果不滿足最左原則,就會除夕拿索引的時候無法匹配到相應的 『路』

eg:索引為數字&字母兩個或多個的時候,如果不滿足最左原則,只有乙個字母,則會出現數字無法匹配到相應的"路",從而沒有就行索引過程

資料庫設計三大正規化資料庫設計三大正規化

為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...

資料庫三大正規化

1 第一正規化 1nf 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現...

資料庫三大正規化

第一正規化 確保每列的原子性.如果每列 或者每個屬性 都是不可再分的最小資料單元 也稱為最小的原子單元 則滿足第一正規化.例如 顧客表 姓名 編號 位址 其中 位址 列還可以細分為國家 省 市 區等。第二正規化 在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關.如果乙個關係滿足第一正規...