3.1 關係模式的設計準則
3.1.1 關係模式的冗餘和異常問題
「分解」是解決冗餘的主要方法,也是規範化的一條原則:「關係模式有冗餘問題,就分解它」。
3.1.2 關係模式的非形式化設計準則
準則3.1
關係模式的設計應盡可能只包含直接聯絡的屬性,不要包含有間接聯絡的屬性。
準則3.2
關係模式的設計應盡可能使得相應關係中不出現插入、刪除和修改等操作異常現象。
準則3.3
關係模式的設計應盡可能使得相應關係中避免放置經常為空值的屬性。
準則3.4
關係模式的設計應盡可能使得關係的等值連線在主鍵和外來鍵上進行,並且保證連線以後不會生成額外的元組。
3.2 函式依賴
3.2.1 函式依賴的定義
定義3.1 設有關係模式r(u),x和y是屬性集u的子集,函式依賴(functional dependency,簡記為fd)是形為
x→y的乙個命題,只要r是r的當前關係,對r中任意兩個元組t和s,都有t[x]=s[x]蘊涵t[y]=s[y],那麼稱fd
x→y在關係模式r(u)中成立。
這裡t[x]表示元組t在屬性集x上的值,其餘類同。
x→y讀作「x函式決定y」,或「y函式依賴於x」。fd是對關係模式r的一切可能的關係r定義的。對於當前關係r的任意兩個元組,如果x值相同,則要求y值也相同,即有乙個x值就有乙個y值與之對應,或者說y值由x值決定。因而這種依賴稱為函式依賴。
定義3.2 如果x
→y和y
→x同時成立,則可記為x←→y。也就是在關係中,x值和y值具有一一對應關係。
3.2.2 fd邏輯蘊涵
3.2.3 fd的推理規則
3.2.4 fd和關鍵碼的聯絡
3.2.5 屬性集的閉包
3.2.6 fd集的最小依賴集
3.3 關係模式的分解特性
3.3.1 關係模式的分解
3.3.2 無損分解
3.3.3 模式分解的優缺點
3.3.4 無損分解的測試方法
3.3.5 保持fd的分解
3.3.6 模式分解與模式等價問題
資料等價是指兩個資料庫例項應表示同樣的資訊內同,用「無損分解」衡量。
依賴等價是指兩個資料庫模式應有相同的依賴集閉包。
3.4 正規化
關係模式的好與壞,用什麼標準衡量?這個標準就是模式的正規化(normal forms,簡記為nf)。
3.4.1 第一正規化(1nf)
定義3.1.6
如果關係模式r中的每個關係r的屬性值都是不可分的原子值,那麼稱r是第一正規化(first normal form,簡記為1nf)的模式。
3.4.2 第二正規化(2nf)
定義3.18
如果a是關係模式r的候選鍵屬性,那麼稱a是r的主屬性;否則稱a是r的非主屬性。
定義3.19
如果關係模式r是1nf,且每個非主屬性完全函式依賴於候選鍵,那麼稱r是第二正規化(2nf)的模式。如果資料庫模式中每個關係模式都是2nf,則稱資料庫模式為2nf的資料庫模式。
3.4.3 第三正規化(3nf)
定義3.21 如果關係模式r是1nf,且每個非主屬性都不傳遞依賴於r的候選鍵,那麼稱r是第三正規化(3nf)的模式。如果資料庫模式中每個關係模式都是3nf,則稱資料庫模式為3nf的資料庫模式。
3.4.4 bcnf
定義3.23
如果關係模式rshi 1nf,且每個屬性都不傳遞依賴於r的候選鍵,那麼稱r是ecnf的模式。
定義3.24
設f是關係模式r的fd集,如果對f中每個非評分的fd →y,都有x是r的超鍵,那麼稱r是bcnf的模式。
3.4.5 分解成bcnf模式集的分解演算法
3.4.6 分解成3nf模式集的合成演算法
3.4.7 模式設計方法小結
3.5 多值依賴和第四正規化
3.5.1 多值依賴
定義3.25
設u是關係模式r的屬性集,x和y是u的位元組,z=r-x-y,小寫xyz表示屬性集xyz的值。對於r的關係r,在r中存在元組(x,y1,z
1)和(x,y2,z
2)時,就也存在(x,y2,z
1)和(x,y1,z
2),那麼稱多值依賴(multivalued dependency,簡記為mvd)x→→y在模式r上成立。
3.5.2 關於fd和mvd的推理規則集
3.5.3 第四正規化(4nf)
定義3.28
設d是關係模式r上成立的fd和mvd集合。如果d中每個非平凡的mvd
x→→y的左部x都是r的超鍵,那麼稱r是4nf的模式。
設計模式 第三章 工廠模式
二 工廠方法模式 三 抽象工廠模式 工廠模式為建立者模式的一種,就是建立物件時不會暴露建立 邏輯,提供統一入口來指向新建立的物件。工廠模式三種方法 1.簡單工廠模式 2.工廠方法模式 3.抽象工廠模式指定乙個引數由乙個工廠物件決定建立出不同的類。基類動物 public inte ce animal ...
mysql第三章關係模型 第三章 關係資料模型
一 資料模型概述 資料庫設計中兩種不同的模型 1 概念模型 面向現實世界,與計算機無關。2 資料模型 面向計算機實現。分為邏輯資料模型,物理資料模型。一 資料模型三要素 1 資料結構 資料庫資料,以及資料之間的聯絡。2 資料操作 資料庫物件允許執行操作的集合。3 資料的約束條件 資料庫完整性規則的集...
js模式第三章
迴圈物件為dom時,儲存dom物件的長度可以提高瀏覽器效能 現在還是的嘛?目前,我所說知道的兩種建立物件的方法,物件字面量和new object。其中,物件字面量方法更簡單明瞭,另乙個原因是它只是強調了該物件僅是乙個可變雜湊對映,而不是從物件中提取屬性和方法。與new object相比,物件字面量沒...