數據庫設計:三種範式

一:爲何會提出範式?數據庫

       爲了保證數據庫設計的合理性(由於數據庫設計關係整個系統的架構和後序開發效率和運行效率)架構

二:什麼是合理的數據庫呢?數據庫設計

  結構合理、冗餘較小、儘可能避免DML操做異常函數

三:提出範式概念性能

  在關係型數據庫中遵循的規則稱爲  範式(NF:Normal Form)學習

四:範式分類設計

  學習範式遵循的基本原則:大前提下遵循範式、細節上能夠靈活使用它orm

  1.第一範式blog

    數據庫表每一列是不可分割的基本數據項(確保每列都保持原子性)開發

    eg:反例    

                            

 

 

               所以,將來在作設計的時候須要考慮 某一列是否會反覆用,此時是否須要考慮是否符合範式。

  2.第二範式(限制多對多關係)--》經過外鍵+聯合主鍵關聯表

    非主屬性徹底函數依賴於碼(在一個數據庫表中只能保存一種數據,不可能把多種數據保存到一張表中)

    eg:

 

 

                     ps:能夠發現課程名稱列出現了數據冗餘,爲避免數據冗餘——》須要知足第二範式拆分此表

        

 

 

    3.第三範式(限制一對多關係的)--》在從表中創建外鍵,從而利用主表信息

      在2NF基礎上,不含有非主屬性對碼的傳遞函數依賴

   eg1: 

 

 

   eg2:

 

 5、範式缺點

  性能下降(多表查詢比單表查詢慢)

 6、如何表示數據庫表之間關係

  使用外鍵

7、數據庫外鍵關係表示的實際上是一種一對多關係

  1.一對一 :外鍵+惟一性約束

  2.多對多:轉化爲兩個一對多

相關文章
相關標籤/搜索