mysql範式簡單總結

來源:互聯網
上載者:User

標籤:mysql範式簡單總結

1.第一範式 最基本的範式,資料表中每一列的屬性都是單一的,不可再分!
例如:顧客表(姓名、編號、地址、……)其中"地址"列還可以細分為國家、省、市、區等。

2.第二範式 確保表中每列都和主鍵相關 ,一個關係滿足第一範式,除了主鍵以外其它列,都依賴該主鍵
例如:訂單表(訂單編號、產品編號、定購日期、價格、……),"訂單編號"為主鍵,"產品編號"和主鍵列沒有直接的關係,即"產品編號"列不依賴於主鍵列,應刪除該列。

3.第三範式 滿足第二範式關係,除了主鍵外其它列都不依賴主鍵列!

例如:訂單表(訂單編號,定購日期,顧客編號,顧客姓名,……),初看該表沒有問題,滿足第二範式,每列都和主鍵列"訂單編號"相關,再細看你會發現"顧客姓名"和"顧客編號"相關,"顧客編號"和"訂單編號"又相關,最後經過傳遞依賴,"顧客姓名"也和"訂單編號"相關。為了滿足第三範式,應去掉"顧客姓名"列,放入客戶表中。

****原則:****

原則:當出現欄位與欄位的組合重複,如上的A和C的組合重複,首先要考慮的就是把他們拆分為2個表,具體是C拆到表1, 還是A拆到表1,看情況而定

關鍵要理解定義這種範式標準的主要目的是為了減少資料冗餘,資料冗餘產生的本質就是在一個表中存在欄位與欄位之間的一對多,或者多對多關係。解決這個幾對幾的關係問題,就能輕易實現滿足第三範式的資料庫設計。

****總結***

歸結起來3句話:

1NF:欄位不可分;
2NF:有主鍵,非主鍵欄位依賴主鍵;
3NF:非主鍵欄位不能相互依賴;

解釋:
1NF:原子性 欄位不可再分,否則就不是關聯式資料庫;
2NF:唯一性 一個表只說明一個事物;
3NF:每列都與主鍵有直接關係,不存在傳遞依賴;

mysql範式簡單總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.