1.概念定義
第一正規化:如果關係模式r所有的屬性均為簡單屬性,即每個屬性都是不可分的,則稱r屬於第一正規化,簡記為1nf,記做r∈1nf。
第二正規化:如果關係模式r∈1nf,且每個非主屬性都完全函式依賴於r的候選鍵,則稱r屬於第二正規化,簡記為2nf,記為r∈2nf。
第三正規化:如果關係模式r∈2nf,並且每個非主屬性都不傳遞函式依賴於r的候選鍵,則稱r屬於第三正規化,簡記為3nf,記為r∈3nf。
2.學習心得
如加粗字型可見,每個正規化都是對屬性做出了一些限制,如果乙個表中的屬性,不滿足某一正規化的標準,則需要將其拆解成兩張或者多張表結構。
第一正規化所作出的規範是,行列無序,列不可再分,滿足基本表的原子性。
第二正規化所作出的規範是,要有唯一主鍵,其他非主屬性,都要依賴於這個主屬性。
第三正規化所作出的規範是,不能有傳遞依賴的情況,即只有父子結構,不能出現父子孫的結構。
拿個例題來解釋一下第二正規化和第三正規化:
有表student(sno,sname,sage,sdept,mname,cno,cname),其中sno,sname,sage,sdep為學生的基本資訊,即學號、姓名、年齡、專業。mname為導師。cno,cname分別是課程編號和課程名稱。sno、cno分別是兩個主鍵。
若要讓此表滿足第二正規化,則需將連個主鍵劃分到不同的表中。即新增class表,class(cno,cname),student(sno,sname,sage,sdept,mname)。
在student表中有這樣的結構sno→sdept→mname,即mname不是直接依賴於sno,而是通過sdept間接依賴於sno。所以這不滿足3nf。若要滿足3nf,應新建表d(mname,sdept),將mname從student表中刪除。
資料庫第一 二 三正規化
第一正規化 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現重複的屬性,...
資料庫 第一 二 三正規化
1nf 字段不可分 2nf 有主鍵,非主鍵字段依賴主鍵 3nf 非主鍵字段不能相互依賴 解釋 1nf 原子性 字段不可再分,否則就不是關聯式資料庫 2nf 唯一性 乙個表只說明乙個事物 3nf 每列都與主鍵有直接關係,不存在傳遞依賴 第一正規化的合理遵循需要根據系統的實際需求來定。比如某些資料庫系統...
資料庫第一 二 三正規化
正規化 normal form 是正規化是符合某一種級別的關係模式的集合。通俗一點就是對資料庫中表的屬性的約束條件。第一正規化的條件 元組中的每乙個分量都必須是不可分割的資料項。反例 應該修改為 第二正規化的條件 在第一正規化的基礎上,所有的非主屬性完全依賴於主鍵。完全依賴意味著不能依賴於主鍵的一部...