資料庫三正規化
首先我們需要知道什麼叫正規化?根據書上的解釋,就是關聯式資料庫中的關係需要滿足的要求。滿足最低要求的就叫第一正規化,那什麼叫最低要求呢?就是關係模式r的所有屬性都不能在分解為更基本的資料單位時,就可以叫第一正規化了;紀老師說這個叫原子性;
例如,倉庫(倉庫號,面積,**號碼,零件號,零件名稱,規格,庫存數量)像這個就是乙個第一正規化;
在滿足第一正規化的基礎上,又能消除非主屬性對候選關鍵字的區域性依賴,就可以叫做第二正規化。那你可能要問了,什麼叫非主屬性?
主屬性: 包含在任一候選關鍵字中的屬性稱主屬性。
非主屬性: 不包含在主碼中的屬性稱為非主屬性。
知道了這個之後,我們就能得出第二正規化了,
倉庫(倉庫號,面積,**號碼)
零件(零件號,零件名稱,規格)
儲存(倉庫號,零件號,庫存數量)
上述第一正規化中,非主屬性面積,**號碼,就對候選關鍵字零件號產生區域性依賴,所以要將其分開。其實,今天紀老師還給我們補充了,第二正規化也可以理解為就是,表中每一行資料只能做一件事。只要資料列**現資料重複,就要把錶拆分開。
之後呢,還有第三正規化,第三正規化又要滿足什麼要求呢?
關係r要在第二正規化的基礎上,消除傳遞依賴,即每個屬性都跟主鍵有直接關係而不是間接關係。上面的例子中當到達第二正規化時,就已經是第三正規化了,因為其中沒有傳遞依賴。
未完待續……
資料庫正規化 三正規化
所謂第一正規化 1nf 是指在關係模型中,對域新增的乙個規範要求,所有的域都應該是原子性的,即資料庫表的每一列都是不可分割的原子資料項,而不能是集合,陣列,記錄等非原子資料項。即實體中的某個屬性有多個值時,必須拆分為不同的屬性。在符合第一正規化 1nf 表中的每個域值只能是實體的乙個屬性或乙個屬性的...
資料庫三正規化
資料庫的三正規化 1n 關係r中的屬性都是不可分割的項.2n 在1n的基礎上,每個非主屬性完全函式依賴於碼.3n 在2n的基礎上,每乙個非主屬性既不部分依賴於碼也不傳遞依賴於碼.1n 消除非主屬性對碼的部分函式依賴 2n 消除非主屬性對碼的傳遞函式依賴 3n 消除主屬性對碼的部分和傳遞函式依賴 bc...
資料庫三正規化
1 第一正規化 1nf 無重複的列 所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現重複的屬性,就可能需要定義乙個新的實體,新的實體由重複的屬性構成,新實體與原實體之間為一對多關係。在第一正規化 ...