資料庫關係理論之 碼 正規化 模式分解

2021-10-05 15:33:47 字數 1491 閱讀 5054

設k

kk是r

f>

rrf>

中的屬性或者屬性組合

k是超碼:k→p

uk\xrightarrowu

kp​u

候選碼:k→f

uk\xrightarrowu

kf​u

,候選碼是最新小的超碼,任意乙個候選碼的子集都不是候選碼,候選碼可以有多個。

主碼:候選碼其中之一

主屬性:候選碼的並集

非主屬性:u−u-

u−主屬性全碼:u

uu是碼

主碼和候選碼簡稱碼

1nf:實體中每個屬性都只有乙個值並且屬性不重複

2nf:是1nf,並且每乙個非主屬性完全依賴於任何乙個候選碼

3nf:是2nf,並且每乙個非主屬性不傳遞依賴於碼

bcnf:是1nf,並且每乙個決定因素都包含碼

自反律(平凡函式依賴)

增廣律傳遞律

推論:合併規則、偽傳遞規則、分解規則

f

+f^+

f+:為f

ff所邏輯蘊含的函式依賴的全體

x f+

x^_xf

+​:屬性集x

xx關於函式依賴集f

ff的閉包

x →y

x\rightarrow y

x→y的充分必要條件是y⊆x

f+

y\subseteq x^+_f

y⊆xf+​

最小函式依賴:右側拆單,刪除冗餘的依賴,然後對左側非單的屬性集刪除冗餘的屬性。

冗餘:刪除這一依賴或者屬性後,該依賴或者刪除屬性所在的依賴的右側的屬性仍舊屬於左側屬性集關於刪完之後的依賴的閉包

對r

f>

rrf>

中的f作極小化處理

所有不在f

ff**現的屬性構成單個關係模式

按左側相同屬性集進行分組,每組全部屬性構成乙個屬性集,去掉包含屬性集

在(1)的基礎上

新增碼作為新的關係模式

去掉包含屬性集

若關係模式中r

i

,f

i>

r_iri

​​,fi

​>

不是bcnf,那麼一定有x→a

x\rightarrow a

x→a,x

xx不是r

ir_i

ri​的碼,則對r

ir_i

ri​進行分解:u1=

xa,u

2=ui

−a

u_1=xa,u_2=u_i-

u1​=xa

,u2​

=ui​

−a不斷執行上述操作直到所有的關係模式都是bcnf

關聯式資料庫理論 正規化

盡可能減少冗餘 重複資料 沒有插入異常 插入不了,沒滿足復合主鍵的要求 刪除異常 把相同的內容都刪除了 修改異常 修改不完全有剩餘 關係模式中的各關係屬性之間相互依賴,相互制約 的聯絡稱為資料依賴。是關係模式中屬性之間的一種邏輯依賴關係。sn,age,dept 函式依賴於sno u f 設關係模式r...

資料庫理論之正規化

完全函式依賴 y完全函式依賴x,就是y依賴x的所有屬性,即x中少一項都推不出y 部分函式依賴 y部分函式依賴x,就是y依賴x的一部分屬性,即x的真子集也可能推出y 第一正規化 每個屬性都不可再分 第二正規化 第一正規化 每個非主屬性都完全函式依賴主碼 第三正規化 第二正規化 消除傳遞依賴 候選碼 能...

資料庫之SQL(正規化理論)

一 什麼是正規化理論?關係模型原理的核心是 規範化 概念,規範化是把資料庫組織成在保持儲存資料完整性的同時最小化冗餘資料的結構的過程。正規化化的資料庫是符合關係模型規則的資料庫,通過把這些規則稱為正規化。二 關聯式資料庫中有幾種正規化?六種第一正規化 1nf 第二正規化 2nf 第三正規化 3nf ...