資料庫中的第一 二 三正規化

2021-07-24 02:41:02 字數 1003 閱讀 6217

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 是正規化是符合某一種級別的關係模式的集合。通俗一點就是對資料庫中表的屬性的約束條件。第一正規化的條件 元組中的每乙個分量都必須是不可分割的資料項。反例 應該修改為 第二正規化的條件 在第一正規化的基礎上,所有的非主屬性完全依賴於主鍵。完全依賴意味著不能依賴於主鍵的一部...