數(shù)據(jù)庫系統(tǒng)教程(第三版課后答案)
《數(shù)據(jù)庫系統(tǒng)教程(第三版課后答案)》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫系統(tǒng)教程(第三版課后答案)(140頁珍藏版)》請?jiān)谘b配圖網(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ù)階段等各階段的特點(diǎn)。 (3)數(shù)據(jù)描述 概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)等各階段中數(shù)據(jù)描述的術(shù)語,概念設(shè)計(jì)中實(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)系的實(shí)現(xiàn)方式。 (5)DB的體系結(jié)構(gòu) 三級結(jié)構(gòu),兩級映像,兩級數(shù)據(jù)獨(dú)立性,體系結(jié)構(gòu)各個(gè)層次
2、中記錄的聯(lián)系。 (6)DBMS DBMS的工作模式、主要功能和模塊組成。 (7)DBS DBS的組成,DBA,DBS的全局結(jié)構(gòu),DBS結(jié)構(gòu)的分類。 1.1.2本章的重點(diǎn)篇幅 (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ù):與一個(gè)聯(lián)系有關(guān)的實(shí)體集個(gè)數(shù),稱為聯(lián)系
3、的元數(shù)。 ·1:1聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體至多和實(shí)體集E2中的一個(gè)實(shí)體有聯(lián)系,反之亦然,那么E1和E2的聯(lián)系稱為“1:1聯(lián)系”。 ·1:N聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體可以與實(shí)體集E2中任意個(gè)(零個(gè)或多個(gè))實(shí)體有聯(lián)系,而E2中每個(gè)實(shí)體至多和E1中一個(gè)實(shí)體有聯(lián)系,那么E1和E2的聯(lián)系是“1:N聯(lián)系”。 ·M:N聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體可以與實(shí)體集E2中任意個(gè)(零個(gè)或多個(gè))實(shí)體有聯(lián)系,反之亦然,那么E1和E2的聯(lián)系稱為“M:N聯(lián)系”。 ·數(shù)據(jù)模型:能表示實(shí)體類型及實(shí)體間聯(lián)系的模型稱為“數(shù)據(jù)模型”。 ·概念數(shù)據(jù)模型:獨(dú)立于計(jì)算機(jī)系統(tǒng)、完全不涉及信息在計(jì)算機(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ì)算機(jī)觀點(diǎn)對數(shù)據(jù)建模的數(shù)據(jù)模型。 ·層次模型:用樹型(層次)結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為層次模型。 ·網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型。 ·關(guān)系模型:用二維表格表達(dá)實(shí)體集的數(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ù)獨(dú)立性:應(yīng)用程序和DB的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,不受影響。 ·物理數(shù)據(jù)獨(dú)立性:在DB的物理結(jié)構(gòu)改變時(shí),盡量不影響應(yīng)用程序。 ·邏輯數(shù)據(jù)獨(dú)立性:在DB的邏輯結(jié)構(gòu)改變時(shí),盡量不影響應(yīng)用程序。 ·主語言:編寫應(yīng)用程序的語言(如C一類高級程序設(shè)計(jì)語言),稱為主語言。 ·DDL:定義DB三級結(jié)構(gòu)的語言,稱為DDL。 ·DML:對DB進(jìn)行查詢和更新操作的語言,稱為DML。 ·過程性語言:用戶編程時(shí),不僅需要指出“做什么”,還需要指出“怎么做”的語言。 ·非過程性語言:用戶編程時(shí),只需指出“做什么”,不需要指出“怎么做”的語言。 ·DD(數(shù)據(jù)字典):存放三級
6、結(jié)構(gòu)定義的DB,稱為DD。 ·DD系統(tǒng):管理DD的軟件系統(tǒng),稱為DD系統(tǒng)。 1.2 試解釋DB、DBMS和DBS三個(gè)概念。 答:DB是長期存儲在計(jì)算機(jī)內(nèi)、有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。 DBMS是位于用戶與OS之間的一層數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問DB的方法。 DBS是實(shí)現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計(jì)算機(jī)硬件、軟件和數(shù)據(jù)資源組成的系統(tǒng),即采用數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)。 1.3 人工管理階段和文件系統(tǒng)階段的數(shù)據(jù)管理各有哪些特點(diǎn)? 答:人工管理階段主要有四個(gè)特點(diǎn): 數(shù)據(jù)不保存在計(jì)算機(jī)內(nèi);沒有專用的軟件對數(shù)據(jù)進(jìn)行管理;只有程序的概念,沒有文件的概
7、念;數(shù)據(jù)面向程序。 文件系統(tǒng)階段主要有五個(gè)特點(diǎn): 數(shù)據(jù)以“文件”形式長期保存;數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)別;文件組織已多樣化;數(shù)據(jù)面向應(yīng)用;對數(shù)據(jù)的操作以記錄為單位。 1.4 文件系統(tǒng)階段的數(shù)據(jù)管理有些什么缺陷?試舉例說明。 答:主要有三個(gè)缺陷:數(shù)據(jù)冗余;數(shù)據(jù)不一致性;數(shù)據(jù)聯(lián)系弱。 例如學(xué)校里教務(wù)處、財(cái)務(wù)處、保健處建立的文件中都有學(xué)生詳細(xì)資料,譬如聯(lián)系電話,家庭住址等。這就是“數(shù)據(jù)”冗余;如果某個(gè)學(xué)生搬家,就要修改三個(gè)部門文件中的數(shù)據(jù),否則會引起同一數(shù)據(jù)在三個(gè)部門中不一致;產(chǎn)生上述問題的原因是這三個(gè)部門的文件中數(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)是一個(gè)典型的層次DBS; ·1969年美國CODASYL組織DBTG報(bào)告,提出網(wǎng)狀DBS的概念; ·1970年美國IBM公司的E.F.Codd發(fā)表論文,提出關(guān)系模型的思想。 1.6 數(shù)據(jù)庫階段的數(shù)據(jù)管理有哪些特點(diǎn)? 答:主要有五個(gè)特點(diǎn): 采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu);有較高的數(shù)據(jù)獨(dú)立性;為用戶提供了方便的用戶接口;提供了四個(gè)方面的數(shù)據(jù)控制功能;對數(shù)據(jù)的操作以數(shù)據(jù)項(xiàng)為單位,增加了系統(tǒng)的靈活性。 1.7 與“文件”結(jié)構(gòu)相比,“數(shù)據(jù)庫”結(jié)構(gòu)有些什么不同? 答:與文件結(jié)構(gòu)相比,數(shù)
9、據(jù)庫結(jié)構(gòu)主要有下面三點(diǎn)不同: ·數(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ù)本身的特點(diǎn),還要描述數(shù)據(jù)之間的聯(lián)系。 ·數(shù)據(jù)獨(dú)立性。文件只有設(shè)備獨(dú)立性,而數(shù)據(jù)庫還具有邏輯獨(dú)立性和物理獨(dú)立性。 ·訪問數(shù)據(jù)的單位。訪問文件中的數(shù)據(jù),以記錄為單位。訪問數(shù)據(jù)庫中的數(shù)據(jù),以數(shù)據(jù)項(xiàng)(字段)為單位,增加了系統(tǒng)的靈活性。 1.8 什么是數(shù)據(jù)獨(dú)立性?在數(shù)據(jù)庫中有哪兩級獨(dú)立性? 答:數(shù)據(jù)獨(dú)立性是指應(yīng)用程序與DB的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立。在物理結(jié)構(gòu)改變時(shí),盡量不影響應(yīng)用程
10、序,稱為物理數(shù)據(jù)獨(dú)立性;在邏輯結(jié)構(gòu)改變時(shí),盡量不影響應(yīng)用程序,稱為邏輯數(shù)據(jù)獨(dú)立性。 1.9 分布式數(shù)據(jù)庫系統(tǒng)和面向?qū)ο髷?shù)據(jù)庫系統(tǒng)各有哪些特點(diǎn)? 答:DDBS主要有三個(gè)特點(diǎn): ·數(shù)據(jù)物理上分布在各地,但邏輯上是一個(gè)整體; ·每個(gè)場地既可以執(zhí)行局部應(yīng)用,也可以執(zhí)行全局應(yīng)用; ·各地的計(jì)算機(jī)由數(shù)據(jù)通信網(wǎng)絡(luò)相連接。 面向?qū)ο髷?shù)據(jù)系統(tǒng)主要有兩個(gè)特點(diǎn): ·面向?qū)ο髷?shù)據(jù)模型能完整地描述現(xiàn)實(shí)世界的數(shù)據(jù)結(jié)構(gòu),能表達(dá)數(shù)據(jù)間嵌套、遞歸的聯(lián)系。 ·具有面向?qū)ο蠹夹g(shù)的封裝性和繼承性的特點(diǎn),提高了軟件的可重用性。 1.10 邏輯記錄與物理記錄,邏輯文件與物理文件有些什么聯(lián)系和區(qū)別? 答:邏輯
11、數(shù)據(jù)是用戶用以操作的數(shù)據(jù)形式,是抽象的概念化數(shù)據(jù)。物理數(shù)據(jù)是實(shí)際存放在存儲設(shè)備上的數(shù)據(jù)。 邏輯數(shù)據(jù)與物理數(shù)據(jù)在結(jié)構(gòu)上可以差別很大,需通過兩級映象來進(jìn)行數(shù)據(jù)傳輸和格式轉(zhuǎn)換。 從以上的解釋可以看出,邏輯記錄和邏輯文件是用戶在程序中使用的記錄和文件,而物理記錄和物理文件是指磁盤上的記錄和文件。邏輯記錄、文件與物理記錄、文件在結(jié)構(gòu)、組成上有很大的差異,而數(shù)據(jù)管理軟件就是通過三級結(jié)構(gòu)兩級映象來實(shí)現(xiàn)邏輯數(shù)據(jù)與物理數(shù)據(jù)之間的轉(zhuǎn)換。 1.11 試述ER模型、層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P偷闹饕攸c(diǎn)。 答:ER模型直接表示實(shí)體類型及實(shí)體間聯(lián)系,與計(jì)算機(jī)系統(tǒng)無關(guān),充分反映用戶的需求,用戶容
12、易理解。 層次模型的數(shù)據(jù)結(jié)構(gòu)為樹結(jié)構(gòu),記錄之間聯(lián)系通過指針實(shí)現(xiàn),查詢較快,但DML屬于過程化的,操作復(fù)雜。 網(wǎng)狀模型的數(shù)據(jù)結(jié)構(gòu)為有向圖,記錄之間聯(lián)系通過指針實(shí)現(xiàn),查詢較快,并且容易實(shí)現(xiàn)M:N聯(lián)系,但DML屬于過程化的語言,編程較復(fù)雜。 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)為二維表格,容易為初學(xué)者理解。記錄之間聯(lián)系通過關(guān)鍵碼實(shí)現(xiàn)。DML屬于非過程化語言,編程較簡單。 面向?qū)ο竽P湍芡暾枋霈F(xiàn)實(shí)世界的數(shù)據(jù)結(jié)構(gòu),具有豐富的表達(dá)能力,能表達(dá)嵌套、遞歸的數(shù)據(jù)結(jié)構(gòu)。但涉及的知識面較廣,用戶較難理解,這種模型尚未普及。 1.12 數(shù)據(jù)之間聯(lián)系在各種結(jié)構(gòu)數(shù)據(jù)模型中是怎么實(shí)現(xiàn)的? 答:在層次、網(wǎng)狀模型中,數(shù)據(jù)
13、之間的聯(lián)系通過指針實(shí)現(xiàn)的; 在關(guān)系模型中,數(shù)據(jù)之間聯(lián)系通過外鍵和主鍵間聯(lián)系實(shí)現(xiàn)的; 在面向?qū)ο竽P椭校瑪?shù)據(jù)之間嵌套、遞歸聯(lián)系通過對象標(biāo)識符(OID)實(shí)現(xiàn)的(見第8章)。 1.13 DB的三級模式結(jié)構(gòu)描述了什么問題?試詳細(xì)解釋。 答:DB的三級模式結(jié)構(gòu)是對數(shù)據(jù)的三個(gè)抽象級別,分別從外部(用戶)級、概念級和內(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)定的中間觀點(diǎ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ù)獨(dú)立性與數(shù)據(jù)聯(lián)系這兩個(gè)概念有什么
15、區(qū)別? 答:數(shù)據(jù)獨(dú)立性是指應(yīng)用程序和DB的數(shù)據(jù)之間相互獨(dú)立,不受影響,對系統(tǒng)的要求是“數(shù)據(jù)獨(dú)立性要高”,而數(shù)據(jù)聯(lián)系是指記錄之間的聯(lián)系,對系統(tǒng)的要求是“數(shù)據(jù)聯(lián)系密切”。 1.17 試述DBMS的工作模式和主要功能。 答:DBMS的工作模式有六點(diǎn): ·接受應(yīng)用程序的數(shù)據(jù)請求和處理請求; ·將用戶的數(shù)據(jù)請求轉(zhuǎn)換成低層指令; ·實(shí)現(xiàn)對DB的操作; ·從對DB的操作中接受查詢結(jié)果; ·對查詢結(jié)構(gòu)進(jìn)行處理; ·將處理結(jié)果返回給用戶。 DBMS的主要功能有DB的定義、操縱、保護(hù)、維護(hù)和數(shù)據(jù)字典等五個(gè)功能。 1.18 試敘述DBMS對數(shù)據(jù)庫的維護(hù)功能。 答:包括DB的數(shù)據(jù)載
16、入、轉(zhuǎn)換、轉(zhuǎn)儲、DB的改組以及性能監(jiān)控等功能。這些功能分別由各個(gè)實(shí)用程序完成。 1.19 從模塊結(jié)構(gòu)觀察,DBMS由哪些部分組成? 答:DBMS由兩大部分組成:查詢處理器和存儲管理器。(解釋略) 1.20 DBS有哪幾部分組成?其中DD有什么作用? 答:DBS由DB、硬件、軟件和DBA等四個(gè)部分組成。(解釋略) 在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點(diǎn):定義模式;定義內(nèi)模式;與用戶的聯(lián)絡(luò);定義安全性規(guī)則;定義完整性規(guī)則;DB的轉(zhuǎn)儲與恢復(fù)。 1.23 試對DBS的全局結(jié)構(gòu)作詳細(xì)解釋。 答:從四個(gè)方面解釋: ·數(shù)據(jù)
18、庫用戶有四類:DBA,專業(yè)用戶,應(yīng)用程序員,終端用戶。 ·DBMS的查詢處理器有四個(gè)模塊:DML編譯器,嵌入型DML預(yù)編譯器,DDL編譯器,查詢運(yùn)行核心程序。 ·DBMS的存儲管理器有四個(gè)模塊:授權(quán)和完整性管理器,事務(wù)管理器,文件管理器,緩沖區(qū)管理器。 ·磁盤存儲器中有五種數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)文件,數(shù)據(jù)字典,索引文件,統(tǒng)計(jì)數(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ì)算機(jī)的系統(tǒng)結(jié)構(gòu),DBS可分成哪四種?各有什么特點(diǎn)? 答:根據(jù)計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu),DBS可分成集中式、C/S式、并行式和分布式等四種 集中式DBS的特點(diǎn)是單點(diǎn)數(shù)據(jù)(DB集中在一個(gè)場地)單地處理(單個(gè)CPU)。 C/S式DBS的特點(diǎn)是計(jì)算機(jī)的功能分放在客戶機(jī)和服務(wù)器上(即功能的分布)??蛻魴C(jī)上專門實(shí)現(xiàn)前端處理和用戶界面。服務(wù)器上完成事務(wù)處理和數(shù)據(jù)訪問控制。 并行式DBS的特點(diǎn)是使用多個(gè)CPU和多個(gè)磁盤進(jìn)行并行操作。 分布式DBS的特點(diǎn)是多點(diǎn)數(shù)據(jù)(DB分布在多個(gè)場地)多點(diǎn)處理(多個(gè)CPU)。數(shù)據(jù)具有物理分布性和邏輯整體性特點(diǎn)。系統(tǒng)中事務(wù)有本地事務(wù)(訪問本地DB)和全局事務(wù)(訪問至少兩
20、個(gè)場地的DB)之分。 1.28 DBS能產(chǎn)生哪些效益? 答:DBS的應(yīng)用,使計(jì)算機(jī)應(yīng)用深入到社會的每個(gè)角落。其效益有以下7個(gè)方面:靈活性,簡易性,面向用戶,有效的數(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ù)獨(dú)立性是指__________獨(dú)立性。 3.文件系統(tǒng)的缺陷是:_________、_________和__________。 4.就信息處理的方式而言,在文件系統(tǒng)階段,__________處于主導(dǎo)地位,_____
21、____只起著服從程序設(shè)計(jì)需要的作用;而在數(shù)據(jù)庫方式下,_________占據(jù)了中心位置。 5.對現(xiàn)實(shí)世界進(jìn)行第一層抽象的模型,稱為__________模型;對現(xiàn)實(shí)世界進(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)是對__________的三個(gè)抽象級別。
22、9.DBMS為應(yīng)用程序運(yùn)行時(shí)開辟的DB系統(tǒng)緩沖區(qū),主要用于__________和__________。 10.在數(shù)據(jù)庫技術(shù)中,編寫應(yīng)用程序的語言仍然是C一類高級語言,這些語言被稱為__________語言。 11.在DB的三級模式結(jié)構(gòu)中,數(shù)據(jù)按__________的描述提供給用戶,按__________的描述存儲在磁盤中,而__________提供了連接這兩級的相對穩(wěn)定的中間觀點(diǎn),并使得兩級中的任何一級的改變都不受另一級的牽制。 12.層次、網(wǎng)狀的DML屬于________語言,而關(guān)系型DML屬于_________語言。 13.DBS中存放三級結(jié)構(gòu)定義的DB稱為__________。
23、 14.從模塊結(jié)構(gòu)考察,DBMS由兩大部分組成:__________和__________。 15.DBA有兩個(gè)很重要的工具:__________和__________。 16.DBS是________、_________、_________和_________的集合體。 17.DBS的全局結(jié)構(gòu)體現(xiàn)了其__________結(jié)構(gòu)。 18.在DBS中,DB在磁盤上的基本組織形式是_________,這樣可以充分利用OS _________的功能。 19.根據(jù)計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu),DBS可分成四種類型:_______、_______、_______和_______。 20.?dāng)?shù)據(jù)獨(dú)立性使得修改
24、DB結(jié)構(gòu)時(shí)盡量不影響已有的__________。 1.3.2 單項(xiàng)選擇題(在備選答案中選出一個(gè)正確答案) 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)是對_________抽象的三個(gè)級別。 [ ] A.存儲器 B.數(shù)據(jù) C.程序 D. 外存 4.DB的三級模式結(jié)構(gòu)中最接近外部存儲器的是 [
25、] A.子模式 B.外模式 C.概念模式 D.內(nèi)模式 5.DBS具有“數(shù)據(jù)獨(dú)立性”特點(diǎn)的原因是因?yàn)樵贒BS中 [ ] A.采用磁盤作為外存 B.采用三級模式結(jié)構(gòu) C.使用OS來訪問數(shù)據(jù) D.用宿主語言編寫應(yīng)用程序 6.在DBS中,“數(shù)據(jù)獨(dú)立性”和“數(shù)據(jù)聯(lián)系”這兩個(gè)概念之間聯(lián)系是 [ ] A.沒有必然的聯(lián)系 B.同時(shí)成立或不成立 C.前者蘊(yùn)涵后者 D.后者蘊(yùn)涵前者 7.?dāng)?shù)據(jù)獨(dú)立性是指 [ ] A.?dāng)?shù)據(jù)之間相互獨(dú)立 B.應(yīng)用程序與DB的結(jié)構(gòu)之間相互獨(dú)立 C.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)相互獨(dú)
26、立 D.?dāng)?shù)據(jù)與磁盤之間相互獨(dú)立 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)行操作,實(shí)際上操作的是 [ ] 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ù)三個(gè)發(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ì)算機(jī)應(yīng)用 2.設(shè)備 3.?dāng)?shù)據(jù)冗余 數(shù)據(jù)不一致 數(shù)據(jù)聯(lián)系弱 4.程序設(shè)計(jì) 數(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.一系列實(shí)用程序 DD系統(tǒng) 16.?dāng)?shù)據(jù)庫 硬件 軟件 DBA 17.模塊功能 18. 文件 管理外存(或文件系統(tǒng)) 19.集中式 C/S式 并行式 分布式 20.應(yīng)用程序 1.4.2 單項(xiàng)選擇題答案 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ù)三個(gè)發(fā)展階段的詳細(xì)比較見圖1.1。
29、 人工管理階段 文件系統(tǒng)階段 數(shù)據(jù)庫階段 時(shí) 間 20世紀(jì)50年代 60年代 70年代 環(huán) 外存 紙帶、卡片、磁帶 磁盤 大容量磁盤 境 軟件 匯編語言 3GL、OS DBMS 計(jì)算機(jī)應(yīng)用 科學(xué)計(jì)算 進(jìn)入企業(yè)管理 企業(yè)管理 數(shù)據(jù)的管理者 用戶(程序員) 文件系統(tǒng) DBS 數(shù)據(jù)的針對者 面向某一應(yīng)用程序 面向某一應(yīng)用 面向現(xiàn)實(shí)世界 數(shù)據(jù)的共享程度 無共享 共享性差、冗余度大 共享性高、冗余度小 數(shù)據(jù)獨(dú)立性 無獨(dú)立性, 獨(dú)立性差, 有高度的物理獨(dú)立性, 數(shù)據(jù)
30、完全依賴于程序 有設(shè)備獨(dú)立性 一定的邏輯獨(dú)立性 數(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起著核心的作用,實(shí)現(xiàn)“數(shù)據(jù)三級結(jié)構(gòu)轉(zhuǎn)換”的工作。 3.答:在應(yīng)用程序運(yùn)行時(shí),DBMS在內(nèi)存為其開辟一個(gè)程序工作區(qū),稱為“DB的系統(tǒng)緩沖區(qū)”。這個(gè)工作區(qū)主要用于“數(shù)據(jù)的傳輸和格式的轉(zhuǎn)換”。 4.答:DBS應(yīng)包括DBMS、OS、宿主語言和應(yīng)用開發(fā)支撐軟件等四部分系統(tǒng)軟件。 DBMS是管理DB的軟件系統(tǒng),但對硬盤的管理是由OS實(shí)現(xiàn)的,因此DBS中應(yīng)包括DBMS和OS這兩個(gè)主要的系統(tǒng)軟
31、件。 編寫應(yīng)用程序仍然是用C一類高級程序設(shè)計(jì)語言,這些語言在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ù) 五個(gè)基本操作,四個(gè)組合操作,七個(gè)擴(kuò)充操作。 (3)關(guān)系演算 元組關(guān)
32、系演算和域關(guān)系演算的原子公式、公式的定義。關(guān)系演算的安全性和等價(jià)性。 (4)關(guān)系代數(shù)表達(dá)式的優(yōu)化 關(guān)系代數(shù)表達(dá)式的等價(jià)及等價(jià)轉(zhuǎn)換規(guī)則,啟化式優(yōu)化算法。 (5)關(guān)系邏輯 謂詞、原子、規(guī)則和查詢,規(guī)則的安全性,用規(guī)則模擬關(guān)系代數(shù)表達(dá)式。 2.1.2 本章的重點(diǎn)篇幅 (1)教材中P56的例2.7(關(guān)系代數(shù)表達(dá)式的應(yīng)用實(shí)例)。 (2)教材中P63的例2.19(元組表達(dá)式的應(yīng)用實(shí)例)。 (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、)形式。這是因?yàn)橐粋€(gè)學(xué)生學(xué)的課程的成績可能是不一樣的。 (4)對于教材P56的例2.7的8個(gè)查詢語句的關(guān)系代數(shù)表達(dá)式,考生一定要掌握,這是基礎(chǔ)。 2.非過程性語言與過程性語言的區(qū)別 編程時(shí)必須指出“干什么”及“怎么干”的語言,稱為過程性語言;編程時(shí)只須指出“干什么”,不必指出“怎么干”的語言,稱為非過程性語言。 兩種語言的主要區(qū)別見圖2.1。 過程性語言 非過程性語言 編程時(shí),必須指出“怎么干” 編程時(shí),不必指出“怎么干” 由用戶進(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)系模型:用二維表格表示實(shí)體集,外鍵和主鍵表示實(shí)體間聯(lián)系的數(shù)據(jù)模型,稱為關(guān)系模型。 ·關(guān)系模式:是對關(guān)系的描述,包括模式名、諸屬性名、值域名和模式的主鍵。 ·關(guān)系實(shí)例:關(guān)系模式具體的值,稱為關(guān)系實(shí)例。 ·屬性:即字段或數(shù)據(jù)項(xiàng),與二維表中的列對應(yīng)。屬性個(gè)數(shù),稱為元數(shù)(arity)。 ·域:屬性的取值范圍,稱為域。 ·元組:即記錄,與二維表中的行對應(yīng)。元組個(gè)數(shù),稱為基數(shù)(cardinality)。 ·超鍵:能惟一標(biāo)識元組的屬性或?qū)傩约?,稱為關(guān)系的超鍵。 ·候選鍵:不含有多余屬性的超鍵,
36、稱為候選鍵。 ·主鍵:正在使用的、用于標(biāo)識元組的候選鍵,稱為主鍵。 ·外鍵:屬性集F是模式S的主鍵,在模式R中也出現(xiàn),那么稱F是模式R的外鍵。 ·實(shí)體完整性規(guī)則:實(shí)體的主鍵值不允許是空值。 ·參照完整性規(guī)則:依賴關(guān)系中的外鍵值或者為空值,或者是相應(yīng)參照關(guān)系中某個(gè)主鍵碼。 ·過程性語言:編程時(shí)必須給出獲得結(jié)果的操作步驟,即指出“干什么”及“怎么干”的語言。 ·非過程性語言:編程時(shí),只需指出需要什么信息,不必給出具體的操作步驟,即只要指出“干什么”,不必指出“怎么干”的語言。 ·無限關(guān)系:指元組個(gè)數(shù)為無窮多個(gè)的關(guān)系。 ·無窮驗(yàn)證:驗(yàn)證公式真假時(shí)需要進(jìn)行無限次驗(yàn)證。 l 2.2 在
37、關(guān)系模型中,對關(guān)系作了哪些規(guī)范性限制? 答:對關(guān)系作了一下四個(gè)限制: 屬性值不可分解;沒有重復(fù)元組;沒有行序;使用時(shí)有列序。 2.3 為什么關(guān)系中的元組沒有先后順序,且不允許有重復(fù)元組? 答:由于關(guān)系定義為元組的集合,而集合中的元素是沒有順序的,因此關(guān)系中的元組也就沒有先后的順序(對用戶而言)。這樣既能減少邏輯排序,又便于在關(guān)系數(shù)據(jù)庫中引進(jìn)集合論的理論。 每個(gè)關(guān)系模式都有一個(gè)主鍵,在關(guān)系中主鍵值是不允許重復(fù)的。如果關(guān)系中有重復(fù)元組,那么其主鍵值肯定相等,起不了惟一標(biāo)識作用,因此關(guān)系中不允許有重復(fù)元組。 l 2.4 外鍵值何時(shí)允許空?何時(shí)不允許空? 答:在依賴表中,當(dāng)外鍵是主鍵的
38、組成部分時(shí),外鍵值不允許空;否則外鍵值允許空。 2.5 笛卡兒積、等值聯(lián)接、自然聯(lián)接三者之間有什么區(qū)別? 答:笛卡爾積是一個(gè)基本操作,而等值聯(lián)接和自然聯(lián)接是組合操作。 設(shè)關(guān)系R的元數(shù)為r,元組個(gè)數(shù)為m;關(guān)系S的元數(shù)為s,元組個(gè)數(shù)為n。 那么,R×S的元數(shù)為r+s,元組個(gè)數(shù)為m×n; iθj R?S的元數(shù)也是r+s,但元組個(gè)數(shù)小于等于m×n; R?S的元數(shù)小于等于r+s,元組個(gè)數(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 計(jì)算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時(shí),R中每個(gè)元組都存在與之不相同的元組,因此表達(dá)式的結(jié)果為關(guān)系R;
當(dāng)R的元組數(shù)為0或1時(shí),表達(dá)式的結(jié)果為空關(guān)系。
2.10 假設(shè)R和S分別是三元和二元關(guān)系,試把表達(dá)式π1,5(σ2=4∨3=4(R×S))轉(zhuǎn)換成
等價(jià)的:①漢語查詢句子; 43、②元組表達(dá)式;③域表達(dá)式。
解:⑴ 在關(guān)系R和S的笛卡爾積中,選取第2個(gè)屬性值與第4個(gè)屬性值相等,或者第3個(gè)屬性值與第4個(gè)屬性值相等的那些元組,再取第1列和第5列組成新的關(guān)系。
⑵ 與(R×S)等價(jià)的元組表達(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)等價(jià)的元組表達(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))等價(jià)的元組表達(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)換成等價(jià)的:
①漢語查詢句子; ②域表達(dá)式; ③關(guān)系代數(shù)表達(dá)式。
答:①在關(guān)系R中選取第2列的值與關(guān)系S中某個(gè)元組的第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)換成等價(jià)的:⑴漢語查詢句子;⑵關(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 有兩個(gè)關(guān)系R (A, B, C)和是S(D, E, F),試把下列關(guān)系代數(shù)表達(dá)式轉(zhuǎn)換成等價(jià)的元組表達(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)換成等價(jià)的域表達(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)換成等價(jià)的關(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è)兩個(gè)關(guān)系R (A,B )和S (A,C )。用null表示空值,分別寫出等價(jià)于下列表達(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è)有三個(gè)關(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題中各個(gè)查詢語句。
解:⑴ { 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中存在一個(gè)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中每一個(gè)學(xué)生,都應(yīng)該學(xué)這門課(即在關(guān)系SC中存在這個(gè)學(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中找一個(gè)學(xué)號,對于關(guān)系C中LIU老師的每一門課,這個(gè)學(xué)生都學(xué)了(即在關(guān)系SC中存在這個(gè)學(xué)生選修這門課的元組)。
由于在括號中出現(xiàn)“=>”符號(包含有“∨”的語義),因此括號中的量詞($w 59、)就不能隨意往左邊提了。
2.19 試用域表達(dá)式表示第2.17題的各個(gè)查詢語句。
解:① { 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)是一個(gè)錯(cuò)誤的式子。
譬如R只有一個(gè)元組(1,2,3),S只有一個(gè)元組(1,2,4),W為R、S中前兩個(gè)屬性。顯然R和S不滿足上式。正確的式子應(yīng)該是πW(R-S) =πW(R)-S。
② πW(R∩S) =πW(R)∩πW(S)是一個(gè)錯(cuò)誤的式子。
譬如R只有一個(gè)元組(1,2,3),S只有一個(gè)元組 62、(1,2,4),W為R、S中前兩個(gè)屬性。顯然R和S不滿足上式。此時(shí)不可以把π操作往里移。
③ πW(R∪S) =πW(R)∪πW(S)是一個(gè)正確的式子。
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)接操作最費(fèi)時(shí),并生成大量的中間結(jié)果。如果直接按表達(dá)式書寫的順序執(zhí)行,必將花費(fèi)很多時(shí)間,并生成大量的中間結(jié)果,效率較 65、低。在執(zhí)行前,由DBMS的查詢子系統(tǒng)先對關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化,盡可能先執(zhí)行選擇和投影操作,以便減少中間結(jié)果,并節(jié)省時(shí)間。
優(yōu)化工作是由DBMS做的,用戶書寫時(shí)不必關(guān)心優(yōu)化一事,仍以簡練的形式書寫。
l 三條啟發(fā)式規(guī)則是:盡可能早執(zhí)行選擇操作;盡可能早執(zhí)行投影操作;把笛卡爾積與附近的一連串選擇和投影合并起來做。
l 使用這三條規(guī)則,可以使計(jì)算時(shí)盡可能減少中間關(guān)系的數(shù)據(jù)量。
l 2.23 試解釋關(guān)系邏輯中的名詞:
l ·謂詞:在關(guān)系邏輯中,每一個(gè)謂詞符號表示了一個(gè)關(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)系原子是一個(gè)謂詞符號,帶一個(gè)參數(shù)表,每個(gè)參數(shù)可以是變量或常量。用大寫字母表示謂詞符號,用小寫字母表示變量,常量用引號括起來。
l ·算術(shù)原子:算術(shù)原子是算術(shù)比較表達(dá)式。
·規(guī)則:規(guī)則是形為W←P1∧P2∧…∧Pn的式子,規(guī)則有三部分組成:
① 一個(gè)稱為頭部(head)的關(guān)系原子;
② 符號“←”,通常讀作“if”;
③ 包括一個(gè)或多個(gè)原子的體(body),稱為子目標(biāo)(subgoal),它可能是關(guān)系原子,也可能是算術(shù)原子。各子目標(biāo)用“與”運(yùn)算符 ∧ 連接,并且子目標(biāo)前面可以有“非”運(yùn)算符┐,也可以沒有。
l ·查詢:關(guān)系邏輯中的查詢是一個(gè)或多個(gè)規(guī)則的聚集,規(guī)則之間的順序無關(guān)緊要。
l 2.24 假設(shè)R(A,B,C),S(A,B,C)和T(A,B,C)為三個(gè)關(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)確性、安全性和完整性, 同時(shí)也不承擔(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 各種煤礦安全考試試題含答案