資料庫三範式理解

來源:互聯網
上載者:User

        在談資料庫範式之前,我們要明白一些關於資料庫的基本概念,具體有一下幾個:

        元組(Tuple):是關聯式資料庫中的基本概念,關係是一張表,表中的每行即資料庫中的一條記錄,就是一個元組,每列就是一個屬性。

        超鍵(Super Key):能夠唯一決定一個元組的屬性集合。可以是一個屬性也可以是多個屬性,都叫做超鍵。

        候選索引鍵(Candidate Key):不含有多餘屬性的超鍵,稱為候選索引鍵。

        主鍵(Primary Key):標識元組的一個候選索引鍵。

     PS:1 無論是超鍵、候選索引鍵、主鍵,他們都是唯一確定一個元組

             2  超鍵包含候選索引鍵、候選索引鍵包含主鍵

         資料庫範式出現的背景

         資料冗餘:指資料之間的重複,也可以說是同一資料存放區在不同資料檔案中的現象;

         函數依賴:如果一個屬性決定於另一個屬性,那麼可以說另一個屬性依賴於這個屬性,比如《機房收費系統》中學生表,學生號可以決定學生姓名,即知道了一個學生的學生號,就可以知道他的姓名。

         函數依賴又可以分為平凡依賴和非平凡依賴。

         按性質分可分為部分依賴和完全依賴。

         完全依賴:設X,Y是關係R的兩個屬性集合,X’是X的真子集,存在X→Y,但對每一個X’都有X’!→Y,則稱Y完全函數依賴於X。

         部分依賴:設X,Y是關係R的兩個屬性集合,存在X→Y,若X’是X的真子集,存在X’→Y,則稱Y部分函數依賴於X。

         傳遞函數依賴:設X,Y,Z是關係R中互不相同的屬性集合,存在X→Y(Y !→X),Y→Z,則稱Z傳遞函數依賴於X。

         資料庫範式是為了消除資料冗餘、減少資料操作異常出現的。

         第一範式:原子性,欄位不可再分;是指資料庫表的每一列都是不可分割的基本資料項目,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。

         第二範式:在第一範式基礎上,要求資料表的中的每個執行個體或行必須可以被唯一的區分。為實現區分通常需要為表加上一個列,一儲存各個執行個體的唯一標示,即沒有重複的記錄。

         第三範式:第而範式基礎上,消除間接依賴(某些欄位不完全依賴主鍵的,可以將其移除)

          資料庫的設計要盡量遵循範式設計,這樣才能減少冗餘資料,減少出錯的異常。

聯繫我們

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