第四章 關(guān)系數(shù)據(jù)庫的模式設(shè)計
45. 什么是關(guān)系數(shù)據(jù)庫:
關(guān)系數(shù)據(jù)庫是以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫,它利用關(guān)系來描述現(xiàn)實世界。一個關(guān)系既可以用來描述一個實體及其屬性,也可以用來描述實體間的聯(lián)系。關(guān)系實質(zhì)上是一張二維表。
46. 一個關(guān)系模型有哪兩個方面內(nèi)容:
一個關(guān)系模型包括外延和內(nèi)涵兩個方面的內(nèi)容。
外延就是通常所說的關(guān)系,或?qū)嵗?,或?dāng)前值。它與時間有關(guān),隨著時間的推移在不斷變化。(由于元組的插入、刪除、修改引起的)
內(nèi)涵是與時間獨立的,包括關(guān)系、屬性、及域的一些定義和說明,還有各種數(shù)據(jù)完整性約束。
47. 數(shù)據(jù)完整性約束分為哪兩類:
數(shù)據(jù)完整性約束分為靜態(tài)約束和動態(tài)約束。
靜態(tài)約束:包括各種數(shù)據(jù)之間的聯(lián)系(數(shù)據(jù)依賴),主鍵的設(shè)計和關(guān)系值的各種限制等等。這一類約束是如何定義關(guān)系的有效數(shù)據(jù)問題。
動態(tài)約束:主要定義如插入、刪除、和修改等各種操作的影響。
48. 關(guān)系數(shù)據(jù)庫設(shè)計理論主要包括哪些內(nèi)容:
關(guān)系數(shù)據(jù)庫設(shè)計理論主要包括三個方面的內(nèi)容:數(shù)據(jù)依賴、范式、模式設(shè)計方法。其中數(shù)據(jù)依賴起著核心的作用。
49. 數(shù)據(jù)庫使用過程中存在的問題是什么:
數(shù)據(jù)冗余、更新異常、插入異常、刪除異常。
50. 函數(shù)依賴(FD)的定義:
設(shè)有關(guān)系模式R(A1,A2,……,An)(即R(U)),X,Y是U的子集,r是R的任一具體關(guān)系,如果對r的任意兩個元組t1,t2,由t1[X]=t2[X]導(dǎo)致t1[Y]=t2[Y],則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為X→Y,X→Y為模式R的一個函數(shù)依賴。
或者說,對于X的每一個具體值,都有Y惟一的具體值與之對應(yīng),即Y值由X值決定,因而
這種數(shù)據(jù)依賴稱為函數(shù)依賴。
51. 函數(shù)依賴的邏輯蘊涵、FD的閉包F+:
52. 候選鍵、主屬性、非主屬性:
設(shè)有關(guān)系模式R(A1,A2,……,An),F(xiàn)是R的一個函數(shù)依賴集,X是{A1,A2,……,An}的一個子集。如果
① X→A1A2……An∈F+,且
② 不存在X真子集Y,使得Y→A1A2……An成立,則稱X是R的候選鍵。
包含在任何一個候選鍵中的屬性稱為主屬性,不包含在任何一個候選鍵中的屬性稱為非主屬性。
53. 函數(shù)依賴的推理規(guī)則:
設(shè)有關(guān)系模式R(A1,A2,……,An)和屬性集U= A1,A2,……,An,X,Y,Z,W是U的一個子集,F(xiàn)是R的一個函數(shù)依賴集,推理規(guī)則如下:
54. 什么是平凡的FD?平凡的FD可根據(jù)哪一條推理規(guī)則推出?
55. 關(guān)系模式的分解有幾個不同的衡量標準:
分解具有無損聯(lián)接;
分解要保持函數(shù)依賴;
分解既要保持依賴,又要具有無損聯(lián)接。
57. 試敘保持函數(shù)依賴的定義:
58. 第一范式(1NF):
如果關(guān)系模式R的所有屬性的值域中每一個值都是不可再分解的值,則稱R是屬于第一范式模式。
59. 第二范式(2NF):
如果關(guān)系模式R為第一范式,并且R中每一個非主屬性完全函數(shù)依賴于R的候選鍵,則稱R是第二范式模式。
60. 第三范式(3NF):
如果關(guān)系模式R是第一范式,且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R是第三范式的模式。
61. BCNF:
如果關(guān)系模式R是第一范式,且每個屬性都不傳遞依賴于R的候選鍵,那么稱R是BCNF的模式。從BCNF的定義可明顯地得出如下結(jié)論:
(1) 所有非主屬性對鍵是完全函數(shù)依賴。
(2) 所有主屬性對不包含它的鍵是完全函數(shù)依賴。
(3) 沒有屬性完全函數(shù)依賴于非鍵的任何屬性組。
如果模式R是BCNF,則它必定是第三范式,反之,則不一定。
62. 模式設(shè)計方法的原則:
關(guān)系模式R相對于函數(shù)依賴集F分解成數(shù)據(jù)庫模式ρ={R1,R2,……Rk},一般應(yīng)具有下面三個特性:
(1) ρ中每個關(guān)系模式Ri是3NF或BCNF
(2) 保持無損聯(lián)結(jié)
(3) 保持函數(shù)依賴集
(4) ρ中模式個數(shù)最少和屬性總數(shù)最少。
63. 一個好的模式設(shè)計方法應(yīng)符合哪三條原則:
表達性,分離性,最小冗余性。
表達性涉及到兩個數(shù)據(jù)庫模式的等價性問題,即數(shù)據(jù)等價和依賴等價,分別用無損聯(lián)接和保持函數(shù)依賴性來衡量。
分離性是指屬性間的“獨立聯(lián)系”應(yīng)該用不同的關(guān)系模式表達。
最小冗余性要求在分解后的數(shù)據(jù)庫能表達原來數(shù)據(jù)庫的所有信息這個前提下實現(xiàn)。
關(guān)系模式設(shè)計方法基本上可以分為分解與合成兩大類。
64. 多值依賴MVD:
設(shè)R(U)是屬性集U上的一個關(guān)系模式,X,Y是U的子集,若對R(U)的任一關(guān)系r,對于X的一個給定的值存在著Y的一組值與其對應(yīng),同時Y的這組值又不以任何方式與U-X-Y中的屬性相關(guān),那么稱Y多值依賴于X,記為X→→Y。
65. 平凡多值依賴:
66. 第四范式(4NF):
設(shè)關(guān)系模式R,D是一個多值依賴集,如果D中存在一個非平凡多值依賴X→→Y,并且X必是R的超鍵,那么稱R是4NF模式。
45. 什么是關(guān)系數(shù)據(jù)庫:
關(guān)系數(shù)據(jù)庫是以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫,它利用關(guān)系來描述現(xiàn)實世界。一個關(guān)系既可以用來描述一個實體及其屬性,也可以用來描述實體間的聯(lián)系。關(guān)系實質(zhì)上是一張二維表。
46. 一個關(guān)系模型有哪兩個方面內(nèi)容:
一個關(guān)系模型包括外延和內(nèi)涵兩個方面的內(nèi)容。
外延就是通常所說的關(guān)系,或?qū)嵗?,或?dāng)前值。它與時間有關(guān),隨著時間的推移在不斷變化。(由于元組的插入、刪除、修改引起的)
內(nèi)涵是與時間獨立的,包括關(guān)系、屬性、及域的一些定義和說明,還有各種數(shù)據(jù)完整性約束。
47. 數(shù)據(jù)完整性約束分為哪兩類:
數(shù)據(jù)完整性約束分為靜態(tài)約束和動態(tài)約束。
靜態(tài)約束:包括各種數(shù)據(jù)之間的聯(lián)系(數(shù)據(jù)依賴),主鍵的設(shè)計和關(guān)系值的各種限制等等。這一類約束是如何定義關(guān)系的有效數(shù)據(jù)問題。
動態(tài)約束:主要定義如插入、刪除、和修改等各種操作的影響。
48. 關(guān)系數(shù)據(jù)庫設(shè)計理論主要包括哪些內(nèi)容:
關(guān)系數(shù)據(jù)庫設(shè)計理論主要包括三個方面的內(nèi)容:數(shù)據(jù)依賴、范式、模式設(shè)計方法。其中數(shù)據(jù)依賴起著核心的作用。
49. 數(shù)據(jù)庫使用過程中存在的問題是什么:
數(shù)據(jù)冗余、更新異常、插入異常、刪除異常。
50. 函數(shù)依賴(FD)的定義:
設(shè)有關(guān)系模式R(A1,A2,……,An)(即R(U)),X,Y是U的子集,r是R的任一具體關(guān)系,如果對r的任意兩個元組t1,t2,由t1[X]=t2[X]導(dǎo)致t1[Y]=t2[Y],則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為X→Y,X→Y為模式R的一個函數(shù)依賴。
或者說,對于X的每一個具體值,都有Y惟一的具體值與之對應(yīng),即Y值由X值決定,因而
這種數(shù)據(jù)依賴稱為函數(shù)依賴。
51. 函數(shù)依賴的邏輯蘊涵、FD的閉包F+:
52. 候選鍵、主屬性、非主屬性:
設(shè)有關(guān)系模式R(A1,A2,……,An),F(xiàn)是R的一個函數(shù)依賴集,X是{A1,A2,……,An}的一個子集。如果
① X→A1A2……An∈F+,且
② 不存在X真子集Y,使得Y→A1A2……An成立,則稱X是R的候選鍵。
包含在任何一個候選鍵中的屬性稱為主屬性,不包含在任何一個候選鍵中的屬性稱為非主屬性。
53. 函數(shù)依賴的推理規(guī)則:
設(shè)有關(guān)系模式R(A1,A2,……,An)和屬性集U= A1,A2,……,An,X,Y,Z,W是U的一個子集,F(xiàn)是R的一個函數(shù)依賴集,推理規(guī)則如下:
54. 什么是平凡的FD?平凡的FD可根據(jù)哪一條推理規(guī)則推出?
55. 關(guān)系模式的分解有幾個不同的衡量標準:
分解具有無損聯(lián)接;
分解要保持函數(shù)依賴;
分解既要保持依賴,又要具有無損聯(lián)接。
57. 試敘保持函數(shù)依賴的定義:
58. 第一范式(1NF):
如果關(guān)系模式R的所有屬性的值域中每一個值都是不可再分解的值,則稱R是屬于第一范式模式。
59. 第二范式(2NF):
如果關(guān)系模式R為第一范式,并且R中每一個非主屬性完全函數(shù)依賴于R的候選鍵,則稱R是第二范式模式。
60. 第三范式(3NF):
如果關(guān)系模式R是第一范式,且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R是第三范式的模式。
61. BCNF:
如果關(guān)系模式R是第一范式,且每個屬性都不傳遞依賴于R的候選鍵,那么稱R是BCNF的模式。從BCNF的定義可明顯地得出如下結(jié)論:
(1) 所有非主屬性對鍵是完全函數(shù)依賴。
(2) 所有主屬性對不包含它的鍵是完全函數(shù)依賴。
(3) 沒有屬性完全函數(shù)依賴于非鍵的任何屬性組。
如果模式R是BCNF,則它必定是第三范式,反之,則不一定。
62. 模式設(shè)計方法的原則:
關(guān)系模式R相對于函數(shù)依賴集F分解成數(shù)據(jù)庫模式ρ={R1,R2,……Rk},一般應(yīng)具有下面三個特性:
(1) ρ中每個關(guān)系模式Ri是3NF或BCNF
(2) 保持無損聯(lián)結(jié)
(3) 保持函數(shù)依賴集
(4) ρ中模式個數(shù)最少和屬性總數(shù)最少。
63. 一個好的模式設(shè)計方法應(yīng)符合哪三條原則:
表達性,分離性,最小冗余性。
表達性涉及到兩個數(shù)據(jù)庫模式的等價性問題,即數(shù)據(jù)等價和依賴等價,分別用無損聯(lián)接和保持函數(shù)依賴性來衡量。
分離性是指屬性間的“獨立聯(lián)系”應(yīng)該用不同的關(guān)系模式表達。
最小冗余性要求在分解后的數(shù)據(jù)庫能表達原來數(shù)據(jù)庫的所有信息這個前提下實現(xiàn)。
關(guān)系模式設(shè)計方法基本上可以分為分解與合成兩大類。
64. 多值依賴MVD:
設(shè)R(U)是屬性集U上的一個關(guān)系模式,X,Y是U的子集,若對R(U)的任一關(guān)系r,對于X的一個給定的值存在著Y的一組值與其對應(yīng),同時Y的這組值又不以任何方式與U-X-Y中的屬性相關(guān),那么稱Y多值依賴于X,記為X→→Y。
65. 平凡多值依賴:
66. 第四范式(4NF):
設(shè)關(guān)系模式R,D是一個多值依賴集,如果D中存在一個非平凡多值依賴X→→Y,并且X必是R的超鍵,那么稱R是4NF模式。