數(shù)據(jù)庫系統(tǒng)原理課后題答案_第1頁
數(shù)據(jù)庫系統(tǒng)原理課后題答案_第2頁
數(shù)據(jù)庫系統(tǒng)原理課后題答案_第3頁
數(shù)據(jù)庫系統(tǒng)原理課后題答案_第4頁
數(shù)據(jù)庫系統(tǒng)原理課后題答案_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)庫原理及應(yīng)用復(fù)習(xí)重點(diǎn)第一章 數(shù)據(jù)庫系統(tǒng)基本概念要求、目標(biāo):了解和掌握數(shù)據(jù)管理技術(shù)的發(fā)展階段,數(shù)據(jù)描述的術(shù)語,數(shù)據(jù)抽象的四個(gè)級(jí)別,數(shù)據(jù)庫管理系統(tǒng)的功能,數(shù)據(jù)庫系統(tǒng)的組成。一、 數(shù)據(jù)管理技術(shù)的發(fā)展1 分為四個(gè)階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫階段和高級(jí)數(shù)據(jù)庫階段。2 數(shù)據(jù)庫階段數(shù)據(jù)管理的特點(diǎn):1) 采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。2) 有較高的數(shù)據(jù)獨(dú)立性。3) 數(shù)據(jù)庫系統(tǒng)為用戶提供了方便的用戶接口。4) 提供四方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫的恢復(fù)、數(shù)據(jù)庫的并發(fā)控制、數(shù)據(jù)的完整性、數(shù)據(jù)安全性。5) 增加了系統(tǒng)的靈活性。3 數(shù)據(jù)庫(DB):是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合

2、。4 數(shù)據(jù)庫管理系統(tǒng)(DBMS):是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問DB的方法,包括DB的建立、查詢、更新及各種數(shù)據(jù)控制。5 數(shù)據(jù)庫系統(tǒng)(DBS):是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計(jì)算機(jī)硬件、軟件和數(shù)據(jù)資源組成的系統(tǒng),即它是采用數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)。二、 數(shù)據(jù)描述1 分為三個(gè)階段:概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。2 概念設(shè)計(jì)中的術(shù)語:1) 實(shí)體:客觀存在,可以相互區(qū)別的事物稱為實(shí)體。2) 實(shí)體集:性質(zhì)相同的同類實(shí)體的集合。3) 屬性:實(shí)體有很多特性,每一個(gè)特性稱為屬性。4) 實(shí)體標(biāo)識(shí)符(關(guān)鍵碼或鍵):能惟一標(biāo)識(shí)實(shí)體的屬性或?qū)傩约?。以?/p>

3、概念均有類型和值之分。3 邏輯設(shè)計(jì)中的術(shù)語:1) 字段(數(shù)據(jù)項(xiàng)):標(biāo)記實(shí)體屬性的命名單位稱為字段或數(shù)據(jù)項(xiàng)。2) 記錄:字段的有序集合。3) 文件:同一類記錄的集合。4) 關(guān)鍵碼:能惟一標(biāo)識(shí)文件中每個(gè)記錄的字段或字段集。以上概念均有類型和值之分。4 概念設(shè)計(jì)和邏輯設(shè)計(jì)中術(shù)語的對(duì)應(yīng)關(guān)系:概念設(shè)計(jì) 邏輯設(shè)計(jì) 實(shí)體 記錄屬性 字段(數(shù)據(jù)項(xiàng))實(shí)體集 文件實(shí)體標(biāo)識(shí)符 關(guān)鍵碼5 實(shí)體之間聯(lián)系的元數(shù):與一個(gè)聯(lián)系有關(guān)的實(shí)體集個(gè)數(shù)。常用二元聯(lián)系。二元聯(lián)系的類型有三種:一對(duì)一聯(lián)系、一對(duì)多聯(lián)系、多對(duì)多聯(lián)系。6 一對(duì)一聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體至多和實(shí)體集E2中的一個(gè)實(shí)體有聯(lián)系,反之亦然,那么實(shí)體集E1和E2的聯(lián)系

4、稱為“一對(duì)一聯(lián)系”,記為“1:1”。7 一對(duì)多聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體與實(shí)體集E2中任意個(gè)(零個(gè)或多個(gè))實(shí)體間有聯(lián)系,而E2中每個(gè)實(shí)體至多和E1中一個(gè)實(shí)體有聯(lián)系,那么稱E1對(duì)E2的聯(lián)系是“一對(duì)多聯(lián)系”,記為“1:N”。8 多對(duì)多聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體可以與實(shí)體集E2中任意個(gè)(零個(gè)或多個(gè))實(shí)體間有聯(lián)系,反之亦然,那么稱E1和E2的聯(lián)系是“多對(duì)多聯(lián)系”,記為“M:N”。三、 數(shù)據(jù)抽象的級(jí)別1 數(shù)據(jù)模型:描述數(shù)據(jù)庫的結(jié)構(gòu)和定義,對(duì)現(xiàn)實(shí)世界的數(shù)據(jù)進(jìn)行抽象。2 從現(xiàn)實(shí)世界的信息到數(shù)據(jù)庫存儲(chǔ)的數(shù)據(jù)以及用戶使用的數(shù)據(jù)是一個(gè)逐步抽象過程,根據(jù)數(shù)據(jù)抽象的級(jí)別定義了四種模型:概念模型、邏輯模型、外部

5、模型和內(nèi)部模型。3 概念模型:表達(dá)用戶需求觀點(diǎn)的數(shù)據(jù)全局邏輯結(jié)構(gòu)的模型。4 邏輯模型:表達(dá)計(jì)算機(jī)實(shí)現(xiàn)觀點(diǎn)的DB全局邏輯結(jié)構(gòu)的模型。5 外部模型:表達(dá)用戶使用觀點(diǎn)的DB局部邏輯結(jié)構(gòu)的模型。6 內(nèi)部模型:表達(dá)DB物理結(jié)構(gòu)的模型。7 數(shù)據(jù)抽象的過程、即數(shù)據(jù)庫設(shè)計(jì)的過程具體步驟:1) 根據(jù)用戶需求,設(shè)計(jì)數(shù)據(jù)庫的概念模型;2) 根據(jù)轉(zhuǎn)換規(guī)則,把概念模型轉(zhuǎn)換成數(shù)據(jù)庫的邏輯模型;3) 根據(jù)用戶的業(yè)務(wù)特點(diǎn),設(shè)計(jì)不同的外部模型,給程序員使用;4) 數(shù)據(jù)庫實(shí)現(xiàn)時(shí),要根據(jù)邏輯模型設(shè)計(jì)其內(nèi)部模型。通常分為概念設(shè)計(jì)、邏輯設(shè)計(jì)(2和3步)和物理設(shè)計(jì)三個(gè)階段。8 常用的概念模型是實(shí)體聯(lián)系(ER)模型,ER模型主要用ER圖來

6、表示。9 邏輯模型的分類:層次模型、網(wǎng)狀模型、關(guān)系模型等。10 層次模型:用樹型(層次)結(jié)構(gòu)表示實(shí)體及實(shí)體間聯(lián)系的數(shù)據(jù)模型。11 1969年,美國IBM公司的IMS系統(tǒng)是典型的層次模型系統(tǒng)。12 網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實(shí)體及實(shí)體間聯(lián)系的數(shù)據(jù)模型。13 1969年,CODASYL組織提出DBTG報(bào)告中的數(shù)據(jù)模型是網(wǎng)狀模型的主要代表。14 關(guān)系模型:是由若干個(gè)關(guān)系模式組成的集合。關(guān)系模式即記錄類型,它的實(shí)例稱為關(guān)系,每個(gè)關(guān)系實(shí)際上是一張二維表格。15 1970年,美國IBM公司的E.F.Codd連續(xù)發(fā)表論文,提出關(guān)系模型,奠定了關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)。關(guān)系數(shù)據(jù)庫是目前的主流數(shù)據(jù)庫。16 外部模型

7、中的模式稱為視圖。17 三級(jí)模式:從用戶(或應(yīng)用程序)到數(shù)據(jù)庫之間,DB的數(shù)據(jù)結(jié)構(gòu)描述有三個(gè)層次:1)外模式:用戶與數(shù)據(jù)庫系統(tǒng)的接口,是用戶用到的那部分?jǐn)?shù)據(jù)的描述。外模式由若干個(gè)記錄類型組成。2)邏輯模式:是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。3)內(nèi)模式:是數(shù)據(jù)庫在物理存儲(chǔ)方面的描述。注意:外模式是邏輯模式的子集。18 兩級(jí)映像:1)外模式/邏輯模式映像:存在于外模式和邏輯模式之間,用于定義外模式和邏輯模式之間的對(duì)應(yīng)性。2)邏輯模式/內(nèi)模式映像:存在于邏輯模式和內(nèi)模式之間,用于定義邏輯模式和內(nèi)模式之間的對(duì)應(yīng)性。19 數(shù)據(jù)庫系統(tǒng)的三級(jí)模式、兩級(jí)映像結(jié)構(gòu)使數(shù)據(jù)庫系統(tǒng)達(dá)到了高度的數(shù)據(jù)獨(dú)立性。20

8、數(shù)據(jù)獨(dú)立性:是指應(yīng)用程序與數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,在修改數(shù)據(jù)結(jié)構(gòu)時(shí),盡可能不修改應(yīng)用程序。分為邏輯數(shù)據(jù)獨(dú)立性和物理數(shù)據(jù)獨(dú)立性。21 邏輯數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫的邏輯模式要修改,那么只要對(duì)外模式/邏輯模式映像作相應(yīng)的修改,可以使外模式和應(yīng)用程序盡可能保持不變。這樣就認(rèn)為數(shù)據(jù)庫達(dá)到了邏輯數(shù)據(jù)獨(dú)立性。22 物理數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫的內(nèi)模式要修改,即數(shù)據(jù)庫的物理結(jié)構(gòu)有所變化,那么只要對(duì)邏輯模式/內(nèi)模式映像作相應(yīng)的修改,可以使邏輯模式盡可能保持不變。也就是對(duì)內(nèi)模式的修改盡量不影響邏輯模式,當(dāng)然對(duì)外模式和應(yīng)用程序的影響更小,這樣就認(rèn)為數(shù)據(jù)庫達(dá)到了物理數(shù)據(jù)獨(dú)立性。四、 數(shù)據(jù)庫管理系統(tǒng)(DBMS)1D

9、BMS的主要功能:數(shù)據(jù)庫的定義功能(DBMS提供DDL定義數(shù)據(jù)庫的三級(jí)模式、兩級(jí)映像等)、數(shù)據(jù)庫的操縱功能(DBMS提供DML實(shí)現(xiàn)對(duì)數(shù)據(jù)的操作,基本的數(shù)據(jù)操作有檢索和更新兩類)、數(shù)據(jù)庫的保護(hù)功能、數(shù)據(jù)庫的維護(hù)功能、數(shù)據(jù)字典。五、 數(shù)據(jù)庫系統(tǒng)(DBS)1DBS的組成:是數(shù)據(jù)庫、硬件、軟件和數(shù)據(jù)庫管理員的集合體。2軟件包括DBMS、OS、各種主語言和應(yīng)用開發(fā)支撐軟件等程序。其中,DBMS是DBS的核心軟件,要在OS支持下才能工作。3數(shù)據(jù)庫管理員(DBA):是控制數(shù)據(jù)整體結(jié)構(gòu)的一組人員,負(fù)責(zé)DBS的正常運(yùn)行,承擔(dān)創(chuàng)建、監(jiān)控和維護(hù)數(shù)據(jù)庫結(jié)構(gòu)的責(zé)任。第一章 復(fù)習(xí)題一、單項(xiàng)選擇題1在數(shù)據(jù)庫系統(tǒng)中,當(dāng)數(shù)據(jù)庫

10、的內(nèi)模式發(fā)生改變時(shí),應(yīng)用程序也可以不變。這是( A )A) 物理數(shù)據(jù)獨(dú)立性 B)邏輯數(shù)據(jù)獨(dú)立性C) 位置數(shù)據(jù)獨(dú)立性 D)存儲(chǔ)數(shù)據(jù)獨(dú)立性2在下面列出的數(shù)據(jù)模型中,哪一個(gè)是概念數(shù)據(jù)模型( D )A)關(guān)系模型 B) 層次模型 C) 網(wǎng)狀模型 D) 實(shí)體-聯(lián)系模型3. 下面列出的數(shù)據(jù)管理技術(shù)發(fā)展階段中,哪個(gè)(些)階段數(shù)據(jù)不能保存在計(jì)算機(jī)中?( A ).人工管理階段.文件系統(tǒng)階段.數(shù)據(jù)庫階段A) 只有 B) 只有 C) 和 D) 和4. 用二維表結(jié)構(gòu)表示實(shí)體以及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為( C )A) 網(wǎng)狀模型 B) 層次模型 C) 關(guān)系模型 D) 實(shí)體-聯(lián)系模型5. 下面列出的條目中,哪些是數(shù)據(jù)庫技術(shù)的

11、主要特點(diǎn)( A ).數(shù)據(jù)共享度高.數(shù)據(jù)的冗余小.較高的數(shù)據(jù)獨(dú)立性.程序的標(biāo)準(zhǔn)化A) 、和 B) 和 C) 、和 D) 都是6. 數(shù)據(jù)庫管理系統(tǒng)DBMS中用來定義邏輯模式、內(nèi)模式和外模式的語言是( C )A) DML B)C C)DDL D)Basic7. 層次模型的典型代表是( A )數(shù)據(jù)庫管理系統(tǒng)。A) IMS B)IBM C)DBTG D)ATM8. 負(fù)責(zé)數(shù)據(jù)庫系統(tǒng)的正常運(yùn)行,承擔(dān)創(chuàng)建、監(jiān)控和維護(hù)數(shù)據(jù)庫結(jié)構(gòu)責(zé)任的是( C )A) 應(yīng)用程序員 B)終端用戶 C)數(shù)據(jù)庫管理員 D)數(shù)據(jù)庫管理系統(tǒng)的軟件設(shè)計(jì)員9. 在以下各條敘述中,正確的敘述有幾條( B )1) 數(shù)據(jù)庫避免了一切數(shù)據(jù)重復(fù)2) 數(shù)

12、據(jù)庫減少了數(shù)據(jù)冗余3) 數(shù)據(jù)庫中,如果邏輯模式改變,則需將與其有關(guān)的外模式做相應(yīng)改變,否則應(yīng)用程序需改寫4) 數(shù)據(jù)庫中的內(nèi)模式如有改變,邏輯模式可以不變A) 1 B)2 C)3 D)410. 在三級(jí)模式之間引入兩級(jí)映像,其主要功能之一是( A )A) 使數(shù)據(jù)與程序具有較高的獨(dú)立性B) 使系統(tǒng)具有較高的通道能力C) 保持?jǐn)?shù)據(jù)與程序的一致性D)提高存儲(chǔ)空間的利用率11. 視圖對(duì)應(yīng)于數(shù)據(jù)庫系統(tǒng)三級(jí)模式結(jié)構(gòu)中的( A )A) 外模式 B)邏輯模式 C)內(nèi)模式D)都不對(duì)應(yīng)12. 對(duì)數(shù)據(jù)庫中數(shù)據(jù)可以進(jìn)行查詢、插入、刪除、修改,這是因?yàn)閿?shù)據(jù)庫管理系統(tǒng)提供了( B )A) 數(shù)據(jù)庫定義功能 B)數(shù)據(jù)庫操縱功能C

13、)數(shù)據(jù)庫維護(hù)功能 D)數(shù)據(jù)庫控制功能13. 1970年,美國IBM公司研究員E.F.Codd提出了數(shù)據(jù)庫的( C )A) 層次模型 B)網(wǎng)狀模型 C)關(guān)系模型 D)實(shí)體聯(lián)系模型14. 具有數(shù)據(jù)冗余度小、數(shù)據(jù)共享、以及較高數(shù)據(jù)獨(dú)立性等特征的系統(tǒng)是( B )A) 文件系統(tǒng) B)數(shù)據(jù)庫系統(tǒng) C)管理系統(tǒng) D)高級(jí)程序15. 在概念設(shè)計(jì)中的事物稱為( A )A) 實(shí)體 B)記錄 C)對(duì)象 D)結(jié)點(diǎn)16. 層次模型表達(dá)實(shí)體及實(shí)體之間聯(lián)系用的數(shù)據(jù)結(jié)構(gòu)是( D )A) 網(wǎng)狀 B)表 C)有向圖 D)樹型17. DB是( A )A) 數(shù)據(jù)庫 B)數(shù)據(jù)庫管理系統(tǒng) C)數(shù)據(jù)處理系統(tǒng) D)數(shù)據(jù)庫系統(tǒng)18. DBMS

14、是( B )A) 數(shù)據(jù)庫 B)數(shù)據(jù)庫管理系統(tǒng) C)數(shù)據(jù)處理系統(tǒng) D)數(shù)據(jù)庫系統(tǒng)19. 已知在一個(gè)工廠中有多個(gè)車間,每一個(gè)車間有多名職工,工廠的產(chǎn)品要經(jīng)過多個(gè)車間的多道工序加工。具體來說,一個(gè)產(chǎn)品要經(jīng)過多個(gè)工人加工,一位工人要加工多個(gè)產(chǎn)品。問:工廠與車間之間屬于( A )聯(lián)系,車間與工人之間屬于( A )聯(lián)系,工人與產(chǎn)品之間屬于( D )聯(lián)系。A) 一對(duì)多 B)一對(duì)一 C)未知 D)多對(duì)多20. ( D )是存儲(chǔ)在計(jì)算機(jī)內(nèi)的有結(jié)構(gòu)的數(shù)據(jù)集合。A) 網(wǎng)絡(luò)系統(tǒng) B)數(shù)據(jù)庫系統(tǒng) C)操作系統(tǒng) D)數(shù)據(jù)庫21. 數(shù)據(jù)庫系統(tǒng)的核心是( D )A) 編譯系統(tǒng) B)數(shù)據(jù)庫 C)操作系統(tǒng) D)數(shù)據(jù)庫管理系統(tǒng)22

15、. 數(shù)據(jù)庫(DB)、數(shù)據(jù)庫系統(tǒng)(DBS)和數(shù)據(jù)庫管理系統(tǒng)(DBMS)三者之間的關(guān)系是( A )A) DBS包括DB和DBMS B)DBMS包括DB和DBSC)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS23. 數(shù)據(jù)庫管理系統(tǒng)(DBMS)是( B )A) 一組硬件 B)一組軟件 C)既有硬件,也有軟件24. 在DBS中,DBMS和OS之間關(guān)系是( B )A) 相互調(diào)用 B)DBMS調(diào)用OSC)OS調(diào)用DBMS D)并發(fā)運(yùn)行25. 數(shù)據(jù)庫系統(tǒng)是在( A )的基礎(chǔ)上發(fā)展起來的。A) 文件系統(tǒng) B)應(yīng)用程序系統(tǒng)C)數(shù)據(jù)庫管理系統(tǒng) D)編譯系統(tǒng)26. 三級(jí)模式間存在兩種映射,它們是( A

16、 )A) 邏輯模式與外模式間,邏輯模式與內(nèi)模式間B) 外模式與內(nèi)模式間,外模式與邏輯模式間C) 內(nèi)模式與外模式間,內(nèi)模式與邏輯模式間27. 表達(dá)用戶使用觀點(diǎn)的數(shù)據(jù)庫局部邏輯結(jié)構(gòu)的模型是( C )A) 概念模型 B)邏輯模型C)外部模型 D)內(nèi)部模型二、填空題1數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了如下四個(gè)階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫階段和高級(jí)數(shù)據(jù)庫階段。2用二維表結(jié)構(gòu)表示的實(shí)體及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。3兩個(gè)實(shí)體集之間的聯(lián)系有三種,分別是一對(duì)一聯(lián)系,一對(duì)多聯(lián)系和多對(duì)多聯(lián)系。4如果實(shí)體集E1中每個(gè)實(shí)體至多和實(shí)體集E2中的一個(gè)實(shí)體有聯(lián)系,反之亦然,那么實(shí)體集E1和E2的聯(lián)系稱為一對(duì)一聯(lián)系。

17、5數(shù)據(jù)庫系統(tǒng)的三級(jí)模式、兩級(jí)映像結(jié)構(gòu)使數(shù)據(jù)庫系統(tǒng)達(dá)到了高度的數(shù)據(jù)獨(dú)立性。第二章 數(shù)據(jù)庫設(shè)計(jì)和ER模型要求、目標(biāo):了解和掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)的全過程,掌握ER模型和關(guān)系模型的基本概念,掌握概念設(shè)計(jì)中ER模型的設(shè)計(jì)方法,掌握邏輯設(shè)計(jì)中ER模型向關(guān)系模型轉(zhuǎn)換的方法。一、數(shù)據(jù)庫系統(tǒng)生存期1數(shù)據(jù)庫系統(tǒng)生存期:數(shù)據(jù)庫應(yīng)用系統(tǒng)從開始規(guī)劃、設(shè)計(jì)、實(shí)現(xiàn)、維護(hù)到最后被新的系統(tǒng)取代而停止使用的整個(gè)期間。2數(shù)據(jù)庫系統(tǒng)生存期分七個(gè)階段:規(guī)劃、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、實(shí)現(xiàn)、運(yùn)行維護(hù)。3規(guī)劃階段三個(gè)步驟:系統(tǒng)調(diào)查、可行性分析、確定數(shù)據(jù)庫系統(tǒng)總目標(biāo)。4需求分析階段:主要任務(wù)是系統(tǒng)分析員和用戶雙方共同收集數(shù)據(jù)

18、庫系統(tǒng)所需要的信息內(nèi)容和用戶對(duì)處理的需求,并以需求說明書的形式確定下來。5概念設(shè)計(jì)階段:產(chǎn)生反映用戶單位信息需求的概念模型。與硬件和DBMS無關(guān)。6邏輯設(shè)計(jì)階段:將概念模型轉(zhuǎn)換成DBMS能處理的邏輯模型。外模型也將在此階段完成。7物理設(shè)計(jì)階段:對(duì)于給定的基本數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程。數(shù)據(jù)庫的物理結(jié)構(gòu)主要指數(shù)據(jù)庫的存儲(chǔ)記錄格式、存儲(chǔ)記錄安排和存取方法。8數(shù)據(jù)庫的實(shí)現(xiàn):包括定義數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)裝載、編制與調(diào)試應(yīng)用程序、數(shù)據(jù)庫試運(yùn)行。二、ER模型的基本概念1 ER模型的基本元素是:實(shí)體、聯(lián)系和屬性。2 實(shí)體:是一個(gè)數(shù)據(jù)對(duì)象,指應(yīng)用中可以區(qū)別的客觀存在的事物。實(shí)體集:是指同一類實(shí)

19、體構(gòu)成的集合。實(shí)體類型:是對(duì)實(shí)體集中實(shí)體的定義。一般將實(shí)體、實(shí)體集、實(shí)體類型統(tǒng)稱為實(shí)體。3 聯(lián)系:表示一個(gè)或多個(gè)實(shí)體之間的關(guān)聯(lián)關(guān)系。聯(lián)系集:是指同一類聯(lián)系構(gòu)成的集合。聯(lián)系類型:是對(duì)聯(lián)系集中聯(lián)系的定義。一般將聯(lián)系、聯(lián)系集、聯(lián)系類型統(tǒng)稱為聯(lián)系。4 同一個(gè)實(shí)體集內(nèi)部實(shí)體之間的聯(lián)系,稱為一元聯(lián)系;兩個(gè)不同實(shí)體集實(shí)體之間的聯(lián)系,稱為二元聯(lián)系,以此類推。5 屬性:實(shí)體的某一特性稱為屬性。在一個(gè)實(shí)體中,能夠惟一標(biāo)識(shí)實(shí)體的屬性或?qū)傩约Q為實(shí)體標(biāo)識(shí)符。6 ER模型中,方框表示實(shí)體、菱形框表示聯(lián)系、橢圓形框表示屬性、實(shí)體與聯(lián)系、實(shí)體與其屬性、聯(lián)系與其屬性之間用直線連接。實(shí)體標(biāo)識(shí)符下畫橫線。聯(lián)系的類型要在直線上標(biāo)注

20、。注意:聯(lián)系也有可能存在屬性,但聯(lián)系本身沒有標(biāo)識(shí)符。例:假設(shè)一個(gè)學(xué)生可選多門課程,而一門課程又有多個(gè)學(xué)生選修,一個(gè)教師可講多門課程,一門課程至多只有一個(gè)教師講授。ER圖如下:7 概念設(shè)計(jì)三個(gè)步驟:設(shè)計(jì)局部ER模型、設(shè)計(jì)全局ER模型和全局ER模型的優(yōu)化。三、關(guān)系模型的基本概念1關(guān)系模型的定義:用二維表格表示實(shí)體集,用關(guān)鍵碼表示實(shí)體之間聯(lián)系的數(shù)據(jù)模型。2在關(guān)系模型中,字段稱為屬性,字段值稱為屬性值,記錄類型稱為關(guān)系模式。記錄稱為元組,元組的集合稱為關(guān)系或?qū)嵗S袝r(shí)習(xí)慣稱關(guān)系為表或表格,元組為行,屬性為列。關(guān)系中屬性個(gè)數(shù)稱為元數(shù),元組個(gè)數(shù)稱為基數(shù)。3關(guān)鍵碼(簡稱鍵):由一個(gè)或多個(gè)屬性組成。4超鍵:在

21、關(guān)系中能惟一標(biāo)識(shí)元組的屬性集稱為關(guān)系模式的超鍵。5候選鍵:不含有多余屬性的超鍵。6主鍵:用戶選作元組標(biāo)識(shí)的候選鍵。一般如不加說明,鍵是指主鍵。7外鍵:如果模式R中屬性集K是其他模式的主鍵,那么K在模式R中稱為外鍵。8值域:關(guān)系中每一個(gè)屬性都有一個(gè)取值范圍,稱為屬性的值域。每一個(gè)屬性對(duì)應(yīng)一個(gè)值域,不同的屬性可對(duì)應(yīng)于同一值域。9關(guān)系的定義:關(guān)系是一個(gè)屬性數(shù)目相同的元組的集合。10關(guān)系的性質(zhì):關(guān)系是一種規(guī)范化了的二維表格。1)關(guān)系中每一個(gè)屬性值都是不可分解的;2)關(guān)系中不允許出現(xiàn)重復(fù)元組;3)關(guān)系沒有行序;4)元組中的屬性在理論上也是無序的,但使用時(shí)按習(xí)慣考慮列的順序。11關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)與更新操

22、作必須遵循三類完整性規(guī)則:實(shí)體完整性規(guī)則、參照完整性規(guī)則、用戶定義的完整性規(guī)則。12實(shí)體完整性規(guī)則:要求關(guān)系中元組在組成主鍵的屬性上不能有空值。13參照完整性規(guī)則:如果屬性集K是關(guān)系模式R1的主鍵,K也是關(guān)系模式R2的外鍵,那么在R2關(guān)系中,K的取值只允許兩種可能,或者為空值,或者等于R1關(guān)系中某個(gè)主鍵值。這條規(guī)則的實(shí)質(zhì)是“不允許引用不存在的實(shí)體”。其中,R1稱為參照關(guān)系;R2稱為依賴關(guān)系。注意:這條規(guī)則在具體使用時(shí),有三點(diǎn)變通:1)外鍵和相應(yīng)的主鍵可以不同名,只要定義在相同值域上即可;2)R1和R2可以是同一個(gè)關(guān)系模式,此時(shí)表示了同一個(gè)關(guān)系中不同元組之間的聯(lián)系;3)外鍵值是否允許空,應(yīng)視具體

23、問題而定。14用戶定義的完整性規(guī)則:用戶針對(duì)具體的數(shù)據(jù)約束,設(shè)置的完整性規(guī)則,由系統(tǒng)來檢驗(yàn)實(shí)施。四、ER模型到關(guān)系模型的轉(zhuǎn)換1ER圖轉(zhuǎn)換成關(guān)系模式集的算法:1)實(shí)體類型的轉(zhuǎn)換:將每個(gè)實(shí)體類型轉(zhuǎn)換成一個(gè)關(guān)系模式,實(shí)體的屬性即為關(guān)系模式的屬性,實(shí)體標(biāo)識(shí)符即為關(guān)系模式的鍵。2)聯(lián)系類型的轉(zhuǎn)換:主要掌握二元聯(lián)系類型的轉(zhuǎn)換。a) 若實(shí)體間聯(lián)系是1:1,可以在兩個(gè)實(shí)體類型轉(zhuǎn)換成的關(guān)系模式中任意一個(gè)關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的鍵(作為外鍵)和聯(lián)系類型的屬性。b) 若實(shí)體間聯(lián)系是1:N,則在N端實(shí)體類型轉(zhuǎn)換成的關(guān)系模式中加入1端實(shí)體類型的鍵(作為外鍵)和聯(lián)系類型的屬性。c) 若實(shí)體間聯(lián)系是M:N,則將

24、聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實(shí)體類型的鍵(作為外鍵)加上聯(lián)系類型的屬性,而鍵為兩端實(shí)體鍵的組合。例:下面是教學(xué)管理的一個(gè)可能的ER圖。圖中,有三個(gè)實(shí)體類型:系、教師和課程;有四個(gè)聯(lián)系類型:主管、聘用、開設(shè)和任教。根據(jù)轉(zhuǎn)換算法,把該圖轉(zhuǎn)換成關(guān)系模式集的步驟如下:MN1111系系編號(hào)系名電話主管開設(shè)聘用教師課程任教學(xué)分姓名性別教工號(hào)職稱教材課程號(hào)課程名NN教學(xué)管理的ER圖聘期第一步:把三個(gè)實(shí)體類型轉(zhuǎn)換成三個(gè)關(guān)系模式(注意關(guān)系模式的表示方法):系(系編號(hào),系名,電話)教師(教工號(hào),姓名,性別,職稱)課程(課程號(hào),課程名,學(xué)分)第二步:對(duì)于1:1聯(lián)系,可以在“系”模式中加入教工號(hào)(教工號(hào)為外

25、鍵)。對(duì)于1:N聯(lián)系“聘用”,可以在“教師”模式中加入系編號(hào)和聘期兩個(gè)屬性(系編號(hào)為外鍵);對(duì)于1:N聯(lián)系“開設(shè)”,可以在“課程”模式中加入系編號(hào)(系編號(hào)為外鍵)。這樣第一步得到的三個(gè)模式改變成如下形式(注意:外鍵通常使用波浪線表示):系(系編號(hào),系名,電話,主管人的教工號(hào))教師(教工號(hào),姓名,性別,職稱,系編號(hào),聘期)課程(課程號(hào),課程名,學(xué)分,系編號(hào))第三步:對(duì)于M:N聯(lián)系“任教”,則生成一個(gè)新的關(guān)系模式:任教(教工號(hào),課程號(hào),教材)這樣,轉(zhuǎn)換成的四個(gè)關(guān)系模式如下:系(系編號(hào),系名,電話,主管人的教工號(hào))教師(教工號(hào),姓名,性別,職稱,系編號(hào),聘期)課程(課程號(hào),課程名,學(xué)分,系編號(hào))任教

26、(教工號(hào),課程號(hào),教材)2采用ER模型的邏輯設(shè)計(jì)步驟1)導(dǎo)出初始關(guān)系模式集:把概念設(shè)計(jì)的結(jié)果(即全局ER模型)轉(zhuǎn)換成初始關(guān)系模式集。2)規(guī)范化處理3)模式評(píng)價(jià)4)模式修正5)設(shè)計(jì)外模式第二章 復(fù)習(xí)題一、單項(xiàng)選擇題1下面對(duì)于關(guān)系的敘述中,哪個(gè)是不正確的?( C )A)關(guān)系中的每個(gè)屬性是不可分解的B) 在關(guān)系中元組的順序是無關(guān)緊要的C) 任意的一個(gè)二維表都是一個(gè)關(guān)系D)每一個(gè)關(guān)系只有一種記錄類型2設(shè)屬性A是關(guān)系R的主鍵,則屬性A不能取空值。這是( A )A)實(shí)體完整性規(guī)則 B) 參照完整性規(guī)則C)用戶定義完整性規(guī)則 D) 域完整性規(guī)則3對(duì)關(guān)系數(shù)據(jù)庫來講,下面( C )說法是錯(cuò)誤的A)外鍵和相應(yīng)的主

27、鍵可以不同名,只要定義在相同值域上即可B)不同的屬性可對(duì)應(yīng)于同一值域C)行的順序可以任意交換,但列的順序不能任意交換D) 關(guān)系中的任意兩個(gè)元組不能完全相同4數(shù)據(jù)庫的物理設(shè)計(jì)是為一個(gè)給定的邏輯結(jié)構(gòu)選取一個(gè)適合應(yīng)用環(huán)境的( B )的過程,包括確定數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法。A) 邏輯結(jié)構(gòu) B)物理結(jié)構(gòu) C)概念結(jié)構(gòu) D)層次結(jié)構(gòu)5在關(guān)系中,能惟一標(biāo)識(shí)元組的屬性集稱為( B )。A)外鍵 B)超鍵 C)域 D)元組6在數(shù)據(jù)庫邏輯設(shè)計(jì)中,當(dāng)將E-R圖轉(zhuǎn)換為關(guān)系模式時(shí),下面的做法( B )是不正確的A)一個(gè)實(shí)體類型轉(zhuǎn)換為一個(gè)關(guān)系模式B)一個(gè)聯(lián)系類型轉(zhuǎn)換為一個(gè)關(guān)系模式C)由實(shí)體類型轉(zhuǎn)換成的關(guān)系

28、模式的主鍵是該實(shí)體類型的主鍵7數(shù)據(jù)庫設(shè)計(jì)的概念設(shè)計(jì)階段,表示概念結(jié)構(gòu)的常用方法和描述工具是( D )A)層次分析法和層次結(jié)構(gòu)圖B)數(shù)據(jù)流程分析法和數(shù)據(jù)流程C)結(jié)構(gòu)分析法和模塊結(jié)構(gòu)圖D)實(shí)體聯(lián)系方法和ER圖8關(guān)系數(shù)據(jù)庫中,實(shí)現(xiàn)表與表之間的聯(lián)系是通過( B )A) 實(shí)體完整性規(guī)則 B)參照完整性規(guī)則C)用戶定義的完整性 D)值域9有兩個(gè)實(shí)體集,并且它們之間存在著一個(gè)M:N聯(lián)系,那么按照ER模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫的規(guī)則,這個(gè)ER結(jié)構(gòu)轉(zhuǎn)換成表的個(gè)數(shù)為( C )A) 1 B)2 C)3 D)410把E-R圖轉(zhuǎn)換為關(guān)系模型的過程,屬于數(shù)據(jù)庫設(shè)計(jì)的( B )A) 概念設(shè)計(jì) B)邏輯設(shè)計(jì) C)需求分析 D)物理

29、設(shè)計(jì)11在數(shù)據(jù)庫設(shè)計(jì)的( D )階段,進(jìn)行應(yīng)用程序的編制和調(diào)試。A) 概念設(shè)計(jì) B)邏輯設(shè)計(jì) C)物理設(shè)計(jì) D)實(shí)現(xiàn)12EMP 雇員號(hào)雇員名部門號(hào)工資001張山022000010王宏達(dá)011200056馬林生021000101趙敏041500DEPT部門號(hào)部門名地址01業(yè)務(wù)部1號(hào)樓02銷售部2號(hào)樓03服務(wù)部3號(hào)樓04財(cái)務(wù)部4號(hào)樓在雇員信息表關(guān)系EMP中,哪個(gè)屬性是外鍵?( C )A) 雇員號(hào) B) 雇員名 C) 部門號(hào) D) 工資二、填空題1表示實(shí)體及其聯(lián)系的方法為ER圖,基本圖素包括方框、菱形框和橢圓形框。習(xí)慣上實(shí)體用方框表示,實(shí)體的屬性用橢圓形框表示,聯(lián)系用菱形框表示。2在關(guān)系模型中,二維

30、表的列稱為屬性,二維表的行稱為元組。3假設(shè)班級(jí)和班長之間的聯(lián)系是一對(duì)一聯(lián)系,則班級(jí)和學(xué)生之間是一對(duì)多聯(lián)系;另外,學(xué)生和課程之間的聯(lián)系是多對(duì)多聯(lián)系。4關(guān)系模型的三種完整性規(guī)則是實(shí)體完整性規(guī)則、參照完整性規(guī)則和用戶定義的完整性規(guī)則。5已知系(系編號(hào),系名稱,系主任,電話,地點(diǎn))和學(xué)生(學(xué)號(hào),姓名,性別,入學(xué)日期,專業(yè),系編號(hào))兩個(gè)關(guān)系,系關(guān)系的主鍵是系編號(hào),學(xué)生關(guān)系的主鍵是學(xué)號(hào),外鍵是系編號(hào)。6數(shù)據(jù)庫系統(tǒng)生存期分七個(gè)階段:規(guī)劃、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、實(shí)現(xiàn)、運(yùn)行維護(hù)。7關(guān)系中屬性個(gè)數(shù)稱為元數(shù),元組個(gè)數(shù)稱為基數(shù)。三、綜合題1設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫中有三個(gè)實(shí)體集。一是“商店”實(shí)體集,屬性有

31、商店編號(hào)、商店名、地址等;二是“商品”實(shí)體集,屬性有商品號(hào)、商品名、規(guī)格、單價(jià)等;三是“職工”實(shí)體集,屬性有職工編號(hào)、姓名、性別、業(yè)績等。商店與商品間存在“銷售”聯(lián)系,每個(gè)商店可銷售多種商品,每種商品也可放在多個(gè)商店銷售,每個(gè)商店每銷售一種商品,有月銷售量;商店與職工間存在著“聘用”聯(lián)系,每個(gè)商店有許多職工,每個(gè)職工只能在一個(gè)商店工作,商店聘用職工有聘期和月薪。試畫出ER圖,并在圖上注明屬性、聯(lián)系的類型。再轉(zhuǎn)換成關(guān)系模式集,并指出每個(gè)關(guān)系模式的主鍵和外鍵。1NMN商店商品職工姓名職工編號(hào)聘期性別業(yè)績?cè)落N售量商店名地址商店編號(hào)單價(jià)商品名規(guī)格商品號(hào)銷售聘用月薪關(guān)系模式集:商店(商店編號(hào),商店名,地

32、址)商品(商品號(hào),商品名,規(guī)格,單價(jià))職工(職工編號(hào),姓名,性別,業(yè)績,商店編號(hào),月薪,聘期)銷售(商店編號(hào),商品編號(hào),月銷售量)2設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫中有三個(gè)實(shí)體集。一是“公司”實(shí)體集,屬性有公司編號(hào)、公司名、地址等;二是“倉庫”實(shí)體集,屬性有倉庫編號(hào)、倉庫名、地址等;三是“職工”實(shí)體集,屬性有職工編號(hào)、姓名、性別等。公司與倉庫間存在“隸屬”聯(lián)系,每個(gè)公司管轄若干倉庫,每個(gè)倉庫只能屬于一個(gè)公司管轄;倉庫與職工間存在“聘用”聯(lián)系,每個(gè)倉庫可聘用多個(gè)職工,每個(gè)職工只能在一個(gè)倉庫工作,倉庫聘用職工有聘期和工資。試畫出ER圖,并在圖上注明屬性、聯(lián)系的類型。再轉(zhuǎn)換成關(guān)系模式集,并指出每個(gè)關(guān)系模式的主鍵和

33、外鍵。1NN1倉庫公司職工姓名職工編號(hào)聘期性別倉庫名地址倉庫編號(hào)公司名地址公司編號(hào)隸屬聘用工資關(guān)系模式集:公司(公司編號(hào),公司名,地址)倉庫(倉庫編號(hào),倉庫名,地址,公司編號(hào))職工(職工編號(hào),姓名,性別,倉庫編號(hào),聘期,工資)3設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫中有三個(gè)實(shí)體集。一是“商品”實(shí)體集,屬性有商品號(hào)、商品名、規(guī)格、單價(jià)等;二是“商店”實(shí)體集,屬性有商店編號(hào)、商店名、地址等;三是“供應(yīng)商”實(shí)體集,屬性有供應(yīng)商編號(hào)、供應(yīng)商名、地址等。供應(yīng)商與商品間存在“供應(yīng)”聯(lián)系,每個(gè)供應(yīng)商可供應(yīng)多種商品,每種商品可向多個(gè)供應(yīng)商訂購,供應(yīng)商供應(yīng)商品有月供應(yīng)量;商店與商品間存在“銷售”聯(lián)系,每個(gè)商店可銷售多種商品,每種商

34、品可在多個(gè)商店銷售,商店銷售商品有月計(jì)劃數(shù)。試畫出ER圖,并在圖上注明屬性、聯(lián)系的類型。再轉(zhuǎn)換成關(guān)系模式集,并指出每個(gè)關(guān)系模式的主鍵和外鍵。MNNM商店供應(yīng)商商品商品名商品號(hào)月計(jì)劃數(shù)規(guī)格單價(jià)月供應(yīng)量供應(yīng)商名地址供應(yīng)商編號(hào)商店名地址商店編號(hào)供應(yīng)銷售關(guān)系模式集:供應(yīng)商(供應(yīng)商編號(hào),供應(yīng)商名,地址)商店(商店編號(hào),商店名,地址)商品(商品號(hào),商品名,規(guī)格,單價(jià))供應(yīng)(供應(yīng)商編號(hào),商店編號(hào),月供應(yīng)量)銷售(商店編號(hào),商品號(hào),月計(jì)劃數(shù))第三章 關(guān)系模式設(shè)計(jì)理論要求、目標(biāo):了解關(guān)系數(shù)據(jù)庫規(guī)范化理論及其在數(shù)據(jù)庫設(shè)計(jì)中的作用,重點(diǎn)是函數(shù)依賴和范式,要求掌握這些概念并能運(yùn)用它們來進(jìn)行模式分解。一、關(guān)系模式的設(shè)計(jì)

35、準(zhǔn)則1數(shù)據(jù)冗余:同一個(gè)數(shù)據(jù)在系統(tǒng)中多次重復(fù)出現(xiàn)。2關(guān)系模式設(shè)計(jì)不當(dāng)引起的異常問題:數(shù)據(jù)冗余、操作異常(包括修改異常、插入異常和刪除異常)3關(guān)系模式的非形式化設(shè)計(jì)準(zhǔn)則1)關(guān)系模式的設(shè)計(jì)應(yīng)盡可能只包含有直接聯(lián)系的屬性,不要包含有間接聯(lián)系的屬性。也就是,每個(gè)關(guān)系模式應(yīng)只對(duì)應(yīng)于一個(gè)實(shí)體類型或一個(gè)聯(lián)系類型。2)關(guān)系模式的設(shè)計(jì)應(yīng)盡可能使得相應(yīng)關(guān)系中不出現(xiàn)插入異常、刪除和修改等操作異?,F(xiàn)象。3)關(guān)系模式的設(shè)計(jì)應(yīng)盡可能使得相應(yīng)關(guān)系中避免放置經(jīng)常為空值的屬性。4)關(guān)系模式的設(shè)計(jì)應(yīng)盡可能使得關(guān)系的等值連接在主鍵和外鍵的屬性上進(jìn)行,并且保證以后不會(huì)生成額外的元組。4習(xí)慣使用的一些符號(hào):1)英文字母表首部的大寫字母“

36、A,B,C,”表示單個(gè)的屬性。2)英文字母表尾部的大寫字母“,U,V,W,X,Y,Z”表示屬性集。3)大寫字母R表示關(guān)系模式,小寫字母r表示其關(guān)系。4)關(guān)系模式的簡化表示方法:R(A,B,C,)或R(ABC)5)屬性集X和Y的并集簡寫為XY。二、函數(shù)依賴1函數(shù)依賴(FD)的定義:設(shè)有關(guān)系模式R(U),X和Y是屬性集U的子集,函數(shù)依賴是形成XY的一個(gè)命題,只要r是R的當(dāng)前關(guān)系,對(duì)r中任意兩個(gè)元組t和s,都有tX=sX蘊(yùn)涵tY=sY,那么稱FD XY在關(guān)系模式R(U)中成立。說明: 1)tX表示元組t在屬性集X上的值,其余類同。 2)XY讀作“X函數(shù)決定Y”或“Y函數(shù)依賴于X”。 3)FD是對(duì)關(guān)系

37、模式R的一切可能的關(guān)系r定義的。對(duì)于當(dāng)前關(guān)系r的任意兩個(gè)元組,如果X值相同,則要求Y值也相同,即有一個(gè)X值就有一個(gè)Y值與之對(duì)應(yīng),或者說Y值由X值決定。例:設(shè)關(guān)系模式R(ABCD),在R的關(guān)系中,屬性值間有這樣的聯(lián)系:A值與B值有一對(duì)多聯(lián)系;C值與D值之間有一對(duì)一聯(lián)系。試根據(jù)這些規(guī)則寫出相應(yīng)的函數(shù)依賴。BA CD DC2如果XY和YX同時(shí)成立,則可記為:XY3FD的邏輯蘊(yùn)涵:設(shè)F是在關(guān)系模式R上成立的函數(shù)依賴的集合,XY是一個(gè)函數(shù)依賴。如果對(duì)于R的每個(gè)滿足F的關(guān)系r也滿足XY,那么稱F邏輯蘊(yùn)涵XY,記為F|=XY。4設(shè)F是函數(shù)依賴集,被F邏輯蘊(yùn)涵的函數(shù)依賴全體構(gòu)成的集合,稱為函數(shù)依賴集F的閉包,

38、記為F+。即F+=XY | F|=XY 5FD的推理規(guī)則(Armstrong公理)設(shè)U是關(guān)系模式R的屬性集,F(xiàn)是R上成立的只涉及到U中屬性的函數(shù)依賴集。1) 自反性:若YÍXÍU,則XY在R上成立。2) 增廣性:若XY在R上成立,且ZÍU,則XZYZ在R上成立。3) 傳遞性:若XY和YZ在R上成立,則XZ在R上成立。6FD的其他五條推理規(guī)則:1)合并性:XY,XZ |= XYZ2)分解性:XY,ZÍY |= XZ3)偽傳遞性:XY,WYZ |= WXZ4)復(fù)合性:XY,WZ |= WXYZ5)XY,WZ |= X(W-Y)YZ7對(duì)于FD XY,如果Y&#

39、205;X,那么稱XY是一個(gè)“平凡的FD”,否則稱為“非平凡的FD”。通常研究非平凡FD。例:XX,X,,XYX都是平凡函數(shù)依賴;XXY則是非平凡函數(shù)依賴。8函數(shù)依賴是關(guān)鍵碼概念的推廣。設(shè)關(guān)系模式R的屬性集是U,X是U的一個(gè)子集。如果XU在R上成立,那么稱X是R的一個(gè)超鍵。如果XU在R上成立,但對(duì)于R的任一真子集X1都有X1U不成立,那么稱X是R的一個(gè)候選鍵。在關(guān)系模式設(shè)計(jì)理論中,鍵通常是指候選鍵。9屬性集的閉包10設(shè)F是屬性集U上的FD集,X上U的子集,那么(相對(duì)于)屬性集X的閉包用X+表示,它是一個(gè)從F集使用FD推理規(guī)則推出的所有滿足XA的屬性A的集合:X+=屬性A | F|=XA11XY

40、能用FD推理規(guī)則推出的充分必要條件是YÍ X+,從而避開求F+,使問題得到簡化。12求屬性集X相對(duì)于FD集F的閉包X+的算法:X+=X;do oldX+:=X+; for F中每個(gè)FD YZ do if YÍ X+ then X+:=X+Z;while(X+!=oldX+);例:屬性集U為ABCD,F(xiàn)D集為AB,BC,DB。求A+、(AD)+和(BD)+A+=ABC(AD)+=ABCD(BD)+=BCD13如果關(guān)系模式R(U)上的兩個(gè)函數(shù)依賴集F和G,有F+=G+,則稱F和G是等價(jià)的函數(shù)依賴集。三、關(guān)系模式的分解特性1關(guān)系模式的分解:設(shè)有關(guān)系模式R(U),屬性集為U,而R1

41、,R2,Rk都是U的子集,并且有R1R2Rk=U。關(guān)系模式R1,R2,Rk的集合用表示,=R1,R2,Rk。用代替R的過程稱為關(guān)系模式的分解。這里稱為R的一個(gè)分解,也稱為數(shù)據(jù)庫模式。一般把上述的R稱為泛關(guān)系模式,R對(duì)應(yīng)的當(dāng)前值稱為泛關(guān)系。數(shù)據(jù)庫模式對(duì)應(yīng)的當(dāng)前值稱為數(shù)據(jù)庫實(shí)例,它由數(shù)據(jù)庫模式中的每一個(gè)關(guān)系模式的當(dāng)前值組成。我們用=<r1,r2,rk>表示。因此,在計(jì)算機(jī)中數(shù)據(jù)并不是存儲(chǔ)在泛關(guān)系r中,而是存儲(chǔ)在數(shù)據(jù)庫中。2和r是否等價(jià),即是否表示同樣的數(shù)據(jù)。這個(gè)問題用“無損分解”特性表示。在模式R上有一個(gè)FD集F,在的每一個(gè)模式Ri上有一個(gè)FD集Fi,那么F1,F(xiàn)2,F(xiàn)k與F是否等價(jià)。

42、這個(gè)問題用“保持依賴”特性表示。四、范式1范式:衡量關(guān)系模式好壞的標(biāo)準(zhǔn)。2數(shù)據(jù)庫設(shè)計(jì)中最常用的是3NF和BCNF。3第一范式(1NF):如果關(guān)系模式R的每個(gè)關(guān)系r的屬性值都是不可分的原子值,那么稱R是第一范式的模式。滿足1NF的關(guān)系稱為規(guī)范化的關(guān)系,否則稱為非規(guī)范化的關(guān)系。1NF是關(guān)系模式應(yīng)具備的最起碼的條件。4局部依賴和完全依賴:對(duì)于FD WA,如果存在XÌW有XA成立,那么稱WA是局部依賴(A局部依賴于W);否則稱WA是完全依賴。5主屬性和非主屬性:如果A是關(guān)系模式R的候選鍵中的屬性,那么稱A是R的主屬性;否則稱A是R的非主屬性。6第二范式(2NF):如果關(guān)系模式是1NF,且每個(gè)

43、非主屬性完全函數(shù)依賴于候選鍵,那么稱R是第二范式(2NF)的模式。7分解成2NF模式集的算法:設(shè)關(guān)系模式R(U),主鍵是W,R上還存在FD XZ,并且Z是非主屬性和XÌW,那么WZ就是一個(gè)局部依賴。此時(shí)應(yīng)把R分解成兩個(gè)模式:R1(XZ),主鍵是X;R2(Y),其中Y=U-Z,主鍵仍是W,外鍵是X(參照R1)。如果R1和R2還不是2NF,則重復(fù)上述過程,一直到數(shù)據(jù)庫模式中的每一個(gè)關(guān)系模式都是2NF為止。8如果XY,YA,且YX和AÍY,那么稱XA是傳遞依賴(A傳遞依賴于X)。9第三范式(3NF):如果關(guān)系模式R是2NF,且每個(gè)非主屬性都不傳遞依賴于R的候選鍵,那么稱R是第三范

44、式(3NF)的模式。10分解成3NF模式集的算法:設(shè)關(guān)系模式R(U),主鍵是W,R上還存在FD XZ。并且Z是非主屬性,ZÍX,X不是候選鍵,這樣WZ就是一個(gè)傳遞依賴。此時(shí)應(yīng)把R分解成兩個(gè)模式:R1(XZ),主鍵是X;R2(Y),其中Y=U-Z,主鍵仍是W,外鍵是X(參照R1)。如果R1和R2還不是3NF,則重復(fù)上述過程,一直到數(shù)據(jù)庫模式中的每一個(gè)關(guān)系模式都是3NF為止。11如果R是3NF模式,那么R也是2NF模式。如果R是2NF模式,那么R也是1NF模式。12BC范式(BCNF):如果關(guān)系模式R是1NF,且每個(gè)屬性都不傳遞依賴于R的候選鍵,那么稱R是BCNF的模式。13如果R是BC

45、NF模式,那么R也是3NF模式。14分解成BCNF模式集的算法能保持無損分解,但不一定能保持FD集。而分解成3NF模式集的算法既能保持無損分解,又能保持FD集。15關(guān)系模式由1NF分解為2NF,消除了非主屬性對(duì)鍵的局部函數(shù)依賴;由2NF分解為3NF,消除了非主屬性對(duì)鍵的傳遞函數(shù)依賴;而BCNF則消除了每一屬性對(duì)鍵的傳遞函數(shù)依賴。16關(guān)系模式設(shè)計(jì)理論主要用于數(shù)據(jù)庫的邏輯設(shè)計(jì)過程中。第三章 復(fù)習(xí)題一、單項(xiàng)選擇題1由于關(guān)系模式設(shè)計(jì)不當(dāng)所引起的插入異常指的是( B )A) 兩個(gè)事務(wù)并發(fā)地對(duì)同一關(guān)系進(jìn)行插入而造成數(shù)據(jù)庫不一致 B) 由于鍵值的一部分為空而不能將有用的信息作為一個(gè)元組插入到關(guān)系中C) 未經(jīng)

46、授權(quán)的用戶對(duì)關(guān)系進(jìn)行了插入D) 插入操作因?yàn)檫`反完整性約束條件而遭到拒絕2下面有關(guān)模式分解的敘述中,不正確的是( D )A) 若一個(gè)模式分解保持函數(shù)依賴,則該分解一定具有無損連接性B) 若要求分解保持函數(shù)依賴,那么模式分解可以達(dá)到3NF,但不一定能達(dá)到BCNFC) 若要求分解既具有無損連接性,又保持函數(shù)依賴,則模式分解可以達(dá)到3NF,但不一定能達(dá)到BCNFD) 若要求分解具有無損連接性,那么模式分解一定可以達(dá)到BCNF3下述哪一條不是由于關(guān)系模式設(shè)計(jì)不當(dāng)而引起的( B )A) 數(shù)據(jù)冗余 B) 丟失修改 C) 插入異常 D) 修改異常4根據(jù)數(shù)據(jù)庫規(guī)范化理論,下面命題中正確的是( D )A) 若R

47、2NF,則R3NFB) 若R3NF,則R不屬于BCNFC) 若R3NF,則RBCNFD) 若RBCNF,則R3NF5若關(guān)系模式R3NF,則下面最正確的說法是( C )A) 某個(gè)主屬性不傳遞依賴于碼B) 某個(gè)非主屬性不部分依賴于碼C) 所有的非主屬性都不傳遞依賴于碼D) 所有的非主屬性都不部分依賴于碼6給定關(guān)系模式RU,F(xiàn),其中,U是所有屬性的集合,F(xiàn)是FD集。如果X,Y是U的子集,且XYF,則X和Y之間必然存在( C )A) 一對(duì)一聯(lián)系B) 一對(duì)多聯(lián)系(含一對(duì)一聯(lián)系)C) 多對(duì)一聯(lián)系(含一對(duì)一聯(lián)系)D) 多對(duì)多聯(lián)系7設(shè)R(U),其中,U是所有屬性的集合。如果存在U的子集K,且KU,則K為R的(

48、 D )A) 外鍵 B)候選鍵 C)主鍵 D)超鍵8 任何一個(gè)二元關(guān)系在函數(shù)依賴的范疇內(nèi)必能達(dá)到( D )A) 1NF B)2NF C)3NF D)BCNF9在關(guān)系模式設(shè)計(jì)理論中,如果一個(gè)關(guān)系R滿足1NF,但R的某個(gè)非主屬性傳遞依賴于鍵,則關(guān)系R至多屬于( B )A) 1NF B)2NF C)3NF D)BCNF10在一個(gè)BCNF關(guān)系模式中,所有的非主屬性對(duì)每一個(gè)鍵都是( D )A) 部分函數(shù)依賴 B)平凡函數(shù)依賴C) 傳遞函數(shù)依賴 D)完全函數(shù)依賴11在一個(gè)關(guān)系模式R(A,B,C,D)中,若各個(gè)屬性間沒有任何函數(shù)依賴關(guān)系,則該模式的主屬性有( A )A) A,B,C,D B)R,A C)A,

49、B D)R,A,B,C,DA)XY B)YX C)XY= D)XY12當(dāng)下述哪一條成立時(shí),稱XY為平凡的函數(shù)依賴( B )13當(dāng)關(guān)系模式R(A,B)已屬于3NF,下列( B )說法是正確的。A) 它一定消除了插入和刪除異常 B) 仍可能存在著一定的插入和刪除異常C) 一定屬于BCNFD) A和C都是14關(guān)系模型中的關(guān)系模式至少是( A )A) 1NF B)2NF C)3NF D)BCNF15下列函數(shù)依賴中,( C )是平凡的函數(shù)依賴。A) ABBC B)ABCD C)ABA D)ABD16下列命題中,不正確的是( D )A)若XY在R上成立,且ZÍU,則XZYZ在R上成立。B)若XY

50、和YZ在R上成立,則XZ在R上成立。C)若XY,XZ在R上成立,則 XYZ在R上成立。D)若XY,WYZ 在R上成立,則WXZ在R上不成立。17設(shè)關(guān)系模式R(ABCDE),F(xiàn)是R上成立的FD集,F(xiàn)=ABC,CDE,DEB,則下列哪一項(xiàng)不是關(guān)系模式R的候選鍵( D )A) ACD B)ABD C)AED D)AD18設(shè)關(guān)系模式R(ABCD)上FD集為F,并且F= ABC,CD,DA,則下列哪一項(xiàng)不是關(guān)系模式R的候選鍵( B )A) AB B)AD C)BC D)BD二、填空題1關(guān)系模式規(guī)范化過程中,若要求分解保持函數(shù)依賴,那么模式分解一定可以達(dá)到3NF,但不一定能達(dá)到BCNF。2將一個(gè)關(guān)系從1N

51、F規(guī)范到2NF,目的是消除非主屬性對(duì)鍵的部分函數(shù)依賴,若進(jìn)一步規(guī)范到3NF,目的是消除非主屬性對(duì)鍵的傳遞函數(shù)依賴。3在關(guān)系數(shù)據(jù)庫的規(guī)范化設(shè)計(jì)中,對(duì)模式分解的等價(jià)性進(jìn)行評(píng)價(jià)的兩條主要標(biāo)準(zhǔn)是具有無損連接性和保持函數(shù)依賴。4若關(guān)系為1NF,且它的每一非主屬性都完全函數(shù)依賴于候選鍵,則該關(guān)系為2NF。5衡量關(guān)系模式好壞的標(biāo)準(zhǔn)稱為范式。6滿足第一范式的關(guān)系稱為規(guī)范化的關(guān)系。7設(shè)關(guān)系模式R(ABCD),F(xiàn)是R上成立的FD集,F(xiàn)=AB,CB,則相對(duì)于F,關(guān)系模式R的候選鍵是AC。三、綜合題1設(shè)關(guān)系模式R(ABCD),F(xiàn)是R上成立的FD集,F(xiàn)=AB,BC。1)試寫出屬性集BD的閉包(BD)+。2)試寫出所有左

52、部是B的函數(shù)依賴(即形為“B?”)。(BD)+=BCD左部是B的函數(shù)依賴有:B,BB,BC,BBC2設(shè)關(guān)系模式R(ABCDE)上FD集為F,并且F= ABC,CDE,BD,EA。1)試求R的候選鍵。2)試求B+的值。R的候選鍵為:A、E、BC、CDB+=BD3設(shè)關(guān)系模式R(ABCD),F(xiàn)是R上成立的FD集,F(xiàn)=ABCD,AD。1)試說明R不是2NF模式的理由。2)試把R分解成2NF模式集。理由:R的候選鍵是AB,則非主屬性為C和D,并且ABD成立。而已知AD,因此ABD為非主屬性D對(duì)候選鍵的局部依賴。R分解為:R1(AD)主鍵是A;R2(ABC)主鍵是AB,外鍵是A。4設(shè)關(guān)系模式R(ABCD)

53、,F(xiàn)是R上成立的FD集,F(xiàn)=CB,BA。1)試說明R不是3NF模式的理由。2)試把R分解成3NF模式集。理由:R的候選鍵是C,則非主屬性為A和B。因?yàn)镃B,BA,則CA為非主屬性A對(duì)候選鍵的傳遞依賴。R分解為:R1(CB)主鍵是C,外鍵是B;R2(AB)主鍵是B。5設(shè)有關(guān)系模式R(職工編號(hào),日期,日營業(yè)額,部門名,部門經(jīng)理),該模式記錄了商店里每個(gè)職工的日營業(yè)額,以及職工所在的部門和經(jīng)理信息。如果規(guī)定:每個(gè)職工每天只有一個(gè)營業(yè)額;每個(gè)職工只在一個(gè)部門工作;每個(gè)部門只有一個(gè)經(jīng)理。試回答下列問題:1)根據(jù)上述規(guī)定,寫出模式R的基本FD和關(guān)鍵碼;2)說明R不是2NF的理由,并把R分解成2NF模式集;3)進(jìn)而分解成3NF模式集。答:1)R的基本FD:(職工編號(hào),日期)日營業(yè)額,職工編號(hào)部門名,部門名部門經(jīng)理R的關(guān)鍵碼:(職工編號(hào),日期)2)R不是2NF的理由:R的候選鍵是(職工編號(hào),日期),則部門名和部門經(jīng)理為非主屬性,并且(職工編號(hào),日期)部門名和(職工編號(hào),日期)部門經(jīng)理成立。而職工編號(hào)部門名,部門名部門經(jīng)理,因此職工編號(hào)部門經(jīng)理,因此(職工編號(hào),日期)部門名為非主屬性部門名對(duì)候選鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論