跳至內容

BC正規形式

出自Taiwan Tongues 台語維基
於 2025年8月24日 (日) 09:41 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

Boyce-Codd 正規化(英語:Boyce-Codd normal form,縮寫BCNF), 是資料庫正規化的一種正規形式。是佇第三正規化的基礎頂懸加上小可仔閣較嚴格約束,彼每一个 BCNF 關係需要滿足第三整化。BCNF 去除了屬性間的無必要的函式相依。

BCNF 的定義是:


若這个關係模式 R 中存在的任意一个非平凡函式相依 X-> A,攏滿足 X 是 R 的一个超鍵,遐爾仔關係模式 R 就屬於 BCNF。

對頂懸共伊講定義,會當理解為:平凡函式相依關係是講,若有屬性集合 X 包含著屬性集合 A,按呢就一定有 X-> A;超鍵是講會當唯一確定表中各行的屬性集合,所以一个超鍵的上細化就是一个候選鍵;BCNF 是講乎,若一个屬性集合 X 會當「無平凡」推導出另外一个屬性集合 A,而且 X 猶袂當唯一區分表的各行,按呢這个表中一定有包含一寡趁錢的資訊。

BCNF 佮第三正規化的無仝款之處佇咧:第三正規化當中無允准非主屬性予另外一个非主屬性決定,但第三正規化允准主屬性予非主屬性決定;啊若佇咧 BCNF 中,任何屬性(包括非主屬性佮主屬性)攏袂使予非主屬性所決定。

任何一个 BCNF 必然滿足:

  • 所有非主屬性攏完全函式相依照逐个候選鍵
  • 所有主屬性攏完全函式相依於逐个無包含伊的候選鍵
  • 無任何屬性完全函式相依算非常候選鍵的任何一組屬性

範例

關係模式 R:

其中相依關係如下:

{ Property \ _ id # }   -> { County \ _ name , Lot # , Area } ;

{ County \ _ name , Lot # }-> { Property \ _ id # , Area } ;

{ Area }      -> { County \ _ name } ;

真明顯最後一个相倚違反著 BC 正規形式的要求,Area 毋是關係模式 R 的主鍵,顛倒照伊的 County \ _ name 就是會當決定其他屬性的主屬性。故應該當正規化為:

參考文獻

  • Litt's Tips : Normalization
  • Rules Of Data Normalization
  • Temporal Data & the Relational ModelArchive . is 的存檔,存檔日期兩千空一十二孵十二由九 ( 一 st ed . ) . Morgan Kaufmann . ISBN 一石頭五千八百六十石八百五十五鋪九 . Date , C . J . , & Lorentzos , N . , & Darwen , H . ( 兩千空二 ) .
  • An Introduction to Database Systems ( 八 th ed . ) . Addison-Wesley Longman . ISBN 空九三百二十一孵一孵九千七百八十四孵四 . Date , C . J . ( 一千九百九十九 ) ,
  • A Simple Guide to Five Normal Forms in Relational Database Theory _ , Communications of the ACM , vol . 二十六 , pp . 一百二十五一百二五 Kent , W . ( 一千九百八十三 ) _
  • Database Debunkings Date , C . J . , & Darwen , H . , & Pascal , F .
  • H .-J . Schek , P . Pistor Data Structures for an Integrated Data Base Management and Information Retrieval System

外部連結

  • Database Normalization Basics by Mike Chapple ( About . com )
  • An Introduction to Database Normalization by Mike Hillyer .
  • Normalization by ITS , University of Texas .
  • A tutorial on the first 三 normal forms by Fred Coulson
  • Free PDF poster available by Marc Rettig
  • Description of the database normalization basics by Microsoft