r(u)是屬性集u的關係模型,x,y是u的乙個子集,對於r(u)中的任乙個關係r,不可能存在兩個元組在x上屬性值相同,而在y上屬性值不同。則稱x函式確定y,或y函式依賴x。
例子:觀察法?:舉例有這樣乙個配件管理表wpe(wno,pno,eno,qnt),其中wno表示倉庫號,pno表示配件號,eno表示職工號,qnt表示數量。
有以下約束要求:
(1)乙個倉庫有多名職工;
(2)乙個職工僅在乙個倉庫工作;
(3)每個倉庫裡一種型號的配件由專人負責,但乙個人可以管理幾種配件;
(4)同一種型號的配件可以分放在幾個倉庫中。
分析表中的函式依賴關係,可以得到:
(1)eno->wno;
(2)(wno,pno)->qnt
(3)(wno,pno)->eno
(4)(eno,pno)->qnt
候選碼的定義就是一組能決定所有列(某乙個元組)的屬性。
所以根據這4個函式依賴關係,(wno,pno)顯然肯定是,因為它可以決定qnt,也可以決定eno,加上它本身,就是屬性全集u了。
而(eno,pno),雖然只有乙個決定qnt,但是eno可以單獨決定wno,所以顯然(eno,pno)也就能一起決定qnt和wno,因此也是候選碼。
滿足最基本的條件,每乙個分量都是不可分的資料項。
r屬於第一正規化,且每乙個非主屬性完全函式依賴於任何乙個候選碼,則r屬於第二正規化
r屬於第二正規化,若r中不存在碼x,屬性子集y,非主屬性z,使得x決定y,y不決定x,y決定z,則r屬於第三正規化。
r屬於第一正規化,若x決定y,且y不是x的子集時x必含有碼,即每乙個決定因素都包含碼,則r屬於bc正規化。
實際上,bc正規化就是在第三正規化的基礎上消除了主屬性的傳遞依賴。
r屬於第一正規化,對應r的每乙個非平凡多值依賴,x->->y,x都含有碼,則r屬於第四正規化。
第五正規化是指關係模式r依賴均由r候選碼所隱含。這輩子應該不會用到的內容,就不管了。
資料庫幾大正規化的理解
第一正規化 1nf 強調的是列的原子性,即列不能夠再分成其他幾列。屬性存在子集 第二正規化 2nf 首先是 1nf,另外包含兩部分內容,一是表必須有乙個主鍵 二是沒有包含在主鍵中的列必須完全依賴於主鍵,而不能只依賴於主鍵的一部分。第三正規化 3nf 首先是 2nf,另外非主鍵列必須直接依賴於主鍵,不...
關係型資料庫正規化
設計關聯式資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。目前關聯式資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴斯 科德正規化 bcnf 第四正規化 4nf 和第五正...
關係型資料庫的正規化
關係型資料庫有六個正規化,越靠後的正規化對資料庫的 要求 越高。我改寫了描述,讓其更通俗易懂,但是不太嚴謹,以下文字中 列對應屬性 行對應實體 表對應關係。不再一一區分。對於我們使用的關係型資料庫,滿足第三正規化即可。第一正規化 1nf 無重複的列 即每一行中,不能有兩列的含義完全相同,也不能有某一...