資料庫左部
㈠ 資料庫中,什麼是超關鍵字,候選關鍵字,主關鍵字麻煩舉例說明
1、主關鍵字:主關鍵字(primary key)是表中的一個或多個欄位,它的值用於唯一的標識表中的某一條記錄。主關鍵字又可以稱為主鍵。 主鍵可以由一個欄位,也可以由多個欄位組成,分別稱為單欄位主鍵或多欄位主鍵。並且它可以唯一確定表中的一行數據,或者可以唯一確定一個實體。
2、超關鍵字:二維表中,能夠惟一確定記錄的一個欄位或幾個欄位的組合被稱為「超關鍵字」。「超關鍵字」雖然能唯一確定記錄,但是它所包含的欄位可能是有多餘的。
3、候選關鍵字:如果一個超關鍵字去掉其中任何一個欄位後不再能唯一地確定記錄,則稱它為「候選關鍵字」(Candidate Key)。
(1)資料庫左部擴展閱讀:
建立主關鍵字(主鍵)應該遵循的原則 :
1、主鍵應當是對用戶沒有意義的。如果用戶看到了一個表示多對多關系的連接表中的數據,並抱怨它沒有什麼用處,那就證明它的主鍵設計地很好。
2、永遠也不要更新主鍵。實際上,因為主鍵除了唯一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主鍵需要更新,則說明主鍵應對用戶無意義的原則被違反了。 註:這項原則對於那些經常需要在數據轉換或多資料庫合並時進行數據整理的數據並不適用。
3、主鍵不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。
4、主鍵應當由計算機自動生成。如果由人來對主鍵的創建進行干預,就會使它帶有除了唯一標識一行以外的意義。一旦越過這個界限,就可能產生人為修改主鍵的動機,這樣,這種系統用來鏈接記錄行、管理記錄行的關鍵手段就會落入不了解資料庫設計的人的手中。
㈡ 資料庫閉包的計算
閉包就是由一個屬性直接或間接推導出的所有屬性的集合,例如:
f={a->b,b->c,a->d,e->f}
由a可直接得到b和d,間接得到c,則a的閉包就是{a,b,c,d}
㈢ 資料庫:求F={A→B,B→A,B→C,A→C,C→A},最小(極小)函數依賴集合
利用分解規則,將所有的函數依賴變成右邊都是單個屬性的函數依賴。從題目來看,F中的任何一個函數依賴的右部僅含有一個屬性:{A→B,B→A,B→C,A→C,C→A}
第二步去冗餘的的順序不同,產生結果也會不同,故最小函數依賴集合不止一個,還可發現另一個最小(極小)函數依賴集合為:{A→B,B→A,A→C,C→A}
給定一個數集A,假設其中的元素為x。現對A中的元素x施加對應法則f,記作f(x),得到另一數集B。假設B中的元素為y。則y與x之間的等量關系可以用y=f(x)表示。函數概念含有三個要素:定義域A、值域C和對應法則f。其中核心是對應法則f,它是函數關系的本質特徵。
(3)資料庫左部擴展閱讀:
函數的對應法則通常用解析式表示,但大量的函數關系是無法用解析式表示的,可以用圖像、表格及其他形式表示。
函數與不等式和方程存在聯系(初等函數)。令函數值等於零,從幾何角度看,對應的自變數的值就是圖像與X軸的交點的橫坐標;從代數角度看,對應的自變數是方程的解。
另外,把函數的表達式(無表達式的函數除外)中的「=」換成「<」或「>」,再把「Y」換成其它代數式,函數就變成了不等式,可以求自變數的范圍。
㈣ 有關關系資料庫理論的簡答題
(1)求屬性集的閉包,其實就是求各屬性的閉包,然後整合去重復。
閉包就是由一個屬性直接或間接推導出的所有屬性的集合
A可以直接導出C A+={A,C}
D可以直接導出A C D+={A,C,D}
所以(AD)+={A,C,D}
B可以直接導出A,C B+={A,B,C}
(2)關鍵碼的求解理論和演算法對於給定的關系R(A1A2…An)和函數依賴集F ,可將其屬性分為4類:L類:僅出現在F函數依賴左部的屬性
R類:僅出現在F函數依賴右部的屬性
N類:在F函數依賴的左右兩部均未出現的屬性
LR類:函數依賴的左右兩部均出現的屬性定理:
對於給定的關系模式R及其函數依賴集F,若X是R的L類屬性,則X必為R的 任一關鍵碼的成員。
所以可以看出BD是R的唯一關鍵碼
(3)求最小函數依賴集
1.根據分解性先分解所有依賴的右邊為單屬性
F={A->C,C->A,B->A,B->C,D->A,D->C}
2.對所有依賴的左邊為多屬性的情況,消除左側冗餘屬性
3.去除多餘的函數依賴{A->C,C->A,B->A,D->A}
不知道對不對,對的話就繼續。。
㈤ 資料庫選擇,圖片第70題
首先對於給定的R(U)和函數依賴集F,可以將它的屬性劃分為4類:
L類,僅出現在F的函數依賴左部的屬性。
R類,僅出現在F的函數依賴右部的屬性。
N類,在F的函數依賴左部和右部均未出現的屬性。
LR類,在F的函數依賴左部和右部兩部均出現的屬性。
根據以下定理和推論來求解候選碼。
定理1:對於給定的關系模式R及其函數依賴集F,若X(X∈R)是L類屬性,則X必為R的任一候選碼的成員。
推論1:對於給定的關系模式R及其函數依賴集F,若X(X∈R)是L類屬性,且X+包含了R的全部屬性,則X必為R的唯一候選碼。
定理2:對於給定的關系模式R及其函數依賴集F,若X(X∈R)是R類屬性,則X不在任何候選碼中。
定理3:設有關系模式R及其函數依賴集F,如果X是R的N類屬性,則X必包含在R的任一候選碼中。
步驟:
(1)將R的所有屬性分為L、R、N、LR四類,令X代表L、N兩類,Y代表LR類。
(2)求 X+(X的閉包)若X+包含了R的全部屬性,則X即為R的惟一候選碼,轉(5);否則轉(3)在Y中逐一取每個屬性A,求(XA)+。若它包含了R的全部屬性,則轉(5);否則調換一屬性反復進行這一過程,直到試完所有Y中的屬性。
(4)在Y中依次取兩個、三個屬性…求它們的屬性閉包直到其閉包包含R的全部屬性。
(5)輸出結果。
1、給出解題的過程:
a.L:B ; R:D,E ; LR:A,C ;沒有N類屬性
b.D和E不包含在任何候選碼中,只剩下A,B和C,而B屬於L類,故必定包含在任意候選碼中。將A,B和C組合:AB,BC和ABC
c.求閉包
AB的閉包:ABCDE
BC的閉包:ABCDE
不用再計算{ABC}的閉包了,因為存在兩個元素的候選鍵的閉包包含全部屬性
d.輸出候選碼為AB,BC
2、求F的最小覆蓋為:F1={AB->C,C->A,C->D,B->E}則無損且保持函數依賴的分解為:
R1(A,B,C) R2(C,A,D) R3(B,E)
或者分解R1(A,B,C) R2(C,D) R3(B,E)也是正確的。