跳至內容

第四正規化

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

第四正規化(四 NF)是資料庫正規化中所使用的一種正規的形式,是 BC 正規化了後的另外一層次的正規化。第二正規化、第三正規化、BC 正規化和人注意佇咧抾客的函數相依照;啊若第四正規化關注閣較一般的形式講號做多值相依。

Ronald Fagin 佇一九七七年提出。資料庫的一个表遵對第四正規化,若而且唯若對任意一个非平凡的多值相依 _ X _ $ \ twoheadrightarrow $ _ Y _ , _ X _ 是一个超鍵。

多值相依

關係資料庫的一个表中的列頭分做無相交的三組:_ X _ , _ Y _ , _ Z _。佇一行的特定頂下文中,講頂咧寫列組的數據值為 _ x _ , _ y _ , _ z _。多值相依 _ X _ $ \ twoheadrightarrow $ _ Y _,意味著若選擇表中的任何值 _ x _(記作 _ xc _), 對咧確定講該表中所有的 _ xcyz _ 列表,若是 _ xc _ 關聯著仝一个 _ y _ 的值,無論 _ z _ 的任何取值。實質上,z 的存在無提供任何信息會當約束到 _ y _ 的可能值。欲表述講為啥物,定義域的每一个值,攏會當確定值域中的一个值的集合。

平凡多值相依_ X _ $ \ twoheadrightarrow $ _ Y _ 是抑是講 _ Y _ 是 _ X _ 的子集,抑是講 _ X _ 佮 _ Y _ 做伙形成這个關係的規个屬性集合。

函數相依是多值相依的特例。函數相依 _ X _ → _ Y _,按呢逐个 _ x _ 確定矣乎 _ 確定一个 y _ 值,袂當是彼个濟个。

考慮欲講例 :

逐間指出一間飯店會當提供一種披薩佮一个配貨地區。

該表無非鍵屬性,因為伊干焦有的鍵就是 { Restaurant , Pizza Variety , Delivery Area }。所以,伊滿足甲 BC 正規化為止的所有正規化。若準講若準講,飯店提供的披薩種類佮配貨地區無關。也即飯店為所有的供貨地區提供伊會當製作的所有的披薩類型。遐爾,這个表不滿足第四正規化。因為這表佇咧 { Restaurant } 屬性(伊毋是超鍵)上提供兩个非平凡的多值相依 :

  • { Restaurant } $ \ twoheadrightarrow $ { Pizza Variety }
  • { Restaurant } $ \ twoheadrightarrow $ { Delivery Area }

遮的佇一个非超鍵上的非平凡多值相依說明了飯店提供的披薩的多樣性獨立於飯店的供貨地區。這致使應該表中的數據傷過份:比如講,A 一 Pizza 供貨 Stuffed Crust 就重複三遍;若是 A 一 Pizza 開始生產 Cheese Crust pizzas 遐爾向表中增加多行,A 一 Pizza 的逐个供貨地區攏需要一逝。這就可能咧予 A 一 Pizza 的逐个供貨地區增加一行 Cheese Crust 披薩時陣,落勾去一个供貨地區,對這致使不滿較會價值 { Restaurant } $ \ twoheadrightarrow $ { Pizza Variety }。

為著避免講頂懸的錯誤發生,需要共披薩的多樣性佮供貨地區𫞼佇無仝的表中,產生了兩張滿足第四正規化的表現:

若披薩的種類隨著供貨地區無仝而變化,遐爾仔上頭仔的三列的表示就滿足第四正規化。

Ronald Fagin 證明總是會當滿足第四正規化。Rissanen's theorem 總是適用佇多值相依。

參見

  • 屬性值系統

參考文獻

進一步來讀冊