當前位置:才華齋>計算機>計算機四級>

2017計算機四級資料庫工程師第五章複習要點

計算機四級 閱讀(1.17W)

考試的複習要將知識點集中在一起復習,這樣才比較高效、省時間。下面是本站小編為大家整理的2017計算機四級資料庫工程師第五章複習要點,歡迎學習!

2017計算機四級資料庫工程師第五章複習要點

  第五章 關係資料庫邏輯設計

  5.1 概述

  5.2 基本概念

5.2.1 關係模型

1、 關係模型採用一個二維表格在計算機中組織、儲存、處理和管理資料。

(1) 關係名(資料庫名):由字母數字組成;

(2) 屬性名;

(3) 關係模式和關係:描述模式描述關係的靜態結構,由模式名、關係模式所包含的屬性及屬性值所滿足的條件組成模式定義。

(4) 元組:描述關係中的行;

(5) 域:它定義關係的每個屬性取值的型別;

(6) 主碼:能夠惟一標識關係中每一個元組的屬性或屬性組;

(7) 關係的數學定義:關係模式是建立在集合集論的基礎上的,用數學的概念定義關係有;

(A) 定義一:域是值的集合,同一個域中的值具有相同的資料型別;

(B) 定義二:

(C) 定義三:

(D) 當關系引用了屬性名後關係具有以下屬性:

[1] 不能有重複的元組;

[2] 元組上下無序;

[3] 按屬性名引用時屬性左右無序;

[4] 所有屬性值都是原子項(不可再分);

(8) 總結:關係是一張二維表,表中的一行被稱為一個元組,一列稱為屬性,由一組域值組成。關係是元組的集合,關係中的每個元組在數學上被定義為這個關係所涉及的全部域值中笛卡兒積的一個元素。

5.2.2 關係資料庫

1、 關係資料庫是按照二維表組織和儲存的相互關聯的關係的集合,關係資料庫模式是關係模式的集合;

5.2.3 關係的完整性

1、 關係的完整性(完整性約束):是對關係的某種約束規則和關係滿足的定義。通常這組約束規則用來限定和檢查資料庫所含例項的合法性和正確性;

2、 完整性約束分靜態和動態兩種,靜態完整性約束是基於關係模式的,主要有主碼、外碼約束和域約束組成;動態完整性約束是基於企業的業務規則的。

3、 靜態完整性約束規則:

(1) 主碼約束:主碼必須滿足:

(A) 惟一性:在一個關係中不存在兩個元組,它們具有相同的主碼值;

(B) 最小性:不存在從組成主碼的屬性集中去掉一個屬性,還仍能保持資料的惟一性;

(2) 外碼約束:

(3) 使用者定義的完整性:

  5.3 關係資料庫設計理論

5.3.1 問題的提出

究竟一個關係資料庫包含哪些屬性是合理的,如何評價一個關係模式設計的優劣?

5.3.2 函式依賴

函式依理論利用一個關係中屬性之間的依賴關係評價和優化關係模式,以保證儲存到資料庫中的關係具有較好特性;

1、 函式依賴:

(1) 設R(U)為一關係模式,X和Y為屬性全集U的子集,若對於R(U)的任意一個可能的關係r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱“X函式決定Y”或“Y函式依賴於X”,並記作X

Y,其中X稱為決定因素,因為根據函式依賴定義,給定一個X,就能惟一決定一個Y。

(2) 這裡討論的函式關係與數學上的不同,是不能計算的,是一個關係中屬性之間存在的依賴關係;它是一種語義範疇的概念,只能根據兩個屬性之間的語義來確定一個函式依賴是否存在。

2、 完全與部分函式依賴:

(1) 在關係模式R(U)中,如果XàY成立,並且對X的任何真子集X’不能函式決定Y,則稱Y對X是完全函式依賴,被記作X---f---àY。

(2) 若XàY,但Y不完全函式依賴於X,則稱Y對X是部分函式依賴,記作X--pàY;

3、 傳遞函式依賴:

在關係R(U)模式中,如果X決定Y,(Y不屬於X),Y不決定X,Y決定Z,則稱Z對X傳遞函式依賴。

4、 平凡與非平凡函式依賴:

(1) 若X決定Y,但Y屬於X,則稱XàY是平凡函式依賴,否則稱非平凡函式依賴;

(2) 即平凡函式依賴,僅當其右邊的屬性集是左邊屬性集的子集時成立;

(3) 非平凡函式依賴,僅當其右邊的屬性集至少有一個屬性不屬於左邊有集合時成立;

(4) 完全非平凡函式依賴:僅當其右邊的屬性集中屬性都不在左邊的集合時成立;

5、 碼:

(1) 在關係模式R(U)中,K為R的屬性或屬性組,若K函式決定A1.A2…,則K為關係模式R的'候選碼,包含在候選碼中的屬性稱為主屬性,否則為非主屬性;

(2) 若一個關係的候選碼不止一個,則選定其中一個作為關係R的主碼;

(3) 關係的碼屬性除了必須完全函式決定關係的所有其他屬性外,還必須滿足最小化規則,即在關係模式R(U)中,不存在一個K的真子集能夠函式決定R的其他屬性。

6、 函式依賴的推理規則:

(1) 自反律:若Y(包含於)X(包含於)U,則XàY成立;

(2) 增廣律:若XàY,且Z(包含於)U,則XZàYZ成立;

(3) 傳遞律:若XàY,YàZ,則XàZ成立;

(4) 合併規則:若XàY,XàZ成立,則XàYZ;

(5) 分解規則:若XàY和Z(包含於)Y成立,則XàZ也成立;

(6) 偽傳遞規則:若XàY,YWàZ,則XWàZ成立;

7、 屬性集閉包:

(1) 設F是屬性集U上的函式依賴集,X為U的一個子集,那麼對於F,屬性集X關於F的閉包(用X+表示)為:X+={A|XàA}

(2) 由屬性集團包的定義可知,若想判斷函式依賴XàY是否成立,只要計算X關於函式依賴集F的閉包,若Y是X閉包中的一個元素則XàY成立;

8、 確定關係的碼:

(1) 利用迭代演算法計算X+,步驟如下:

(A) 選X作為閉包X+的初值X(0);

(B) 由X(i)計算X(i+1)時,它是由X(0)並上屬性集合A所組成,其中A滿足下列條件:Y(包含於)X(i),且F中存在函式依賴YàZ,而A(包含於)Z。因為U是有窮的,所以會得到X(i)=X(i+1),此時X(i)為所求的X+。

5.3.3 規範化設計方法

1、 第一正規化:

(1) 定義:設關係模式R(F,U),如果R的每一個屬性都是不可分的資料項,則此關係模式為第一正規化;

(2) 一個給定關係和第一正規化(1NF)的區別:

(A) 一個關係中的資料按照行和列的形式組織,每個元組具有相同數目的屬性個數,且每一個元組的屬性值具有統一的資料型別和長度;元組或屬性的排列與順序無關,每個元組必須通過一個屬性或屬性組惟一識別;

(B) 第一正規化實際上對關係增加了一個約束,即關係中元組的每個屬性都只取一個值,第一正規化是對關係模式的基本要求,不滿足第一正規化的資料庫就不是關係資料庫。

2、 第二正規化:

(1) 定義:若關係模式R(F,U)是1NF,且每個非主屬性完全函式依賴於碼,則稱R為第二正規化,即在2NF中不存在非主屬性對碼的部分依賴;

(2) 僅滿足第一正規化關係會存在種種問題,要消除必須用更高階的正規化標準來設計,稱為標準化;

(3) 具體做法是將大的關係分解成多個小的關係,使分解後的關係滿足更高階正規化的要求。

(4) 第二正規化實際上對關係增加了一個約束,就是關係中的每一個屬性必須完全依賴於主碼,即在第一正規化的基礎上,消除非主屬性對主碼的部分函式依賴可達到2NF;

3、 第三正規化:

(1) 定義:若關係R(U,F)為第一正規化,且不存在非主屬性對主碼的傳遞函式依賴,則稱R為第三正規化;

(2) 第三正規化是在第二正規化的基礎上對關係又增加了一個約束,就是關係中的每一個非主屬性必須只依賴於主碼。即2NF的基礎上,消除非主屬性對主碼的傳遞函式依賴可達到3NF。

4、 改進的第三正規化:

(1) 定義:如果關係模式R是1NF,且每個屬性既不相存在部分函式依賴也不存在傳遞函式依賴於候選碼,則稱R是改進的第三正規化(BCNF)。

5、 多值依賴與4NF:

(1) 多值依賴:表示關係中屬性(如A、B、C)之間的依賴,對於A的每個值,都存在一個B或C的值的集合,而且B和C的值相互獨立,記為:AààB、AààC

(2) 第四正規化:如果關係模式R屬於1NF,對於R的每個非平凡的多值依賴XàY(Y不屬於X),X含有候選碼,則R是第四正規化。即是從BCNF正規化中消除主碼內的獨立依賴集(非平凡多值依賴)可達4NF;

6、 連線依賴與5NF

(1) 連鎖依賴:設關係模式R,R的屬性子集為R1、R2、R3、R4、R5、R6、R7….,當且僅當R的每個合法值等於R1、R2、R3、R4、R5、R6、R7…的投影連線時,稱R滿足連線依賴;

(2) 第五正規化:設R是一個滿足5NF的關係模式,當且僅當R的每一個非平凡連線依賴都被R的候選碼所蘊含,即從4NF中消除非候選碼所蘊含的連線依賴為5NF;

7、 總結:

(1) 正規化表達了關係模式滿足的條件,也是衡量關係模式設計優劣的標準;

(2) 利用正規化進行規範化設計的目的是消除資料冗餘,避免出現異常,使結構更合理;

(3) 規範化設計的基本過程是對關係進行的分解,消除屬性間不合理的資料依賴,用一組等價的子關係代替原有的關係;

(4) 資料庫規範化的程式越高,其關係表就越多,從而增加了表之間連線運算的代價,影響了資料庫的執行速度和效能。所以通常關係模式規範化工作僅做到3NF,這樣既使關係中不合理的屬性基本消除,規範化程度也不太高,保證資料庫有較好的效能。

  5.4 資料庫模式設計

5.4.1 初始關係模式的設計

1、 把ER圖轉換成關係模式:

(1) 把ER模型中的每個實體集轉換成一個同名的關係,實體集的屬性就是關係的屬性,實體集的碼就是關係的碼;

(2) 把ER模型中的每個聯絡轉換成一個關係,與該聯絡相連的各實體集的碼以及聯絡的屬性轉換成為關係的屬性。

(A) 若聯絡為1:1,則每個實體集的碼均是該關係的候選碼;

(B) 若聯絡為1:n,則關係的碼為n端實體集的碼;

(C) 若聯絡為m:n,則關係的碼為各實體集碼的組合;

(3) 合併具有相同碼的關係

2、 檢查確認物件:檢查轉換後的每個關係名和屬性名是否符合資料庫設計關於統一命名的約定;

5.4.2 優化關係模式

1、 模式分解原則:

(1) 分解具有無損連線性:分解後的關係能夠恢復成原來的關係;

(2) 分解保持函式依賴:

(A) 無損連線和保持函式依賴是用於衡量一個模式分解是否導致原有模式中部分資訊丟失的兩個標準;

(B) 當一個關係被分解後會出現幾種結果,既有無損連線,又能保持函式依賴是較理想的分解結果,意味著在分解的過程中沒有丟失原有模式的任何資訊;

(C) 一般情況下,分解到3NF就足夠了,但在3NF關係下,仍存在一定程度上的更新異常或不一致的隱患,但與資料庫效能比較起來是可以忽略的,因為在資料庫設計過程中通過增加一些資料約束,就可以解決3NF引起的資料問題了。

3、 優化屬性:確定各欄位的型別和長度;

4、 確認模式滿足需要:

5.4.3 資料完整性設計

1、 指定義資料庫中儲存的資料值滿足的約束條件,通過對儲存的資料值的約束維護關係的完整性。

2、 資料值滿足條件分為:

(1) 域約束:限制指定列的取值及範圍;

(2) 主碼約束:定義每個關係的主碼值不空,且惟一;

(3) 引用完整性約束:定義不同模式的屬性間滿足的條件,及一個關係模式中屬性間可能滿足的條件;

5.4.4 安全模式和外模式的設計

1、 根據選定的DBMS支援的安全控制特徵來確定;

2、 根據不同使用者對資料庫存取特點定義相關的外模式;