程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql性能調優(三)之表的設計

MySql性能調優(三)之表的設計

編輯:MySQL綜合教程

MySql性能調優(三)之表的設計


一. 首先介紹幾個概念:
1. 完全函數依賴:在屬性集U上的關系模式R(U)中,如果X->Y,並且對於X的任何一個真子集X’,都有X’≠>Y,則Y對X完全函數依賴。

2. 傳遞函數依賴:在R(U)中,如果X->Y,Y->Z,則稱Z對X的傳遞函數依賴。

二. 范式

關系型數據庫有6種范式:第一范式(1NF),第二范式(2NF),第三范式(3NF),巴德斯科范式(BCNF),第四范式(4NF),第五范式(5NF)。各種范式之間的聯系:5NF∈4NF∈BCNF∈3NF∈2NF∈1NF

1. 第一范式(1NF):

數據庫表中的字段都是單一屬性的,不可再分。第一范式滿足最低要求。

2. 第二范式(2NF)

對於R∈1NF,且每一個非主屬性完全函數依賴於碼,則R∈2NF。

3. 第三范式(3NF)

每一個非主屬性既不依賴於碼也不傳遞依賴於碼,則R屬於第三范式。

4.BCNF

除本NF外的碼,不存在其他決定因素,即無回路。

關系模式的規范化過程:

總結:在開發程序時,設計的數據庫最大的程度的遵循三范式,三范式在查詢的時候會join很多表,導致查詢效率降低,以至於有時候為了提高查詢的效率可以適度的冗余,適度的反范式。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved