正規化:關聯式資料庫中的關係是要滿足一定要求的,滿足不同程度要求的不同正規化。滿足最低要求的叫第一正規化,簡稱1nf ,在第一正規化中滿足進一步要求的為第二正規化,其餘以此類推。通俗來說是滿足資料庫關係表中的一套規則。
正規化理論研究:codd提出1nf,2nf,3nf概念
2nf
例如:有關係模式s-l-c(sno,sdept,sloc,cno,grade),其中sloc為學生的住處,並且每個系的學生住在同乙個地方。s-l-c的碼為(sno,cno)。則函式依賴:grade對(sno,cno)是完全依賴函式。這就屬於2nf。
當然 (sno,cno)—>sdept 只需要其中乙個sno或cno就能推出sdept。記做sdept對(sno,cno)碼的部分函式依賴,那麼這就不屬於2nf。
乙個r關係模式不屬於2nf就會產生以下幾個問題:
(1).插入異常:假若要插入乙個學生sno=s7,sdept=phy,sloc=bld2,但該學生還沒有選課。即這個學生無cno。這樣的元組就插不進s-l-c中。因而學生的固有資訊無法插入
(2)刪除異常:當要刪除如乙個學生要刪除某乙個門課程,而課程屬性是主屬性,刪除了課程整個元組就必須一起刪除,使這個學生的資訊也被刪除了,從而造成刪除異常。
3nf
沒有傳遞依賴,如:關係模式sjp(s,j,p)中,s是學生,j代表課程,p代表名次,t表示教師。每乙個學生選修每門課程的成績有一定的名次,每門課程中每一名次只有乙個學生。由此得到函式依賴
(s,j)—>p;(j,p)—>s t—>j 這就是3nf
總結:1nf就是不能有表中表
2nf就是非主屬性全部依賴
3nf就是沒有傳遞函式
資料庫三正規化1NF2NF3NF
設計關聯式資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小 第一正規化 1nf 資料庫表中的所有字段值都是不可分解的原子值。即資料庫表的每一列都是不可分割的原子資料項,而不能是集合,陣列,記錄等非原子資料項...
什麼是正規化,1NF,2NF,3NF?
關聯式資料庫設計正規化介紹 正規化是符合某一種級別的關係模式的集合。關聯式資料庫中的關係必須滿足一定的要求,即滿足不同的正規化。目前關聯式資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 第四正規化 4nf 第五正規化 5nf 和第六正規化 6nf 1 第一正規化 1n...
關於正規化 1NF 2NF 3NF等
1.一些術語 正規化 normal form 是指資料庫設計的正規化,是抽象型的。關係模式 relational scheme 由乙個關係名以及它所有的屬性名構成。它對應二維表的表頭,是二維表的構成框架 邏輯結構 其格式為 關係名 屬性名1 屬性名2 屬性名n 關係 relation 表示多個實體之...