什麼是正規化?第一正規化 第二正規化 第三正規化的區別

2021-08-10 11:42:29 字數 1365 閱讀 4842

總結:

正規化的含義:

符合某種級別的關係模式的集合。表示乙個關係內部的各屬性之間聯絡的合理化程度。可以理解為:資料表的表結構所符合的某種設計標準的級別。

第一正規化:是對關係模式的基本要求。不滿足第一正規化的關係,不能稱為關係型資料庫。符合第一正規化的關係,每個屬性都不可以再分割。

但是如果僅僅滿足第一正規化:仍然存在資料冗餘過大、插入異常、刪除異常、修改異常等的問題。

第二正規化:建立在第一正規化的基礎上,首先滿足第一正規化。

消除了非主屬性對碼的部分函式依賴。

概念解析:

函式依賴,在一張表中,屬性x(可能為乙個屬性也可能為乙個屬性組)確定的情況下,y的取值必定可以確定。我們就說y依賴於x。跟y=f(x)的關係很相似。

衍生三個函式依賴 的概念:

完全函式依賴,部分函式依賴,傳遞函式依賴。

屬性y依賴於屬性x。x可能為乙個屬性或者乙個屬性組。

完全函式依賴::如果x為乙個屬性,那麼y對於x就是完全函式依賴。如果x為乙個屬性組,對於x的任何乙個真子集x」,y都不能依賴於它。那麼函式y對於x完全函式依賴。

部分函式依賴:

如果,x為乙個屬性組。對於x的某個真子集,y依賴於它。那麼就成函式y對於x部分函式依賴。

傳遞函式依賴::如果z函式依賴於y,y函式依賴於x;x不依賴於y,y不包含於x。那麼我們就稱之為z傳遞依賴於x。

碼: 假設k為表中某個屬性或者某個屬性組。對於除了k以外的其他的屬性,都完全依賴函式依賴於k。我們就稱k為候選碼,簡稱。加入k中的屬性確定的情況下,其他的屬性,完全都能確定,如果k不確定或者k中的任何乙個屬性不確定,其他的屬性不能確定,我們就說k為。一張表中可以有超過乙個碼。

包含在任何乙個碼中的屬性稱為主屬性。其餘的稱為非主屬性,即任何乙個碼中都不包含的屬性,成為非主屬性。

如何判斷乙個資料表,是否滿足第二正規化:

第一步:先找出資料庫中所有的碼。

先找出單個屬性,再找出兩個屬性的組合,再找出三個屬性的….

技巧:如果某個屬性或者屬性組是碼,記為k。那麼包含這個k的屬性組一定不是碼。

第二步:根據碼找出所有的主屬性,去除所有的主屬性,剩下的就是非主屬性了。

第三步:檢視非主屬性,是否有對碼。檢視非主屬性,對碼是否是完全函式依賴。如果是,就是符合第二正規化。否則就不符合。

第三正規化:3nf在2nf的基礎之上,消除了非主屬性對於碼的傳遞函式依賴。

第一正規化,第二正規化,第三正規化

第一正規化 存在非主屬性對碼的部分依賴關係 r a,b,c ab是碼 c是非主屬性 b c b決定c c部分依賴於b 第一正規化 定義 如果關係r 中所有屬性的值域都是單純域,那麼關係模式r是第一正規化的 那麼符合第一模式的特點就有 1 有主關鍵字 2 主鍵不能為空,3 主鍵不能重複,4 欄位不可以...

第一正規化,第二正規化,第三正規化

第一正規化 存在非主屬性對碼的部分依賴關係 r a,b,c ab是碼 c是非主屬性 b c b決定c c部分依賴於b 第一正規化 定義 如果關係r 中所有屬性的值域都是單純域,那麼關係模式r是第一正規化的 那麼符合第一模式的特點就有 1 有主關鍵字 2 主鍵不能為空,3 主鍵不能重複,4 欄位不可以...

第一正規化,第二正規化,第三正規化

第一正規化 存在非主屬性對碼的部分依賴關係 r a,b,c ab是碼 c是非主屬性 b c b決定c c部分依賴於b 第一正規化 定義 如果關係r 中所有屬性的值域都是單純域,那麼關係模式r是第一正規化的 那麼符合第一模式的特點就有 1 有主關鍵字 2 主鍵不能為空,3 主鍵不能重複,4 欄位不可以...