數(shù)據(jù)庫系統(tǒng)教程(第三版課后答案)
《數(shù)據(jù)庫系統(tǒng)教程(第三版課后答案)》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫系統(tǒng)教程(第三版課后答案)(140頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第1章 數(shù)據(jù)庫概論 1.1 基本內(nèi)容分析 1.1.1 本章的重要概念 (1)DB、DBMS和DBS的定義 (2)數(shù)據(jù)管理技術(shù)的發(fā)展階段 人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫系統(tǒng)階段和高級數(shù)據(jù)庫技術(shù)階段等各階段的特點。 (3)數(shù)據(jù)描述 概念設(shè)計、邏輯設(shè)計和物理設(shè)計等各階段中數(shù)據(jù)描述的術(shù)語,概念設(shè)計中實體間二元聯(lián)系的描述(1:1,1:N,M:N)。 (4)數(shù)據(jù)模型 數(shù)據(jù)模型的定義,兩類數(shù)據(jù)模型,邏輯模型的形式定義,ER模型,層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P偷臄?shù)據(jù)結(jié)構(gòu)以及聯(lián)系的實現(xiàn)方式。 (5)DB的體系結(jié)構(gòu) 三級結(jié)構(gòu),兩級映像,兩級數(shù)據(jù)獨立性,體系結(jié)構(gòu)各個層次
2、中記錄的聯(lián)系。 (6)DBMS DBMS的工作模式、主要功能和模塊組成。 (7)DBS DBS的組成,DBA,DBS的全局結(jié)構(gòu),DBS結(jié)構(gòu)的分類。 1.1.2本章的重點篇幅 (1)教材P23的圖1.24(四種邏輯數(shù)據(jù)模型的比較)。 (2)教材P25的圖1.27(DB的體系結(jié)構(gòu))。 (3)教材P28的圖1.29(DBMS的工作模式)。 (4)教材P33的圖1.31(DBS的全局結(jié)構(gòu))。 1.2 教材中習(xí)題1的解答 1.1 名詞解釋 ·邏輯數(shù)據(jù):指程序員或用戶用以操作的數(shù)據(jù)形式。 ·物理數(shù)據(jù):指存儲設(shè)備上存儲的數(shù)據(jù)。 ·聯(lián)系的元數(shù):與一個聯(lián)系有關(guān)的實體集個數(shù),稱為聯(lián)系
3、的元數(shù)。 ·1:1聯(lián)系:如果實體集E1中每個實體至多和實體集E2中的一個實體有聯(lián)系,反之亦然,那么E1和E2的聯(lián)系稱為“1:1聯(lián)系”。 ·1:N聯(lián)系:如果實體集E1中每個實體可以與實體集E2中任意個(零個或多個)實體有聯(lián)系,而E2中每個實體至多和E1中一個實體有聯(lián)系,那么E1和E2的聯(lián)系是“1:N聯(lián)系”。 ·M:N聯(lián)系:如果實體集E1中每個實體可以與實體集E2中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么E1和E2的聯(lián)系稱為“M:N聯(lián)系”。 ·數(shù)據(jù)模型:能表示實體類型及實體間聯(lián)系的模型稱為“數(shù)據(jù)模型”。 ·概念數(shù)據(jù)模型:獨立于計算機(jī)系統(tǒng)、完全不涉及信息在計算機(jī)中的表示、反映企業(yè)組織
4、所關(guān)心的信息結(jié)構(gòu)的數(shù)據(jù)模型。 ·結(jié)構(gòu)數(shù)據(jù)模型(或邏輯數(shù)據(jù)模型):與DBMS有關(guān)的,直接面向DB的邏輯結(jié)構(gòu)、從計算機(jī)觀點對數(shù)據(jù)建模的數(shù)據(jù)模型。 ·層次模型:用樹型(層次)結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型稱為層次模型。 ·網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型。 ·關(guān)系模型:用二維表格表達(dá)實體集的數(shù)據(jù)模型。 ·外模式:是用戶用到的那部分?jǐn)?shù)據(jù)的描述。 ·概念模式:數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。 ·內(nèi)模式:DB在物理存儲方面的描述。 ·外模式/模式映象:用于定義外模式和概念模式之間數(shù)據(jù)結(jié)構(gòu)的對應(yīng)性。 ·模式/內(nèi)模式映象:用于定義概念模式和內(nèi)
5、模式之間數(shù)據(jù)結(jié)構(gòu)的對應(yīng)性。 ·數(shù)據(jù)獨立性:應(yīng)用程序和DB的數(shù)據(jù)結(jié)構(gòu)之間相互獨立,不受影響。 ·物理數(shù)據(jù)獨立性:在DB的物理結(jié)構(gòu)改變時,盡量不影響應(yīng)用程序。 ·邏輯數(shù)據(jù)獨立性:在DB的邏輯結(jié)構(gòu)改變時,盡量不影響應(yīng)用程序。 ·主語言:編寫應(yīng)用程序的語言(如C一類高級程序設(shè)計語言),稱為主語言。 ·DDL:定義DB三級結(jié)構(gòu)的語言,稱為DDL。 ·DML:對DB進(jìn)行查詢和更新操作的語言,稱為DML。 ·過程性語言:用戶編程時,不僅需要指出“做什么”,還需要指出“怎么做”的語言。 ·非過程性語言:用戶編程時,只需指出“做什么”,不需要指出“怎么做”的語言。 ·DD(數(shù)據(jù)字典):存放三級
6、結(jié)構(gòu)定義的DB,稱為DD。 ·DD系統(tǒng):管理DD的軟件系統(tǒng),稱為DD系統(tǒng)。 1.2 試解釋DB、DBMS和DBS三個概念。 答:DB是長期存儲在計算機(jī)內(nèi)、有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。 DBMS是位于用戶與OS之間的一層數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問DB的方法。 DBS是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計算機(jī)硬件、軟件和數(shù)據(jù)資源組成的系統(tǒng),即采用數(shù)據(jù)庫技術(shù)的計算機(jī)系統(tǒng)。 1.3 人工管理階段和文件系統(tǒng)階段的數(shù)據(jù)管理各有哪些特點? 答:人工管理階段主要有四個特點: 數(shù)據(jù)不保存在計算機(jī)內(nèi);沒有專用的軟件對數(shù)據(jù)進(jìn)行管理;只有程序的概念,沒有文件的概
7、念;數(shù)據(jù)面向程序。 文件系統(tǒng)階段主要有五個特點: 數(shù)據(jù)以“文件”形式長期保存;數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)別;文件組織已多樣化;數(shù)據(jù)面向應(yīng)用;對數(shù)據(jù)的操作以記錄為單位。 1.4 文件系統(tǒng)階段的數(shù)據(jù)管理有些什么缺陷?試舉例說明。 答:主要有三個缺陷:數(shù)據(jù)冗余;數(shù)據(jù)不一致性;數(shù)據(jù)聯(lián)系弱。 例如學(xué)校里教務(wù)處、財務(wù)處、保健處建立的文件中都有學(xué)生詳細(xì)資料,譬如聯(lián)系電話,家庭住址等。這就是“數(shù)據(jù)”冗余;如果某個學(xué)生搬家,就要修改三個部門文件中的數(shù)據(jù),否則會引起同一數(shù)據(jù)在三個部門中不一致;產(chǎn)生上述問題的原因是這三個部門的文件中數(shù)據(jù)沒有聯(lián)系。 1.5 數(shù)據(jù)管理的數(shù)據(jù)庫階段產(chǎn)生的標(biāo)志是哪三件事情?
8、 答:進(jìn)入數(shù)據(jù)庫階段的標(biāo)志是20世紀(jì)60年代末發(fā)生的三件事件: ·1968年IBM公司研制的IMS系統(tǒng)是一個典型的層次DBS; ·1969年美國CODASYL組織DBTG報告,提出網(wǎng)狀DBS的概念; ·1970年美國IBM公司的E.F.Codd發(fā)表論文,提出關(guān)系模型的思想。 1.6 數(shù)據(jù)庫階段的數(shù)據(jù)管理有哪些特點? 答:主要有五個特點: 采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu);有較高的數(shù)據(jù)獨立性;為用戶提供了方便的用戶接口;提供了四個方面的數(shù)據(jù)控制功能;對數(shù)據(jù)的操作以數(shù)據(jù)項為單位,增加了系統(tǒng)的靈活性。 1.7 與“文件”結(jié)構(gòu)相比,“數(shù)據(jù)庫”結(jié)構(gòu)有些什么不同? 答:與文件結(jié)構(gòu)相比,數(shù)
9、據(jù)庫結(jié)構(gòu)主要有下面三點不同: ·數(shù)據(jù)的結(jié)構(gòu)化。文件由記錄組成,但各文件之間缺乏聯(lián)系。數(shù)據(jù)庫中數(shù)據(jù)在磁盤中仍以文件形式組織,但這些文件之間有著廣泛的聯(lián)系。數(shù)據(jù)庫的邏輯結(jié)構(gòu)用數(shù)據(jù)模型來描述,整體結(jié)構(gòu)化。數(shù)據(jù)模型不僅描述數(shù)據(jù)本身的特點,還要描述數(shù)據(jù)之間的聯(lián)系。 ·數(shù)據(jù)獨立性。文件只有設(shè)備獨立性,而數(shù)據(jù)庫還具有邏輯獨立性和物理獨立性。 ·訪問數(shù)據(jù)的單位。訪問文件中的數(shù)據(jù),以記錄為單位。訪問數(shù)據(jù)庫中的數(shù)據(jù),以數(shù)據(jù)項(字段)為單位,增加了系統(tǒng)的靈活性。 1.8 什么是數(shù)據(jù)獨立性?在數(shù)據(jù)庫中有哪兩級獨立性? 答:數(shù)據(jù)獨立性是指應(yīng)用程序與DB的數(shù)據(jù)結(jié)構(gòu)之間相互獨立。在物理結(jié)構(gòu)改變時,盡量不影響應(yīng)用程
10、序,稱為物理數(shù)據(jù)獨立性;在邏輯結(jié)構(gòu)改變時,盡量不影響應(yīng)用程序,稱為邏輯數(shù)據(jù)獨立性。 1.9 分布式數(shù)據(jù)庫系統(tǒng)和面向?qū)ο髷?shù)據(jù)庫系統(tǒng)各有哪些特點? 答:DDBS主要有三個特點: ·數(shù)據(jù)物理上分布在各地,但邏輯上是一個整體; ·每個場地既可以執(zhí)行局部應(yīng)用,也可以執(zhí)行全局應(yīng)用; ·各地的計算機(jī)由數(shù)據(jù)通信網(wǎng)絡(luò)相連接。 面向?qū)ο髷?shù)據(jù)系統(tǒng)主要有兩個特點: ·面向?qū)ο髷?shù)據(jù)模型能完整地描述現(xiàn)實世界的數(shù)據(jù)結(jié)構(gòu),能表達(dá)數(shù)據(jù)間嵌套、遞歸的聯(lián)系。 ·具有面向?qū)ο蠹夹g(shù)的封裝性和繼承性的特點,提高了軟件的可重用性。 1.10 邏輯記錄與物理記錄,邏輯文件與物理文件有些什么聯(lián)系和區(qū)別? 答:邏輯
11、數(shù)據(jù)是用戶用以操作的數(shù)據(jù)形式,是抽象的概念化數(shù)據(jù)。物理數(shù)據(jù)是實際存放在存儲設(shè)備上的數(shù)據(jù)。 邏輯數(shù)據(jù)與物理數(shù)據(jù)在結(jié)構(gòu)上可以差別很大,需通過兩級映象來進(jìn)行數(shù)據(jù)傳輸和格式轉(zhuǎn)換。 從以上的解釋可以看出,邏輯記錄和邏輯文件是用戶在程序中使用的記錄和文件,而物理記錄和物理文件是指磁盤上的記錄和文件。邏輯記錄、文件與物理記錄、文件在結(jié)構(gòu)、組成上有很大的差異,而數(shù)據(jù)管理軟件就是通過三級結(jié)構(gòu)兩級映象來實現(xiàn)邏輯數(shù)據(jù)與物理數(shù)據(jù)之間的轉(zhuǎn)換。 1.11 試述ER模型、層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P偷闹饕攸c。 答:ER模型直接表示實體類型及實體間聯(lián)系,與計算機(jī)系統(tǒng)無關(guān),充分反映用戶的需求,用戶容
12、易理解。 層次模型的數(shù)據(jù)結(jié)構(gòu)為樹結(jié)構(gòu),記錄之間聯(lián)系通過指針實現(xiàn),查詢較快,但DML屬于過程化的,操作復(fù)雜。 網(wǎng)狀模型的數(shù)據(jù)結(jié)構(gòu)為有向圖,記錄之間聯(lián)系通過指針實現(xiàn),查詢較快,并且容易實現(xiàn)M:N聯(lián)系,但DML屬于過程化的語言,編程較復(fù)雜。 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)為二維表格,容易為初學(xué)者理解。記錄之間聯(lián)系通過關(guān)鍵碼實現(xiàn)。DML屬于非過程化語言,編程較簡單。 面向?qū)ο竽P湍芡暾枋霈F(xiàn)實世界的數(shù)據(jù)結(jié)構(gòu),具有豐富的表達(dá)能力,能表達(dá)嵌套、遞歸的數(shù)據(jù)結(jié)構(gòu)。但涉及的知識面較廣,用戶較難理解,這種模型尚未普及。 1.12 數(shù)據(jù)之間聯(lián)系在各種結(jié)構(gòu)數(shù)據(jù)模型中是怎么實現(xiàn)的? 答:在層次、網(wǎng)狀模型中,數(shù)據(jù)
13、之間的聯(lián)系通過指針實現(xiàn)的; 在關(guān)系模型中,數(shù)據(jù)之間聯(lián)系通過外鍵和主鍵間聯(lián)系實現(xiàn)的; 在面向?qū)ο竽P椭?,?shù)據(jù)之間嵌套、遞歸聯(lián)系通過對象標(biāo)識符(OID)實現(xiàn)的(見第8章)。 1.13 DB的三級模式結(jié)構(gòu)描述了什么問題?試詳細(xì)解釋。 答:DB的三級模式結(jié)構(gòu)是對數(shù)據(jù)的三個抽象級別,分別從外部(用戶)級、概念級和內(nèi)部級去觀察數(shù)據(jù)庫。 外部級是用戶使用的局部數(shù)據(jù)庫的邏輯結(jié)構(gòu),其描述稱為外模式。 概念級是DB的整體邏輯結(jié)構(gòu),其描述稱為概念模式。 內(nèi)部級是DB的物理結(jié)構(gòu),其描述稱為內(nèi)模式。 1.14 試述概念模式在數(shù)據(jù)庫結(jié)構(gòu)中的重要地位。 答:數(shù)據(jù)按外模式的描述提供給用戶,按內(nèi)模式
14、的描述存儲在磁盤中,而概念模式提供了連接這兩級的相對穩(wěn)定的中間觀點,并使得兩級的任何一級的改變都不受另一級的牽制。 1.15 試敘述用戶、DB的三級模式結(jié)構(gòu)、磁盤上的物理文件之間有些什么聯(lián)系和不同? 答:用戶、外模式、概念模式、內(nèi)模式和物理文件中的記錄分別稱為用戶記錄、外部記錄、概念記錄、內(nèi)部記錄和物理記錄。 用戶記錄與外部記錄的結(jié)構(gòu)是一致的,它們之間只是數(shù)據(jù)傳輸問題。 而外部記錄、概念記錄和內(nèi)部記錄之間的結(jié)構(gòu)可能是不一致的,除了數(shù)據(jù)傳輸問題,還 有格式轉(zhuǎn)換問題。 內(nèi)部記錄與物理記錄的結(jié)構(gòu)是一致的,它們之間只是數(shù)據(jù)傳輸問題。 1.16 數(shù)據(jù)獨立性與數(shù)據(jù)聯(lián)系這兩個概念有什么
15、區(qū)別? 答:數(shù)據(jù)獨立性是指應(yīng)用程序和DB的數(shù)據(jù)之間相互獨立,不受影響,對系統(tǒng)的要求是“數(shù)據(jù)獨立性要高”,而數(shù)據(jù)聯(lián)系是指記錄之間的聯(lián)系,對系統(tǒng)的要求是“數(shù)據(jù)聯(lián)系密切”。 1.17 試述DBMS的工作模式和主要功能。 答:DBMS的工作模式有六點: ·接受應(yīng)用程序的數(shù)據(jù)請求和處理請求; ·將用戶的數(shù)據(jù)請求轉(zhuǎn)換成低層指令; ·實現(xiàn)對DB的操作; ·從對DB的操作中接受查詢結(jié)果; ·對查詢結(jié)構(gòu)進(jìn)行處理; ·將處理結(jié)果返回給用戶。 DBMS的主要功能有DB的定義、操縱、保護(hù)、維護(hù)和數(shù)據(jù)字典等五個功能。 1.18 試敘述DBMS對數(shù)據(jù)庫的維護(hù)功能。 答:包括DB的數(shù)據(jù)載
16、入、轉(zhuǎn)換、轉(zhuǎn)儲、DB的改組以及性能監(jiān)控等功能。這些功能分別由各個實用程序完成。 1.19 從模塊結(jié)構(gòu)觀察,DBMS由哪些部分組成? 答:DBMS由兩大部分組成:查詢處理器和存儲管理器。(解釋略) 1.20 DBS有哪幾部分組成?其中DD有什么作用? 答:DBS由DB、硬件、軟件和DBA等四個部分組成。(解釋略) 在DBS中,DD是存儲三級結(jié)構(gòu)描述(即元數(shù)據(jù))的DB。DBMS的所有工作都要以DD中的元數(shù)據(jù)為依據(jù),也就是所有工作都要通過DD訪問DB。 1.21“元數(shù)據(jù)”與“數(shù)據(jù)”之間有些什么聯(lián)系與區(qū)別? 答:元數(shù)據(jù)(metadata)是指“數(shù)據(jù)的數(shù)據(jù)”,即數(shù)據(jù)的描述。DB中的元數(shù)據(jù)是
17、指三級模式結(jié)構(gòu)的詳細(xì)描述。 數(shù)據(jù)(data),一般是指用戶使用的具體值。 1.22 什么是DBA?DBA應(yīng)具有什么素質(zhì)?DBA的職責(zé)是什么? 答:DBA是控制數(shù)據(jù)整體結(jié)構(gòu)的一組人員,負(fù)責(zé)DBS的正常運(yùn)行,承擔(dān)創(chuàng)建、監(jiān)控和維護(hù)DB結(jié)構(gòu)的責(zé)任。 DBA必須具備下列4條素質(zhì):熟悉企業(yè)全部數(shù)據(jù)的性質(zhì)和用途;對所有用戶的需求有充分的了解;對系統(tǒng)的性能非常熟悉;兼有系統(tǒng)分析員和運(yùn)籌學(xué)專家的品質(zhì)和知識。 DBA的主要職責(zé)有6點:定義模式;定義內(nèi)模式;與用戶的聯(lián)絡(luò);定義安全性規(guī)則;定義完整性規(guī)則;DB的轉(zhuǎn)儲與恢復(fù)。 1.23 試對DBS的全局結(jié)構(gòu)作詳細(xì)解釋。 答:從四個方面解釋: ·數(shù)據(jù)
18、庫用戶有四類:DBA,專業(yè)用戶,應(yīng)用程序員,終端用戶。 ·DBMS的查詢處理器有四個模塊:DML編譯器,嵌入型DML預(yù)編譯器,DDL編譯器,查詢運(yùn)行核心程序。 ·DBMS的存儲管理器有四個模塊:授權(quán)和完整性管理器,事務(wù)管理器,文件管理器,緩沖區(qū)管理器。 ·磁盤存儲器中有五種數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)文件,數(shù)據(jù)字典,索引文件,統(tǒng)計數(shù)據(jù)組織和日志。 1.24 使用DBS的用戶有哪幾類? 答:(略,見習(xí)題1.23) 1.25 DBMS的查詢處理器和存儲管理器各有哪些功能? 答:(略,見習(xí)題1.23) 1.26 磁盤存儲器中有哪五類主要的數(shù)據(jù)結(jié)構(gòu)? 答:(略,見習(xí)題1.23) 1.27
19、根據(jù)計算機(jī)的系統(tǒng)結(jié)構(gòu),DBS可分成哪四種?各有什么特點? 答:根據(jù)計算機(jī)的系統(tǒng)結(jié)構(gòu),DBS可分成集中式、C/S式、并行式和分布式等四種 集中式DBS的特點是單點數(shù)據(jù)(DB集中在一個場地)單地處理(單個CPU)。 C/S式DBS的特點是計算機(jī)的功能分放在客戶機(jī)和服務(wù)器上(即功能的分布)??蛻魴C(jī)上專門實現(xiàn)前端處理和用戶界面。服務(wù)器上完成事務(wù)處理和數(shù)據(jù)訪問控制。 并行式DBS的特點是使用多個CPU和多個磁盤進(jìn)行并行操作。 分布式DBS的特點是多點數(shù)據(jù)(DB分布在多個場地)多點處理(多個CPU)。數(shù)據(jù)具有物理分布性和邏輯整體性特點。系統(tǒng)中事務(wù)有本地事務(wù)(訪問本地DB)和全局事務(wù)(訪問至少兩
20、個場地的DB)之分。 1.28 DBS能產(chǎn)生哪些效益? 答:DBS的應(yīng)用,使計算機(jī)應(yīng)用深入到社會的每個角落。其效益有以下7個方面:靈活性,簡易性,面向用戶,有效的數(shù)據(jù)控制,加快應(yīng)用開發(fā)速度,維護(hù)方便,標(biāo)準(zhǔn)化。 1.3 自測題 1.3.1 填空題 1.?dāng)?shù)據(jù)管理技術(shù)的發(fā)展,與__________、__________和__________有密切的聯(lián)系。 2.文件系統(tǒng)中的數(shù)據(jù)獨立性是指__________獨立性。 3.文件系統(tǒng)的缺陷是:_________、_________和__________。 4.就信息處理的方式而言,在文件系統(tǒng)階段,__________處于主導(dǎo)地位,_____
21、____只起著服從程序設(shè)計需要的作用;而在數(shù)據(jù)庫方式下,_________占據(jù)了中心位置。 5.對現(xiàn)實世界進(jìn)行第一層抽象的模型,稱為__________模型;對現(xiàn)實世界進(jìn)行第二層抽象的模型,稱為__________模型。 6.層次模型的數(shù)據(jù)結(jié)構(gòu)是__________結(jié)構(gòu);網(wǎng)狀模型的數(shù)據(jù)結(jié)構(gòu)是__________結(jié)構(gòu);關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是__________結(jié)構(gòu);面向?qū)ο竽P偷臄?shù)據(jù)結(jié)構(gòu)之間可以__________。 7.在層次、網(wǎng)狀模型中,用__________導(dǎo)航數(shù)據(jù);而在關(guān)系模型中,用__________導(dǎo)航數(shù)據(jù)。 8.?dāng)?shù)據(jù)庫的三級模式結(jié)構(gòu)是對__________的三個抽象級別。
22、9.DBMS為應(yīng)用程序運(yùn)行時開辟的DB系統(tǒng)緩沖區(qū),主要用于__________和__________。 10.在數(shù)據(jù)庫技術(shù)中,編寫應(yīng)用程序的語言仍然是C一類高級語言,這些語言被稱為__________語言。 11.在DB的三級模式結(jié)構(gòu)中,數(shù)據(jù)按__________的描述提供給用戶,按__________的描述存儲在磁盤中,而__________提供了連接這兩級的相對穩(wěn)定的中間觀點,并使得兩級中的任何一級的改變都不受另一級的牽制。 12.層次、網(wǎng)狀的DML屬于________語言,而關(guān)系型DML屬于_________語言。 13.DBS中存放三級結(jié)構(gòu)定義的DB稱為__________。
23、 14.從模塊結(jié)構(gòu)考察,DBMS由兩大部分組成:__________和__________。 15.DBA有兩個很重要的工具:__________和__________。 16.DBS是________、_________、_________和_________的集合體。 17.DBS的全局結(jié)構(gòu)體現(xiàn)了其__________結(jié)構(gòu)。 18.在DBS中,DB在磁盤上的基本組織形式是_________,這樣可以充分利用OS _________的功能。 19.根據(jù)計算機(jī)的系統(tǒng)結(jié)構(gòu),DBS可分成四種類型:_______、_______、_______和_______。 20.?dāng)?shù)據(jù)獨立性使得修改
24、DB結(jié)構(gòu)時盡量不影響已有的__________。 1.3.2 單項選擇題(在備選答案中選出一個正確答案) 1.在DBS中,DBMS和OS之間關(guān)系是 [ ] A.并發(fā)運(yùn)行 B.相互調(diào)用 C.OS調(diào)用DBMS D.DBMS調(diào)用OS 2.在數(shù)據(jù)庫方式下,信息處理中占據(jù)中心位置的是 [ ] A.磁盤 B.程序 C.數(shù)據(jù) D.內(nèi)存 3.DB的三級體系結(jié)構(gòu)是對_________抽象的三個級別。 [ ] A.存儲器 B.數(shù)據(jù) C.程序 D. 外存 4.DB的三級模式結(jié)構(gòu)中最接近外部存儲器的是 [
25、] A.子模式 B.外模式 C.概念模式 D.內(nèi)模式 5.DBS具有“數(shù)據(jù)獨立性”特點的原因是因為在DBS中 [ ] A.采用磁盤作為外存 B.采用三級模式結(jié)構(gòu) C.使用OS來訪問數(shù)據(jù) D.用宿主語言編寫應(yīng)用程序 6.在DBS中,“數(shù)據(jù)獨立性”和“數(shù)據(jù)聯(lián)系”這兩個概念之間聯(lián)系是 [ ] A.沒有必然的聯(lián)系 B.同時成立或不成立 C.前者蘊(yùn)涵后者 D.后者蘊(yùn)涵前者 7.?dāng)?shù)據(jù)獨立性是指 [ ] A.?dāng)?shù)據(jù)之間相互獨立 B.應(yīng)用程序與DB的結(jié)構(gòu)之間相互獨立 C.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)相互獨
26、立 D.?dāng)?shù)據(jù)與磁盤之間相互獨立 8.DB中數(shù)據(jù)導(dǎo)航是指 [ ] A.?dāng)?shù)據(jù)之間聯(lián)系 B.?dāng)?shù)據(jù)之間指針聯(lián)系 C.從已知數(shù)據(jù)找未知數(shù)據(jù)的過程 D.?dāng)?shù)據(jù)的組合方式 9.用戶使用DML語句對數(shù)據(jù)進(jìn)行操作,實際上操作的是 [ ] A.?dāng)?shù)據(jù)庫的記錄 B.內(nèi)模式的內(nèi)部記錄 C.外模式的外部記錄 D.?dāng)?shù)據(jù)庫的內(nèi)部記錄值 10.對DB中數(shù)據(jù)的操作分成兩大類: [ ] A.查詢和更新 B.檢索和修改 C.查詢和修改 D.插入和修改 1.3.3 問答題 1.試對數(shù)據(jù)管理技術(shù)三個發(fā)展階段作一
27、詳細(xì)的比較。 2.在用戶訪問數(shù)據(jù)庫中數(shù)據(jù)的過程中,DBMS起著什么作用? 3.什么是“DB的系統(tǒng)緩沖區(qū)”? 4.DBS中有哪些系統(tǒng)軟件? 1.4 自測題答案 1.4.1 填空題答案 1.硬件 軟件 計算機(jī)應(yīng)用 2.設(shè)備 3.?dāng)?shù)據(jù)冗余 數(shù)據(jù)不一致 數(shù)據(jù)聯(lián)系弱 4.程序設(shè)計 數(shù)據(jù) 數(shù)據(jù) 5.概念 結(jié)構(gòu)(或邏輯) 6.樹 有向圖 二維表 嵌套和遞歸 7.指針 關(guān)鍵碼(或外鍵與主鍵) 8.?dāng)?shù)據(jù) 9.?dāng)?shù)據(jù)的傳輸 格式的轉(zhuǎn)換 10.宿主語言(或主語言,host language) 11.外模式 內(nèi)模式 概念
28、模式 12.過程性 非過程性 13.?dāng)?shù)據(jù)字典(DD) 14.查詢處理器 存儲管理器 15.一系列實用程序 DD系統(tǒng) 16.?dāng)?shù)據(jù)庫 硬件 軟件 DBA 17.模塊功能 18. 文件 管理外存(或文件系統(tǒng)) 19.集中式 C/S式 并行式 分布式 20.應(yīng)用程序 1.4.2 單項選擇題答案 1.D 2.C 3.B 4.D 5.B 6.A 7.B 8.C 9.C 10. A 1.4.3 問答題答案 1.答:數(shù)據(jù)管理技術(shù)三個發(fā)展階段的詳細(xì)比較見圖1.1。
29、 人工管理階段 文件系統(tǒng)階段 數(shù)據(jù)庫階段 時 間 20世紀(jì)50年代 60年代 70年代 環(huán) 外存 紙帶、卡片、磁帶 磁盤 大容量磁盤 境 軟件 匯編語言 3GL、OS DBMS 計算機(jī)應(yīng)用 科學(xué)計算 進(jìn)入企業(yè)管理 企業(yè)管理 數(shù)據(jù)的管理者 用戶(程序員) 文件系統(tǒng) DBS 數(shù)據(jù)的針對者 面向某一應(yīng)用程序 面向某一應(yīng)用 面向現(xiàn)實世界 數(shù)據(jù)的共享程度 無共享 共享性差、冗余度大 共享性高、冗余度小 數(shù)據(jù)獨立性 無獨立性, 獨立性差, 有高度的物理獨立性, 數(shù)據(jù)
30、完全依賴于程序 有設(shè)備獨立性 一定的邏輯獨立性 數(shù)據(jù)的結(jié)構(gòu)化 無結(jié)構(gòu) 記錄內(nèi)有結(jié)構(gòu), 整體結(jié)構(gòu)化, 整體結(jié)構(gòu)性差 用數(shù)據(jù)模型描述 圖1.1 2.答:在用戶訪問數(shù)據(jù)的過程中,DBMS起著核心的作用,實現(xiàn)“數(shù)據(jù)三級結(jié)構(gòu)轉(zhuǎn)換”的工作。 3.答:在應(yīng)用程序運(yùn)行時,DBMS在內(nèi)存為其開辟一個程序工作區(qū),稱為“DB的系統(tǒng)緩沖區(qū)”。這個工作區(qū)主要用于“數(shù)據(jù)的傳輸和格式的轉(zhuǎn)換”。 4.答:DBS應(yīng)包括DBMS、OS、宿主語言和應(yīng)用開發(fā)支撐軟件等四部分系統(tǒng)軟件。 DBMS是管理DB的軟件系統(tǒng),但對硬盤的管理是由OS實現(xiàn)的,因此DBS中應(yīng)包括DBMS和OS這兩個主要的系統(tǒng)軟
31、件。 編寫應(yīng)用程序仍然是用C一類高級程序設(shè)計語言,這些語言在DBS中稱為宿主語言。 為提高應(yīng)用程序開發(fā)效率,需要像Dephi、PowerBuilder一類軟件開發(fā)工具(即應(yīng)用開發(fā)支撐軟件)開發(fā)應(yīng)用程序。這些軟件屬于4GL范疇,可使應(yīng)用系統(tǒng)開發(fā)生產(chǎn)率提高20~100倍。 第2章 關(guān)系模型和關(guān)系運(yùn)算理論 2.1 基本內(nèi)容分析 2.1.1 本章重要概念 (1)基本概念 關(guān)系模型,關(guān)鍵碼(主鍵和外鍵),關(guān)系的定義和性質(zhì),三類完整性規(guī)則,ER模型到關(guān)系模型的轉(zhuǎn)換規(guī)則,過程性語言與非過程性語言。 (2)關(guān)系代數(shù) 五個基本操作,四個組合操作,七個擴(kuò)充操作。 (3)關(guān)系演算 元組關(guān)
32、系演算和域關(guān)系演算的原子公式、公式的定義。關(guān)系演算的安全性和等價性。 (4)關(guān)系代數(shù)表達(dá)式的優(yōu)化 關(guān)系代數(shù)表達(dá)式的等價及等價轉(zhuǎn)換規(guī)則,啟化式優(yōu)化算法。 (5)關(guān)系邏輯 謂詞、原子、規(guī)則和查詢,規(guī)則的安全性,用規(guī)則模擬關(guān)系代數(shù)表達(dá)式。 2.1.2 本章的重點篇幅 (1)教材中P56的例2.7(關(guān)系代數(shù)表達(dá)式的應(yīng)用實例)。 (2)教材中P63的例2.19(元組表達(dá)式的應(yīng)用實例)。 (3)教材中P81的例2.36(關(guān)系邏輯的規(guī)則表示)。 2.1.3 重要內(nèi)容分析 1.關(guān)系代數(shù)表達(dá)式的運(yùn)用技巧 (1)一般規(guī)則 ·對于只涉及到選擇、投影、聯(lián)接的查詢可用下列表達(dá)式表示:
33、 π…(σ…(R×S)) 或者π…(σ…(R?S)) ·對于否定的操作,一般要用差操作表示,例如“檢索不學(xué)C2課的學(xué)生姓名”。 ·對于檢索具有“全部”特征的操作,一般要用除法操作表示,例如“檢索學(xué)習(xí)全部課程的學(xué)生姓名”。 (2)“檢索不學(xué)C2課的學(xué)生姓名”,決不能用下式表示: πSNAME,AGE(σC#≠'C2'(S?SC)) 一定要用“差”的形式: πSNAME,AGE(S)-πSNAME,AGE(σC#='C2'(S?SC)) (3)“檢索學(xué)習(xí)全部課程的學(xué)生學(xué)號”,要用πS#,C#(SC)÷πC#(C)表示, 而不能寫成 πS# (SC÷πC#(C)
34、)形式。這是因為一個學(xué)生學(xué)的課程的成績可能是不一樣的。 (4)對于教材P56的例2.7的8個查詢語句的關(guān)系代數(shù)表達(dá)式,考生一定要掌握,這是基礎(chǔ)。 2.非過程性語言與過程性語言的區(qū)別 編程時必須指出“干什么”及“怎么干”的語言,稱為過程性語言;編程時只須指出“干什么”,不必指出“怎么干”的語言,稱為非過程性語言。 兩種語言的主要區(qū)別見圖2.1。 過程性語言 非過程性語言 編程時,必須指出“怎么干” 編程時,不必指出“怎么干” 由用戶進(jìn)行數(shù)據(jù)導(dǎo)航 由系統(tǒng)進(jìn)行數(shù)據(jù)導(dǎo)航 單記錄處理方式 集合處理方式 屬于3GL范疇 屬于4GL范疇 C語言,層次、網(wǎng)狀DM
35、L等 關(guān)系DML,軟件開發(fā)工具等 圖2.1 2.2 教材中習(xí)題2的解答 2.1名詞解釋 ·關(guān)系模型:用二維表格表示實體集,外鍵和主鍵表示實體間聯(lián)系的數(shù)據(jù)模型,稱為關(guān)系模型。 ·關(guān)系模式:是對關(guān)系的描述,包括模式名、諸屬性名、值域名和模式的主鍵。 ·關(guān)系實例:關(guān)系模式具體的值,稱為關(guān)系實例。 ·屬性:即字段或數(shù)據(jù)項,與二維表中的列對應(yīng)。屬性個數(shù),稱為元數(shù)(arity)。 ·域:屬性的取值范圍,稱為域。 ·元組:即記錄,與二維表中的行對應(yīng)。元組個數(shù),稱為基數(shù)(cardinality)。 ·超鍵:能惟一標(biāo)識元組的屬性或?qū)傩约?,稱為關(guān)系的超鍵。 ·候選鍵:不含有多余屬性的超鍵,
36、稱為候選鍵。 ·主鍵:正在使用的、用于標(biāo)識元組的候選鍵,稱為主鍵。 ·外鍵:屬性集F是模式S的主鍵,在模式R中也出現(xiàn),那么稱F是模式R的外鍵。 ·實體完整性規(guī)則:實體的主鍵值不允許是空值。 ·參照完整性規(guī)則:依賴關(guān)系中的外鍵值或者為空值,或者是相應(yīng)參照關(guān)系中某個主鍵碼。 ·過程性語言:編程時必須給出獲得結(jié)果的操作步驟,即指出“干什么”及“怎么干”的語言。 ·非過程性語言:編程時,只需指出需要什么信息,不必給出具體的操作步驟,即只要指出“干什么”,不必指出“怎么干”的語言。 ·無限關(guān)系:指元組個數(shù)為無窮多個的關(guān)系。 ·無窮驗證:驗證公式真假時需要進(jìn)行無限次驗證。 l 2.2 在
37、關(guān)系模型中,對關(guān)系作了哪些規(guī)范性限制? 答:對關(guān)系作了一下四個限制: 屬性值不可分解;沒有重復(fù)元組;沒有行序;使用時有列序。 2.3 為什么關(guān)系中的元組沒有先后順序,且不允許有重復(fù)元組? 答:由于關(guān)系定義為元組的集合,而集合中的元素是沒有順序的,因此關(guān)系中的元組也就沒有先后的順序(對用戶而言)。這樣既能減少邏輯排序,又便于在關(guān)系數(shù)據(jù)庫中引進(jìn)集合論的理論。 每個關(guān)系模式都有一個主鍵,在關(guān)系中主鍵值是不允許重復(fù)的。如果關(guān)系中有重復(fù)元組,那么其主鍵值肯定相等,起不了惟一標(biāo)識作用,因此關(guān)系中不允許有重復(fù)元組。 l 2.4 外鍵值何時允許空?何時不允許空? 答:在依賴表中,當(dāng)外鍵是主鍵的
38、組成部分時,外鍵值不允許空;否則外鍵值允許空。 2.5 笛卡兒積、等值聯(lián)接、自然聯(lián)接三者之間有什么區(qū)別? 答:笛卡爾積是一個基本操作,而等值聯(lián)接和自然聯(lián)接是組合操作。 設(shè)關(guān)系R的元數(shù)為r,元組個數(shù)為m;關(guān)系S的元數(shù)為s,元組個數(shù)為n。 那么,R×S的元數(shù)為r+s,元組個數(shù)為m×n; iθj R?S的元數(shù)也是r+s,但元組個數(shù)小于等于m×n; R?S的元數(shù)小于等于r+s,元組個數(shù)也小于等于m×n; 2.6 設(shè)有關(guān)系R和S: R A B C S A B C 3 6 7 3 4 5 2 5 7 7 2 3 7 2
39、 3 4 4 3 計算R∪S,R-S,R∩S,R×S,π3,2(S),σB<’5’(R),R 2<2 S, R S。 解: R∪S A B C R-S A B C R∩S A B C 3 6 7 3 6 7 7 2 3 2 5 7 2 5 7 7 2 3 4 4 3 4 4 3 3 4 5 R×S R.A R.B R.C S.A S.B S.C π3,2(S) C B 3 6 7 3 4 5 5 4 3 6 7
40、 7 2 3 3 2 2 5 7 3 4 5 2 5 7 7 2 3 7 2 3 3 4 5 7 2 3 7 2 3 4 4 3 3 4 5 4 4 3 7 2 3 2<2 σB<’5’(R) A B C R?S R.A R.B R.C S.A S.B S.C 7 2 3 7 2 3 3 4 5 4 4 3 R?S A B C 7 2 3 l 2.7 設(shè)有關(guān)系R和S: l R A B
41、 S B C
l a b b c
l c b e a
l d e b d
B 42、l max(m,n)
l m+n
l ⑶ U?V
l 0
l m×n
l ⑷σF(U)×V
l 0
l m×n
l ⑸πL(U)-V
l 0
l m
2.9 如果R是二元關(guān)系,那么下列元組表達(dá)式的結(jié)果是什么?
{t|( $u)(R(t) ∧R(u) ∧(t[1] ≠u[1]∨t[2] ≠u[2]))}
答:當(dāng)R的元組數(shù)≥2時,R中每個元組都存在與之不相同的元組,因此表達(dá)式的結(jié)果為關(guān)系R;
當(dāng)R的元組數(shù)為0或1時,表達(dá)式的結(jié)果為空關(guān)系。
2.10 假設(shè)R和S分別是三元和二元關(guān)系,試把表達(dá)式π1,5(σ2=4∨3=4(R×S))轉(zhuǎn)換成
等價的:①漢語查詢句子; 43、②元組表達(dá)式;③域表達(dá)式。
解:⑴ 在關(guān)系R和S的笛卡爾積中,選取第2個屬性值與第4個屬性值相等,或者第3個屬性值與第4個屬性值相等的那些元組,再取第1列和第5列組成新的關(guān)系。
⑵ 與(R×S)等價的元組表達(dá)式是:
{ t | ($u) ($v) (R(u) ∧ S(v) ∧ t[1]=u[1] ∧ t[2]=u[2] ∧ t[3]=u[3] ∧ t[4]=v[1]∧ t[5]=v[2] )}
與σ2=4 ∨ 3=4(R×S)等價的元組表達(dá)式是:
{ t | ($u) ($v) (R(u) ∧ S(v) ∧ t[1]=u[1] ∧ t[2]=u[2] ∧ t[3]=u[3] ∧ t[ 44、4]=v[1]∧ t[5]=v[2] ∧ (t[2]=t[4] ∨ t[3]=t[4]))}
與π1,5(σ2=4 ∨ 3=4(R×S))等價的元組表達(dá)式是:
{ w | ($t) ($u) ($v) (R(u) ∧ S(v) ∧ t[1]=u[1] ∧ t[2]=u[2] ∧ t[3]=u[3] ∧t[4]=v[1] ∧ t[5]=v[2] ∧ (t[2]=t[4] ∨ t[3]=t[4]) ∧ w[1]=t[1] ∧w[2]=t[5])}
再對上述元組表達(dá)式化簡(消去t)可得:
{ w | ($u) ($v) (R(u) ∧ S(v) ∧ (u[2]=v[1] ∨ u[3]=v[1 45、]) ∧ w[1]=u[1] ∧ w[2]=v[2])}
在熟練后,可以直接寫出上式。
⑶ 再轉(zhuǎn)換成域表達(dá)式:
{ w1 w2 | ($u1) ($u2) ($u3) ($v1) ($v2) (R(u1u2u3) ∧ S(v1v2) ∧ (u2=v1 ∨ u3=v1) ∧ w1=u1 ∧ w2=v2)}
再化簡(消去u1,v2)可得:
{ w1 w2 | ($u2) ($u3) ($v1) (R(w1u2u3) ∧ S(v1w2) ∧ (u2=v1 ∨ u3=v1))}
2.11 假設(shè)R和S都是二元關(guān)系,試把元組表達(dá)式{t|R(t) ∧($u)(S(u) ∧u[1] ≠t[2])} 46、轉(zhuǎn)換成等價的:
①漢語查詢句子; ②域表達(dá)式; ③關(guān)系代數(shù)表達(dá)式。
答:①在關(guān)系R中選取第2列的值與關(guān)系S中某個元組的第1列值不相等的那些元組,組成新的關(guān)系。
②域表達(dá)式為:
{ t1t2 | R(t1t2)∧($u1) ($u2) ( S(u1u2) ∧ u1≠t2)}
③關(guān)系代數(shù)表達(dá)式為:
2≠1
π1,2(σ2≠3(R×S))或π1,2(R?S)
2.12 試把域表達(dá)式{ ab | R(ab) ∧ R(ba)}轉(zhuǎn)換成等價的:⑴漢語查詢句子;⑵關(guān)系代數(shù)表達(dá)式;⑶元組表達(dá)式。
解:⑴ 在關(guān)系R中選取屬性值交換后仍是R中元組的那些元組,組成新的關(guān)系。
⑵ 關(guān)系代數(shù)表達(dá)式為 47、:π1,2(σ1=4 ∧ 2=3(R×R))
也可寫成:R∩π2,1(R)
⑶ 元組表達(dá)式為:{ t | ($u) ($v) (R(u) ∧ R(v) ∧ u[1]=v[2] ∧ u[2]=v[1] ∧ t[1]=u[1] ∧ t[2]=u[2])}
或:{ t | ($v) (R(t) ∧ R(v) ∧ t[1]=v[2] ∧ t[2]=v[1])}
2.13 有兩個關(guān)系R (A, B, C)和是S(D, E, F),試把下列關(guān)系代數(shù)表達(dá)式轉(zhuǎn)換成等價的元組表達(dá)式:
①πA(R); ②σB=’17’(R);
③ R×S; ④πA,F(σC=D 48、(R×S)
解:①πA(R):{ t | ($u) ( R(u) ∧ t[1]=u[1])}
②σB='17'(R):{ t | R(t) ∧ t[2]= '17'}
③ R×S:{ t | ($u) ($v) ( R(u) ∧ S(v) ∧ t[1]=u[1] ∧ t[2]=u[2] ∧t[3]=u[3]
∧ t[4]=v[1] ∧t[5]=v[2] ∧t[6]=v[3])}
④πA,F(xiàn)(σC=D(R×S)):{ t | ($u) ($v) ( R(u) ∧ S(v) ∧ u[3]=v[1] ∧ t[1]=u[1]
∧ t[2]=v[3])}
l 2.14 設(shè)有關(guān)系R(A, 49、B,C)和S(A,B,C),試把下列關(guān)系代數(shù)表達(dá)式轉(zhuǎn)換成等價的域表達(dá)式:
① πA(R) ② σ2=′17′(R)
③ R∪S ④ R∩S
⑤ R-S ⑥ π1,2(R) π2,3(S)
解:① πA(R): { t1 | ($u2) ($u3) ( R(t1u2u3))}
② σ2=′17′(R): { t1t2t3 | R(t1t2t3) ∧ t2= '17'}
③ R∪S:{ t1t2t3 | R(t1t2t3) ∨ S(t1t2t3)}
④ R∩S:{ t1t2t3 | R(t1t2t3) ∧ S(t1t2t3)}
⑤ 50、R-S:{ t1t2t3 | R(t1t2t3) ∧┓ S(t1t2t3)}
⑥ π1,2(R) π2,3(S):{ t1t2t3 | ($u3) ($v1) | R(t1t2u3) ∧ S(v1t2t3)}
l 2.15 設(shè)有關(guān)系R(A,B)和S(A,C),試把下列域表達(dá)式轉(zhuǎn)換成等價的關(guān)系代數(shù)表達(dá)式:
l ① {a |($b)(R(ab)∧ b=17)}
l ② {abc |(R(ab)∧ S(ac))}
l ③ {a |($b)(R(ab))∨("c)(($d)(S(dc))?S(ac))}
l ④ {a |($c)(S(ac)∧($b1)($b2)(R(ab1)∧R 51、(cb2)∧b1>b2))}
l 解:① π1(σ2=′17′(R))
l ② R?S
l ③ π1(R)∪(S÷π2(S))
l ④ π1(σ1=3 ∧ 2=5 ∧ 4>6(S×R×R))
2.16 設(shè)兩個關(guān)系R (A,B )和S (A,C )。用null表示空值,分別寫出等價于下列表達(dá)式的元組關(guān)系演算表達(dá)式:
① R S; ② R S; ③ R S 。
解:① R S:
{ t | ($u) ($v) (R(u) ∧ S(v) ∧ u[1]=v[1] ∧ t[1]=u[1] ∧t[2]=u[2] ∧ t[3]=v[2])
∨ ($v) ("u) 52、 (S(v) ∧ R(u) ∧ v[1]≠u[1] ∧ t[1]=null ∧t[2]=v[1] ∧ t[3]=v[2])}
② R S:
{ t | ($u) ($v) (R(u) ∧ S(v) ∧ u[1]=v[1] ∧ t[1]=u[1] ∧t[2]=u[2] ∧ t[3]=v[2])
∨ ($u) ("v) (R(u) ∧ S(v) ∧ u[1]≠v[1] ∧ t[1]=u[1] ∧t[2]=u[2] ∧ t[3]=null)
∨ ($v) ("u) (S(v) ∧ R(u) ∧ v[1]≠u[1] ∧ t[1]=null ∧t[2]=v[1] ∧ t[3]=v[2]) 53、}
③ R S:
{ t | ($u) ($v) (R(u) ∧ S(v) ∧ u[1]=v[1] ∧ t[1]=u[1] ∧t[2]=u[2] ∧ t[3]=v[2])
∨ ($u) ("v) (R(u) ∧ S(v) ∧ u[1]≠v[1] ∧ t[1]=u[1] ∧t[2]=u[2] ∧ t[3]=null)
2.17 設(shè)有三個關(guān)系:
S(S#,SNAME,AGE,SEX)
SC(S#,C#,CNAME)
C(C#,CNAME,TEACHER)
試用關(guān)系代數(shù)表達(dá)式表示下列查詢語句:
① 檢索LIU老師所授課程的課程號和課程名。
② 檢索年齡大 54、于23歲的男學(xué)生的學(xué)號和姓名。
③ 檢索學(xué)號為S3學(xué)生所學(xué)課程的課程名與任課教師名。
④ 檢索至少選修LIU老師所授課程中一門課的女學(xué)生姓名。
⑤ 檢索WANG同學(xué)不學(xué)的課程的課程號。
⑥ 檢索至少選修兩門課的學(xué)生學(xué)號。
⑦ 檢索全部學(xué)生都選修的課程的課程號與課程名。
⑧ 檢索選修課程包含LIU老師所授全部課程的學(xué)生學(xué)號。
解:⑴ πC#,CNAME(σTNAME='LIU'(C))
⑵ πS#,SNAME(σAGE>'23' ∧ SEX='M'(SC))
⑶ πCNAME,TNAME(σS#='S3'(SC?C))
⑷ πSNAME(σSEX='F' ∧ TNAME='L 55、IU'(S?SC?C))
⑸ πC#(C)-πC#(σSNAME='WANG'(S?SC))
⑹ π1(σ1=4 ∧ 2≠5(SC×SC))
⑺ πC#,CNAME(C?(πS#,C#(SC)÷πS#(S)))
⑻ πS#,C#(SC)÷πC#(σTNAME='LIU'(C))
2.18 試用元組表達(dá)式表示第2.17題中各個查詢語句。
解:⑴ { t | ($u) (C(u) ∧ u[3]='LIU' ∧ t[1]=u[1] ∧ t[2]=u[2])}
⑵ { t | ($u) (S(u) ∧ u[3]>23 ∧ u[4]='M' ∧ t[1]=u[1] ∧ t[2]=u[2]) 56、}
⑶ { t | ($u) ($v) (SC(u) ∧ C(v) ∧ u[1]='S3' ∧ u[2]=v[1] ∧ t[1]=v[2] ∧t[2]=v[3])}
(此處自然聯(lián)接條件u[2]=v[1]不要遺漏)
⑷ { t | ($u) ($v) ($w) (S(u) ∧ SC(v) ∧ C(w) ∧ w[3]='LIU' ∧ u[4]='F' ∧u[1]=v[1] ∧ v[2]=w[1] ∧ t[1]=u[2])}
(此處自然聯(lián)接條件u[1]=v[1]和v[2]=w[1]不要遺漏)
⑸ { t | ($u) ($v) ("w) (C(u) ∧ S(v) ∧ SC(w) ∧ v[2 57、]='WANG' ∧
(w[1]=v[1] => w[2]≠u[1]) ∧ t[1]=u[1])}
其意思是:在關(guān)系C中存在一門課程,在關(guān)系S中存在一個WANG同學(xué),在關(guān)系SC中要求不存在WANG同學(xué)學(xué)這門課程的元組。也就是要求在關(guān)系SC中,WANG同學(xué)學(xué)的課程都不是這門課程(因此在元組表達(dá)式中要求全稱量詞")。
⑹ { t | ($u) ($v) (SC(u) ∧ SC(v) ∧ u[1]=v[1] ∧ u[2]≠v[2] ∧ t[1]=u[1])}
⑺ { t | ($u) ("v) ($w) (C(u) ∧ S(v) ∧ SC(w) ∧ w[2]=u[1] ∧ w[1]=v[1 58、] ∧t[1]=u[1] ∧ t[2]=u[2])}
其意思是:在關(guān)系C中找一課程號,對于關(guān)系S中每一個學(xué)生,都應(yīng)該學(xué)這門課(即在關(guān)系SC中存在這個學(xué)生選修這門課的元組)。
⑻ { t | ($u) (SC(u) ∧ ("v) (C(v)
∧(v[3]='LIU' => ($w) (SC(w) ∧ w[1]=u[1] ∧ w[2]=v[1])))∧ t[1]=u[1])}
其意思是:在關(guān)系SC中找一個學(xué)號,對于關(guān)系C中LIU老師的每一門課,這個學(xué)生都學(xué)了(即在關(guān)系SC中存在這個學(xué)生選修這門課的元組)。
由于在括號中出現(xiàn)“=>”符號(包含有“∨”的語義),因此括號中的量詞($w 59、)就不能隨意往左邊提了。
2.19 試用域表達(dá)式表示第2.17題的各個查詢語句。
解:① { t1 t2 | ($u1 u2 u3) (C(u1 u2 u3) ∧ u3='LIU' ∧ t1=u1 ∧ t2=u2)}
再簡化成:{ t1 t2 | C(t1 t2 'LIU')}
此處($u1 u2 u3)是($u1) ($u2) ($u3) 的簡寫,下同。
② { t1 t2 | ($u1 u2 u3 u4) (S(u1 u2 u3 u4) ∧ u3>'23' ∧ u4='M' ∧ t1=u1∧ t2=u2)}
再簡化成:{ t1 t2 | ($u3) (S(t1 t2 u3 60、 'M') ∧ u3>'23')}(以下各題的化簡略)
③ { t1 t2 | ($u1 u2 u3) ($v1 v2 v3) (SC(u1 u2 u3) ∧ C(v1 v2 v3) ∧ u1='s3' ∧ u2= v1
∧ t1=v2 ∧ t2=v3)}
④ { t1 | ($u1 u2 u3 u4) ($v1 v2 v3) ($w1 w2 w3) (S(u1 u2 u3 u4) ∧ SC(v1 v2 v3)
∧ C(w1 w2 w3) ∧w3='LIU' ∧ u4='F' ∧ u1=v1 ∧ v2=w1 ∧ t2=u2)}
(⑤~⑧題的域表達(dá)式,讀者可以很容易寫出,此處略)
61、2.20 設(shè)關(guān)系R和S的屬性集相同,W是R的屬性集的子集,試說明下列等式是否成立,并指出它們的正確表示:
① πW(R-S) =πW(R)-πW(S)
② πW(R∩S) =πW(R)∩πW(S)
③ πW(R∪S) =πW(R)∪πW(S)
答:① πW(R-S) =πW(R)-πW(S)是一個錯誤的式子。
譬如R只有一個元組(1,2,3),S只有一個元組(1,2,4),W為R、S中前兩個屬性。顯然R和S不滿足上式。正確的式子應(yīng)該是πW(R-S) =πW(R)-S。
② πW(R∩S) =πW(R)∩πW(S)是一個錯誤的式子。
譬如R只有一個元組(1,2,3),S只有一個元組 62、(1,2,4),W為R、S中前兩個屬性。顯然R和S不滿足上式。此時不可以把π操作往里移。
③ πW(R∪S) =πW(R)∪πW(S)是一個正確的式子。
2.21 在教學(xué)數(shù)據(jù)庫的關(guān)系S、SC、C中,用戶有一查詢語句:檢索女同學(xué)選修課程的課程名和任課教師名。
① 試寫出該查詢的關(guān)系代數(shù)表達(dá)式。
② 畫出查詢表達(dá)式的語法樹。
③ 使用啟發(fā)式優(yōu)化算法,對語法樹進(jìn)行優(yōu)化,并畫出優(yōu)化后的語法樹。
解:① 關(guān)系代數(shù)表達(dá)式為:
πCNAME,TEACHER(σSEX=’F’(S?SC?C))
②上述關(guān)系代數(shù)表達(dá)式的語法樹如圖2.2所示。
π
σ
?
?
S
SC
CNAME,T 63、EACHE
SEX=’F’
C
圖2.2
③ 上述的關(guān)系代數(shù)表達(dá)式為:
πCNAME,TEACHER(σSEX=’F’(πL(σS.S#=SC.S# ∧ SC.C#=C.C#((S×SC)×C))))
此處L為S、SC、C中全部屬性(公共屬性只取一次)。
設(shè)L1=πS#(σSEX='F'(S))
L2=πS#,C#(SC)
則優(yōu)化的關(guān)系代數(shù)表達(dá)式為:
πCNAME,TEACHER(σSC.C#=C.C#(πSC.C#(σS.S#=SC.S#(L1×L2))×C))
優(yōu)化后的語法樹如圖2.3所示。
64、
π
σ
S
S#
SEX='F'
π
SC
S#,C#
π
σ
×
CNAME,TEACHER
SC.C#=C.C#
π
σ
×
SC.C#
S.S#=SC.S#
C
圖2.3
l
l 2.22 為什么要對關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化?有哪三條啟發(fā)式規(guī)則?對優(yōu)化起什么作用?
答:關(guān)系代數(shù)表達(dá)式由關(guān)系代數(shù)操作組合而成。操作中,以笛卡爾積和聯(lián)接操作最費時,并生成大量的中間結(jié)果。如果直接按表達(dá)式書寫的順序執(zhí)行,必將花費很多時間,并生成大量的中間結(jié)果,效率較 65、低。在執(zhí)行前,由DBMS的查詢子系統(tǒng)先對關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化,盡可能先執(zhí)行選擇和投影操作,以便減少中間結(jié)果,并節(jié)省時間。
優(yōu)化工作是由DBMS做的,用戶書寫時不必關(guān)心優(yōu)化一事,仍以簡練的形式書寫。
l 三條啟發(fā)式規(guī)則是:盡可能早執(zhí)行選擇操作;盡可能早執(zhí)行投影操作;把笛卡爾積與附近的一連串選擇和投影合并起來做。
l 使用這三條規(guī)則,可以使計算時盡可能減少中間關(guān)系的數(shù)據(jù)量。
l 2.23 試解釋關(guān)系邏輯中的名詞:
l ·謂詞:在關(guān)系邏輯中,每一個謂詞符號表示了一個關(guān)系,但在規(guī)則中謂詞符號類似于關(guān)系演算中的公式。
l ·外延謂詞:其關(guān)系存儲在數(shù)據(jù)庫中的謂詞稱為“外延謂詞”。
66、
l ·內(nèi)涵謂詞:由邏輯規(guī)則定義的謂詞稱為“內(nèi)涵謂詞”。
·外延數(shù)據(jù)庫:用“外延數(shù)據(jù)庫”的縮寫EDB來引用外延謂詞或相應(yīng)關(guān)系。
·內(nèi)涵數(shù)據(jù)庫:用“內(nèi)涵數(shù)據(jù)庫”的縮寫IDB來引用內(nèi)涵謂詞或相應(yīng)關(guān)系。
l ·原子:關(guān)系邏輯中的基本成分,稱為原子。原子有關(guān)系原子和算術(shù)原子兩種。
l ·關(guān)系原子:關(guān)系原子是一個謂詞符號,帶一個參數(shù)表,每個參數(shù)可以是變量或常量。用大寫字母表示謂詞符號,用小寫字母表示變量,常量用引號括起來。
l ·算術(shù)原子:算術(shù)原子是算術(shù)比較表達(dá)式。
·規(guī)則:規(guī)則是形為W←P1∧P2∧…∧Pn的式子,規(guī)則有三部分組成:
① 一個稱為頭部(head)的關(guān)系原子;
② 符號“←”,通常讀作“if”;
③ 包括一個或多個原子的體(body),稱為子目標(biāo)(subgoal),它可能是關(guān)系原子,也可能是算術(shù)原子。各子目標(biāo)用“與”運(yùn)算符 ∧ 連接,并且子目標(biāo)前面可以有“非”運(yùn)算符┐,也可以沒有。
l ·查詢:關(guān)系邏輯中的查詢是一個或多個規(guī)則的聚集,規(guī)則之間的順序無關(guān)緊要。
l 2.24 假設(shè)R(A,B,C),S(A,B,C)和T(A,B,C)為三個關(guān)系。試對下列
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案