關聯式資料庫設計 函式依賴 邏輯蘊含

2021-08-20 08:38:11 字數 1908 閱讀 7100

函式依賴:

屬性集α決定屬性集β,則稱有函式依賴 α→β

α \to β

α→β

邏輯蘊含:

f能推出 原不直觀存在於 函式依賴集f 中的函式依賴 α →

\to→ β,則成α→

\to→β被函式依賴集f邏輯蘊含

函式依賴的閉包 f

+f^+

f+:

​ 由關係模式r直觀得到的函式依賴f所推出的所有隱含的或未隱含的(直觀的)函式依賴的集合

舉例:

f中有α–>β,β–>ω

則函式閉包f

+f^+

f+中存在α–>ω

armstrong公理(以下的αβ形式表示α和β的並集):

1.  自反律(叫大推小更確切):

​集合a能推出其集合子集b

2. 增補律(加了也不影響)

若α-->β,則αω-->βω

3. 傳遞律(一傳十十傳百)

α-->β,β-->ω,則α-->ω

armstrong公理推論(以下的αβ形式表示α和β的並集):

1. 合併律(合併右邊)

α-->β,α-->ω,則α-->βω

2. 分解律(分解右邊)

α-->βω,則α-->ω,α-->β

3. 偽傳遞律(左邊加一點)

α-->β,βπ-->ω則απ-->ω

屬性的閉包

​在關係模式r所對應的f+中,有α→β

α\toβ

α→β ,則所有β組成的集合α

+α^+

α+叫做α的屬性閉包

屬性閉包演算法:

result=a //此處a是乙個屬性集,result就是要計算的屬性閉包

for each α-->β in f:

if α in result: //α已經在屬性閉包裡了,即a-->α是成立的

result=result+β //增加屬性閉包

正則覆蓋 f

+f^+

f+

​ 將原函式依賴集f中的函式依賴α–>β中的部分(α或β屬性中)冗餘屬性刪除。f

+f^+

f+和 f 的函式依賴的閉包是相同的

屬性是否冗餘判斷條件,對於α–>β函式依賴(哪邊冗餘f在哪邊)

α屬性集中有屬性a是冗餘的,(α−

a)→β

(α-a)\to β

(α−a)→

β 成立:

f 邏輯蘊含 $(f-(α\toβ)) \cup ((α-a)\toβ) $

β屬性集中有屬性b是冗餘的,$α\to (β-b) $成立

( f−

(α→β

))∪(

α→(β

−b))

(f- (α \to β)) \cup (α \to (β-b) )

(f−(α→

β))∪

(α→(

β−b)

) 邏輯蘊含 f

無損分解

將關係模式r分解成 關係模式$ r_1和r_2$,則:

$r_1 \cap r_2 \to r_1 或 r_2 $ ;即$r_1 和 r_2 的交集是r_1 或 r_2 $的super key

aop核心原理和springaop

10分鐘入門springaop

關聯式資料庫設計理論 函式依賴和正規化

表裡的一列就是乙個值,只講一件事,不可分。比如說 你寫手機號,號,寫兩個就不行。官話 屬性不可分,具有原子性 表不是有乙個主鍵嘛,這個唯一識別符號用於確定每一行,乙個值確定乙個行,這個屬性稱為碼,它是主屬性,碼可能是由多個主屬性組成的。2nf就是確保其他的屬性,都由這個碼來確定,比如碼是 學生學號,...

關聯式資料庫設計理論(二)函式依賴的規則

1.函式依賴的推導 首先通過乙個樣例來說明如何由乙個fd 函式依賴 推導出其它fd。例 若關係r a,b,c 滿足fd a b和b c,那麼就可以推斷出r也滿足fd a c。若要證明a c必須要先考慮r中a分量值相同的兩個元組,證明它們的c分量值也相同。假設兩個在a上取值相同的元組為 a,b1,c1...

關聯式資料庫設計正規化

簡介 設計關聯式資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。目前關聯式資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴德斯科正規化 bcnf 第四正規化 4nf 和第...