頭一正規化
頭一正規化(一 NF)是資料庫正規化所使用的正規形式。第一正規化是為著欲排除重複群會出現著,要求資料庫的每一列的論域攏是由袂當分割的原子值組成;每一个欄位的值攏干焦會當單一值。一九七一年埃德加 ・ 科德提出了第一正規化。
無符合頭一正規化的情況
重複群
重複群通常會出現佇會計數頂頭,每一筆記錄可能有無定個數的值。比如講伊:
「 數量」就是咱講的重複群矣,佇這款情況下這份資料就無符合第一正規化。想欲消除若重複群,只要共每一筆記錄攏轉化做單一記錄即可:
欠缺唯一識別碼
仝款是咧交易這个例中,仝一日仝一个人買仝款的數量,按呢的交易做兩改:
如上所示,這兩筆交易會當講是一模一樣,也就是講若是干焦靠遮的資料咱無法度分這兩筆記錄。咱所以講伊無符合第一正規化,是因為面頂按呢的表示法欠缺一个唯一識別碼,會當是一个欄位,嘛會當是一組欄位,而且保證佇這个資料內底唯一識別碼袂重複出現。愛共伊正規化甲符合第一正規化的原則只需要加入一个唯一識別碼即可:
關聯式的資料庫的第一正規化的討論
重複群(repeating group)是講指含有偌值的一个列。原子性(atomicity)的操作語意會使講若關聯式資料庫管理系統的型別系統准定的值,比如講 date 類型、VARCHAR ( 二十 ) 類型。嚴格意義上,NULL 違背著頭一正規化;通常共 NULL 理解為標記(marker), 毋是有價值(value), 用專門的函式、運算子去處理 NULL。
頭一正規化的意思:表中無重複的行、重複的列;不存在行序、列序。
對某一个角度看起來,無允准重複群的出現是關聯式的資料庫表示資訊的方法,RDBMS 資料表每一筆記錄的每一个欄位攏干焦會當是單一个的原子值。比如講伊,若定義一个號做 Favorite Number 的整理欄位,每一筆記錄的 Favorite Number 這个欄位攏干焦會曉是一个整數 ( 抑是無 );這也就是講,若是設定主鍵,理論無可能會有任何關聯式資料庫的資料表會違反第一正規化的原則。
猶毋過就算是佇這種情形下,猶是會當設計出佇咧骨仔內底違反頭一正規化的資料表示。上簡單的方法就是共幾个有意義的值編碼了後存進一个欄位內底,然後佇資料表中用真濟欄位來表達仝一个事實。
單一欄位中有偌个有意義的值
佇咧單一欄位中存囥濟个值是違反第一正規化的做法,這下底這就是足好的例,伊共偌值用弄予分開來表示:
用按呢的設計看來,想欲知影有啥物人無愛特定的物件是足無簡單的。猶毋過會當共這个資料表轉化做下跤這種符合第一正規化的型式:
用真濟欄位來表達仝一个事實
佇仝一个資料表內底用多个欄位來表達仝一个代誌嘛是違反第一正規化的:
準講咱會當確定逐个人無佮意食的物件上濟袂超過三項,這猶是一个足䆀的設計。比如講伊,啊我想欲知影講所有的無佮意仝一種食物的人的組合的話嘿,這就毋是一件簡單代誌,因為食物有可能出現佇任何一个欄位,也就是講每一改的查詢攏愛去檢查九 ( 三 x 三 ) 組無仝的欄位組合。
參見
- Attribute-value \ _ system
參考文獻
- Litt's Tips : Normalization
- Rules Of Data Normalization
- Date , C . J . , & Lorentzos , N . , & Darwen , H . ( 兩千空二 ) . _ Temporal Data & the Relational Model Archive . is 的存檔,存檔日期兩千空一十二孵十二由九 _ ( 一 st ed . ) . Morgan Kaufmann . ISBN 一石頭五千八百六十石八百五十五鋪九 .
- Date , C . J . ( 一千九百九十九 ) , _ An Introduction to Database Systems _ ( 八 th ed . ) . Addison-Wesley Longman . ISBN 空九三百二十一孵一孵九千七百八十四孵四 .
- Kent , W . ( 一千九百八十三 ) _ A Simple Guide to Five Normal Forms in Relational Database Theory _ , Communications of the ACM , vol . 二十六 , pp . 百二–一百二五
- Date , C . J . , & Darwen , H . , & Pascal , F . _ Database Debunkings _
外部連結
- Database Normalization Basics by Mike Chapple ( About . com )
- An Introduction to Database Normalization by Mike Hillyer .
- Normalization by ITS , University of Texas .
- Rules of Data Normalization by Data Model . org
- 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