【SQL Server】 範式

來源:互聯網
上載者:User

為了提高資料庫應用系統的效能,這裡,我們引入一個傳統的概念——關聯式資料庫正常化理論。

今天,我們主要瞭解一下——範式。

什麼是範式呢?

當關係滿足不同層次的要求時稱為範式,滿足最低要求的是第一範式,即1NF。

在關聯式資料庫中,對關係模式的基本要求是滿足1NF,實際應用中通常要求滿足3NF。

 

關係模式的正常化過程是通過對關係模式的分解實現的,把低一級的關係模式分解為高一級的關係模式。

 

第一範式:

如果關係模式的每一個屬性只包含單一的值,則關係模式滿足1NF。

 

     學號

     姓名

             課程名

          成績       

 

090504001       

 

     陳麗        

       電腦輔助教育       

           89

          課程整合

           90

 

090504002

 

     李輝

       電腦輔助教育

           85

          課程整合

           92

 

090504003 

 

     閆娜

      電腦輔助教育

           93

          課程整合

           87

 

上表中的課程名和成績出現重複,不是單一值——每個學生的有多個成績;為了滿足1NF,我們可以得出下表:

 

      學號              

       姓名         

           課程名                

       成績      

090504001

       陳麗

     電腦輔助教育

        89

090504001

       陳麗

        課程整合

        90

090504002

       李輝

    電腦輔助教育   

        85

090504002

       李輝

        課程整合

        92

090504003

       閆娜

    電腦輔助教育

        93

090504003

       閆娜

        課程整合

        87

 

 

第二範式:

如果關係模式滿足1NF,而且它的所有非主屬性完全依賴於主屬性,則關係模式滿足2NF。

 

要得到一列的資訊,需要通過所有主鍵,還是只需要使用部分的主鍵?

如果只需用到部分主鍵,則必須考慮拆分該表,使得所有的列確實匹配所有主鍵。

 

由1NF表可知:知道學生的學號便可知道學生的姓名,知道學生的學號和課程名便可知道成績,所以,姓名完全依賴於學號,成績完全依賴於學號和課程名。所以得到下面兩個滿足2NF的表:

 

          學號             

         姓名        

090504001

         陳麗   

090504002

         李輝

090504003

         閆娜

 

 

         學號               

           課程名            

      成績    

090504001

    電腦輔助教育      

       89

090504001

        課程整合

       90

090504002

    電腦輔助教育

       85

090504002

        課程整合

       92

090504003

    電腦輔助教育

       93

090504003

        課程整合

       87

 

 

第三範式:

如果關係模式滿足2NF,而且它的所有非主屬性都不傳遞依賴於主屬性,則關係模式滿足3NF。

 

任何資料都不能衍生自表中其他資料。

 

每個班級都有一名固定的老師,就是高中的班主任,大學的輔導員,師生關係如下:

師生關係(學號,班級,教師姓名)

但是如果現在更換教師,就要打亂整體的學號與班級的關係,班級與教師的關係;應該在班級與學生不改變的前提下更換教師,使得資料的更改在最小範圍內,便得到以下的關係:

班級(學號,班級)

師生關係(班級,教師姓名)

現在如果更換教師,只需更改教師與班級之間的關係,而班級和學生的關係是不會發生改變的。



      以上總結純屬個人拙見,若有不妥,懇請各位高手們指點~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.