數(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 教材中習題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ù)模型:獨立于計算機系統(tǒng)、完全不涉及信息在計算機中的表示、反映企業(yè)組織
4、所關(guān)心的信息結(jié)構(gòu)的數(shù)據(jù)模型。 ·結(jié)構(gòu)數(shù)據(jù)模型(或邏輯數(shù)據(jù)模型):與DBMS有關(guān)的,直接面向DB的邏輯結(jié)構(gòu)、從計算機觀點對數(shù)據(jù)建模的數(shù)據(jù)模型。 ·層次模型:用樹型(層次)結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型稱為層次模型。 ·網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型。 ·關(guān)系模型:用二維表格表達實體集的數(shù)據(jù)模型。 ·外模式:是用戶用到的那部分數(shù)據(jù)的描述。 ·概念模式:數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。 ·內(nèi)模式:DB在物理存儲方面的描述。 ·外模式/模式映象:用于定義外模式和概念模式之間數(shù)據(jù)結(jié)構(gòu)的對應性。 ·模式/內(nèi)模式映象:用于定義概念模式和內(nèi)
5、模式之間數(shù)據(jù)結(jié)構(gòu)的對應性。 ·數(shù)據(jù)獨立性:應用程序和DB的數(shù)據(jù)結(jié)構(gòu)之間相互獨立,不受影響。 ·物理數(shù)據(jù)獨立性:在DB的物理結(jié)構(gòu)改變時,盡量不影響應用程序。 ·邏輯數(shù)據(jù)獨立性:在DB的邏輯結(jié)構(gòu)改變時,盡量不影響應用程序。 ·主語言:編寫應用程序的語言(如C一類高級程序設(shè)計語言),稱為主語言。 ·DDL:定義DB三級結(jié)構(gòu)的語言,稱為DDL。 ·DML:對DB進行查詢和更新操作的語言,稱為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是長期存儲在計算機內(nèi)、有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。 DBMS是位于用戶與OS之間的一層數(shù)據(jù)管理軟件,它為用戶或應用程序提供訪問DB的方法。 DBS是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計算機硬件、軟件和數(shù)據(jù)資源組成的系統(tǒng),即采用數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)。 1.3 人工管理階段和文件系統(tǒng)階段的數(shù)據(jù)管理各有哪些特點? 答:人工管理階段主要有四個特點: 數(shù)據(jù)不保存在計算機內(nèi);沒有專用的軟件對數(shù)據(jù)進行管理;只有程序的概念,沒有文件的概
7、念;數(shù)據(jù)面向程序。 文件系統(tǒng)階段主要有五個特點: 數(shù)據(jù)以“文件”形式長期保存;數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)別;文件組織已多樣化;數(shù)據(jù)面向應用;對數(shù)據(jù)的操作以記錄為單位。 1.4 文件系統(tǒng)階段的數(shù)據(jù)管理有些什么缺陷?試舉例說明。 答:主要有三個缺陷:數(shù)據(jù)冗余;數(shù)據(jù)不一致性;數(shù)據(jù)聯(lián)系弱。 例如學校里教務處、財務處、保健處建立的文件中都有學生詳細資料,譬如聯(lián)系電話,家庭住址等。這就是“數(shù)據(jù)”冗余;如果某個學生搬家,就要修改三個部門文件中的數(shù)據(jù),否則會引起同一數(shù)據(jù)在三個部門中不一致;產(chǎn)生上述問題的原因是這三個部門的文件中數(shù)據(jù)沒有聯(lián)系。 1.5 數(shù)據(jù)管理的數(shù)據(jù)庫階段產(chǎn)生的標志是哪三件事情?
8、 答:進入數(shù)據(jù)庫階段的標志是20世紀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ù)模型表示復雜的數(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ù)獨立性是指應用程序與DB的數(shù)據(jù)結(jié)構(gòu)之間相互獨立。在物理結(jié)構(gòu)改變時,盡量不影響應用程
10、序,稱為物理數(shù)據(jù)獨立性;在邏輯結(jié)構(gòu)改變時,盡量不影響應用程序,稱為邏輯數(shù)據(jù)獨立性。 1.9 分布式數(shù)據(jù)庫系統(tǒng)和面向?qū)ο髷?shù)據(jù)庫系統(tǒng)各有哪些特點? 答:DDBS主要有三個特點: ·數(shù)據(jù)物理上分布在各地,但邏輯上是一個整體; ·每個場地既可以執(zhí)行局部應用,也可以執(zhí)行全局應用; ·各地的計算機由數(shù)據(jù)通信網(wǎng)絡(luò)相連接。 面向?qū)ο髷?shù)據(jù)系統(tǒng)主要有兩個特點: ·面向?qū)ο髷?shù)據(jù)模型能完整地描述現(xiàn)實世界的數(shù)據(jù)結(jié)構(gòu),能表達數(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)上可以差別很大,需通過兩級映象來進行數(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)系,與計算機系統(tǒng)無關(guān),充分反映用戶的需求,用戶容
12、易理解。 層次模型的數(shù)據(jù)結(jié)構(gòu)為樹結(jié)構(gòu),記錄之間聯(lián)系通過指針實現(xiàn),查詢較快,但DML屬于過程化的,操作復雜。 網(wǎng)狀模型的數(shù)據(jù)結(jié)構(gòu)為有向圖,記錄之間聯(lián)系通過指針實現(xiàn),查詢較快,并且容易實現(xiàn)M:N聯(lián)系,但DML屬于過程化的語言,編程較復雜。 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)為二維表格,容易為初學者理解。記錄之間聯(lián)系通過關(guān)鍵碼實現(xiàn)。DML屬于非過程化語言,編程較簡單。 面向?qū)ο竽P湍芡暾枋霈F(xiàn)實世界的數(shù)據(jù)結(jié)構(gòu),具有豐富的表達能力,能表達嵌套、遞歸的數(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)系通過對象標識符(OID)實現(xiàn)的(見第8章)。 1.13 DB的三級模式結(jié)構(gòu)描述了什么問題?試詳細解釋。 答: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ù)獨立性是指應用程序和DB的數(shù)據(jù)之間相互獨立,不受影響,對系統(tǒng)的要求是“數(shù)據(jù)獨立性要高”,而數(shù)據(jù)聯(lián)系是指記錄之間的聯(lián)系,對系統(tǒng)的要求是“數(shù)據(jù)聯(lián)系密切”。 1.17 試述DBMS的工作模式和主要功能。 答:DBMS的工作模式有六點: ·接受應用程序的數(shù)據(jù)請求和處理請求; ·將用戶的數(shù)據(jù)請求轉(zhuǎn)換成低層指令; ·實現(xiàn)對DB的操作; ·從對DB的操作中接受查詢結(jié)果; ·對查詢結(jié)構(gòu)進行處理; ·將處理結(jié)果返回給用戶。 DBMS的主要功能有DB的定義、操縱、保護、維護和數(shù)據(jù)字典等五個功能。 1.18 試敘述DBMS對數(shù)據(jù)庫的維護功能。 答:包括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)的詳細描述。 數(shù)據(jù)(data),一般是指用戶使用的具體值。 1.22 什么是DBA?DBA應具有什么素質(zhì)?DBA的職責是什么? 答:DBA是控制數(shù)據(jù)整體結(jié)構(gòu)的一組人員,負責DBS的正常運行,承擔創(chuàng)建、監(jiān)控和維護DB結(jié)構(gòu)的責任。 DBA必須具備下列4條素質(zhì):熟悉企業(yè)全部數(shù)據(jù)的性質(zhì)和用途;對所有用戶的需求有充分的了解;對系統(tǒng)的性能非常熟悉;兼有系統(tǒng)分析員和運籌學專家的品質(zhì)和知識。 DBA的主要職責有6點:定義模式;定義內(nèi)模式;與用戶的聯(lián)絡(luò);定義安全性規(guī)則;定義完整性規(guī)則;DB的轉(zhuǎn)儲與恢復。 1.23 試對DBS的全局結(jié)構(gòu)作詳細解釋。 答:從四個方面解釋: ·數(shù)據(jù)
18、庫用戶有四類:DBA,專業(yè)用戶,應用程序員,終端用戶。 ·DBMS的查詢處理器有四個模塊:DML編譯器,嵌入型DML預編譯器,DDL編譯器,查詢運行核心程序。 ·DBMS的存儲管理器有四個模塊:授權(quán)和完整性管理器,事務管理器,文件管理器,緩沖區(qū)管理器。 ·磁盤存儲器中有五種數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)文件,數(shù)據(jù)字典,索引文件,統(tǒng)計數(shù)據(jù)組織和日志。 1.24 使用DBS的用戶有哪幾類? 答:(略,見習題1.23) 1.25 DBMS的查詢處理器和存儲管理器各有哪些功能? 答:(略,見習題1.23) 1.26 磁盤存儲器中有哪五類主要的數(shù)據(jù)結(jié)構(gòu)? 答:(略,見習題1.23) 1.27
19、根據(jù)計算機的系統(tǒng)結(jié)構(gòu),DBS可分成哪四種?各有什么特點? 答:根據(jù)計算機的系統(tǒng)結(jié)構(gòu),DBS可分成集中式、C/S式、并行式和分布式等四種 集中式DBS的特點是單點數(shù)據(jù)(DB集中在一個場地)單地處理(單個CPU)。 C/S式DBS的特點是計算機的功能分放在客戶機和服務器上(即功能的分布)??蛻魴C上專門實現(xiàn)前端處理和用戶界面。服務器上完成事務處理和數(shù)據(jù)訪問控制。 并行式DBS的特點是使用多個CPU和多個磁盤進行并行操作。 分布式DBS的特點是多點數(shù)據(jù)(DB分布在多個場地)多點處理(多個CPU)。數(shù)據(jù)具有物理分布性和邏輯整體性特點。系統(tǒng)中事務有本地事務(訪問本地DB)和全局事務(訪問至少兩
20、個場地的DB)之分。 1.28 DBS能產(chǎn)生哪些效益? 答:DBS的應用,使計算機應用深入到社會的每個角落。其效益有以下7個方面:靈活性,簡易性,面向用戶,有效的數(shù)據(jù)控制,加快應用開發(fā)速度,維護方便,標準化。 1.3 自測題 1.3.1 填空題 1.數(shù)據(jù)管理技術(shù)的發(fā)展,與__________、__________和__________有密切的聯(lián)系。 2.文件系統(tǒng)中的數(shù)據(jù)獨立性是指__________獨立性。 3.文件系統(tǒng)的缺陷是:_________、_________和__________。 4.就信息處理的方式而言,在文件系統(tǒng)階段,__________處于主導地位,_____
21、____只起著服從程序設(shè)計需要的作用;而在數(shù)據(jù)庫方式下,_________占據(jù)了中心位置。 5.對現(xiàn)實世界進行第一層抽象的模型,稱為__________模型;對現(xià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)狀模型中,用__________導航數(shù)據(jù);而在關(guān)系模型中,用__________導航數(shù)據(jù)。 8.數(shù)據(jù)庫的三級模式結(jié)構(gòu)是對__________的三個抽象級別。
22、9.DBMS為應用程序運行時開辟的DB系統(tǒng)緩沖區(qū),主要用于__________和__________。 10.在數(shù)據(jù)庫技術(shù)中,編寫應用程序的語言仍然是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ù)計算機的系統(tǒng)結(jié)構(gòu),DBS可分成四種類型:_______、_______、_______和_______。 20.數(shù)據(jù)獨立性使得修改
24、DB結(jié)構(gòu)時盡量不影響已有的__________。 1.3.2 單項選擇題(在備選答案中選出一個正確答案) 1.在DBS中,DBMS和OS之間關(guān)系是 [ ] A.并發(fā)運行 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.用宿主語言編寫應用程序 6.在DBS中,“數(shù)據(jù)獨立性”和“數(shù)據(jù)聯(lián)系”這兩個概念之間聯(lián)系是 [ ] A.沒有必然的聯(lián)系 B.同時成立或不成立 C.前者蘊涵后者 D.后者蘊涵前者 7.數(shù)據(jù)獨立性是指 [ ] A.數(shù)據(jù)之間相互獨立 B.應用程序與DB的結(jié)構(gòu)之間相互獨立 C.數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)相互獨
26、立 D.數(shù)據(jù)與磁盤之間相互獨立 8.DB中數(shù)據(jù)導航是指 [ ] A.數(shù)據(jù)之間聯(lián)系 B.數(shù)據(jù)之間指針聯(lián)系 C.從已知數(shù)據(jù)找未知數(shù)據(jù)的過程 D.數(shù)據(jù)的組合方式 9.用戶使用DML語句對數(shù)據(jù)進行操作,實際上操作的是 [ ] A.數(shù)據(jù)庫的記錄 B.內(nèi)模式的內(nèi)部記錄 C.外模式的外部記錄 D.數(shù)據(jù)庫的內(nèi)部記錄值 10.對DB中數(shù)據(jù)的操作分成兩大類: [ ] A.查詢和更新 B.檢索和修改 C.查詢和修改 D.插入和修改 1.3.3 問答題 1.試對數(shù)據(jù)管理技術(shù)三個發(fā)展階段作一
27、詳細的比較。 2.在用戶訪問數(shù)據(jù)庫中數(shù)據(jù)的過程中,DBMS起著什么作用? 3.什么是“DB的系統(tǒng)緩沖區(qū)”? 4.DBS中有哪些系統(tǒng)軟件? 1.4 自測題答案 1.4.1 填空題答案 1.硬件 軟件 計算機應用 2.設(shè)備 3.數(shù)據(jù)冗余 數(shù)據(jù)不一致 數(shù)據(jù)聯(lián)系弱 4.程序設(shè)計 數(shù)據(jù) 數(shù)據(jù) 5.概念 結(jié)構(gòu)(或邏輯) 6.樹 有向圖 二維表 嵌套和遞歸 7.指針 關(guān)鍵碼(或外鍵與主鍵) 8.數(shù)據(jù) 9.數(shù)據(jù)的傳輸 格式的轉(zhuǎn)換 10.宿主語言(或主語言,host language) 11.外模式 內(nèi)模式 概念
28、模式 12.過程性 非過程性 13.數(shù)據(jù)字典(DD) 14.查詢處理器 存儲管理器 15.一系列實用程序 DD系統(tǒng) 16.數(shù)據(jù)庫 硬件 軟件 DBA 17.模塊功能 18. 文件 管理外存(或文件系統(tǒng)) 19.集中式 C/S式 并行式 分布式 20.應用程序 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ā)展階段的詳細比較見圖1.1。
29、 人工管理階段 文件系統(tǒng)階段 數(shù)據(jù)庫階段 時 間 20世紀50年代 60年代 70年代 環(huán) 外存 紙帶、卡片、磁帶 磁盤 大容量磁盤 境 軟件 匯編語言 3GL、OS DBMS 計算機應用 科學計算 進入企業(yè)管理 企業(yè)管理 數(shù)據(jù)的管理者 用戶(程序員) 文件系統(tǒng) DBS 數(shù)據(jù)的針對者 面向某一應用程序 面向某一應用 面向現(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.答:在應用程序運行時,DBMS在內(nèi)存為其開辟一個程序工作區(qū),稱為“DB的系統(tǒng)緩沖區(qū)”。這個工作區(qū)主要用于“數(shù)據(jù)的傳輸和格式的轉(zhuǎn)換”。 4.答:DBS應包括DBMS、OS、宿主語言和應用開發(fā)支撐軟件等四部分系統(tǒng)軟件。 DBMS是管理DB的軟件系統(tǒng),但對硬盤的管理是由OS實現(xiàn)的,因此DBS中應包括DBMS和OS這兩個主要的系統(tǒng)軟
31、件。 編寫應用程序仍然是用C一類高級程序設(shè)計語言,這些語言在DBS中稱為宿主語言。 為提高應用程序開發(fā)效率,需要像Dephi、PowerBuilder一類軟件開發(fā)工具(即應用開發(fā)支撐軟件)開發(fā)應用程序。這些軟件屬于4GL范疇,可使應用系統(tǒng)開發(fā)生產(chǎn)率提高20~100倍。 第2章 關(guān)系模型和關(guā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ù) 五個基本操作,四個組合操作,七個擴充操作。 (3)關(guān)系演算 元組關(guān)
32、系演算和域關(guān)系演算的原子公式、公式的定義。關(guān)系演算的安全性和等價性。 (4)關(guān)系代數(shù)表達式的優(yōu)化 關(guān)系代數(shù)表達式的等價及等價轉(zhuǎn)換規(guī)則,啟化式優(yōu)化算法。 (5)關(guān)系邏輯 謂詞、原子、規(guī)則和查詢,規(guī)則的安全性,用規(guī)則模擬關(guān)系代數(shù)表達式。 2.1.2 本章的重點篇幅 (1)教材中P56的例2.7(關(guān)系代數(shù)表達式的應用實例)。 (2)教材中P63的例2.19(元組表達式的應用實例)。 (3)教材中P81的例2.36(關(guān)系邏輯的規(guī)則表示)。 2.1.3 重要內(nèi)容分析 1.關(guān)系代數(shù)表達式的運用技巧 (1)一般規(guī)則 ·對于只涉及到選擇、投影、聯(lián)接的查詢可用下列表達式表示:
33、 π…(σ…(R×S)) 或者π…(σ…(R?S)) ·對于否定的操作,一般要用差操作表示,例如“檢索不學C2課的學生姓名”。 ·對于檢索具有“全部”特征的操作,一般要用除法操作表示,例如“檢索學習全部課程的學生姓名”。 (2)“檢索不學C2課的學生姓名”,決不能用下式表示: πSNAME,AGE(σC#≠'C2'(S?SC)) 一定要用“差”的形式: πSNAME,AGE(S)-πSNAME,AGE(σC#='C2'(S?SC)) (3)“檢索學習全部課程的學生學號”,要用πS#,C#(SC)÷πC#(C)表示, 而不能寫成 πS# (SC÷πC#(C)
34、)形式。這是因為一個學生學的課程的成績可能是不一樣的。 (4)對于教材P56的例2.7的8個查詢語句的關(guān)系代數(shù)表達式,考生一定要掌握,這是基礎(chǔ)。 2.非過程性語言與過程性語言的區(qū)別 編程時必須指出“干什么”及“怎么干”的語言,稱為過程性語言;編程時只須指出“干什么”,不必指出“怎么干”的語言,稱為非過程性語言。 兩種語言的主要區(qū)別見圖2.1。 過程性語言 非過程性語言 編程時,必須指出“怎么干” 編程時,不必指出“怎么干” 由用戶進行數(shù)據(jù)導航 由系統(tǒng)進行數(shù)據(jù)導航 單記錄處理方式 集合處理方式 屬于3GL范疇 屬于4GL范疇 C語言,層次、網(wǎng)狀DM
35、L等 關(guān)系DML,軟件開發(fā)工具等 圖2.1 2.2 教材中習題2的解答 2.1名詞解釋 ·關(guān)系模型:用二維表格表示實體集,外鍵和主鍵表示實體間聯(lián)系的數(shù)據(jù)模型,稱為關(guān)系模型。 ·關(guān)系模式:是對關(guān)系的描述,包括模式名、諸屬性名、值域名和模式的主鍵。 ·關(guān)系實例:關(guān)系模式具體的值,稱為關(guān)系實例。 ·屬性:即字段或數(shù)據(jù)項,與二維表中的列對應。屬性個數(shù),稱為元數(shù)(arity)。 ·域:屬性的取值范圍,稱為域。 ·元組:即記錄,與二維表中的行對應。元組個數(shù),稱為基數(shù)(cardinality)。 ·超鍵:能惟一標識元組的屬性或?qū)傩约?,稱為關(guān)系的超鍵。 ·候選鍵:不含有多余屬性的超鍵,
36、稱為候選鍵。 ·主鍵:正在使用的、用于標識元組的候選鍵,稱為主鍵。 ·外鍵:屬性集F是模式S的主鍵,在模式R中也出現(xiàn),那么稱F是模式R的外鍵。 ·實體完整性規(guī)則:實體的主鍵值不允許是空值。 ·參照完整性規(guī)則:依賴關(guān)系中的外鍵值或者為空值,或者是相應參照關(guān)系中某個主鍵碼。 ·過程性語言:編程時必須給出獲得結(jié)果的操作步驟,即指出“干什么”及“怎么干”的語言。 ·非過程性語言:編程時,只需指出需要什么信息,不必給出具體的操作步驟,即只要指出“干什么”,不必指出“怎么干”的語言。 ·無限關(guān)系:指元組個數(shù)為無窮多個的關(guān)系。 ·無窮驗證:驗證公式真假時需要進行無限次驗證。 l 2.2 在
37、關(guān)系模型中,對關(guān)系作了哪些規(guī)范性限制? 答:對關(guān)系作了一下四個限制: 屬性值不可分解;沒有重復元組;沒有行序;使用時有列序。 2.3 為什么關(guān)系中的元組沒有先后順序,且不允許有重復元組? 答:由于關(guān)系定義為元組的集合,而集合中的元素是沒有順序的,因此關(guān)系中的元組也就沒有先后的順序(對用戶而言)。這樣既能減少邏輯排序,又便于在關(guān)系數(shù)據(jù)庫中引進集合論的理論。 每個關(guān)系模式都有一個主鍵,在關(guān)系中主鍵值是不允許重復的。如果關(guān)系中有重復元組,那么其主鍵值肯定相等,起不了惟一標識作用,因此關(guān)系中不允許有重復元組。 l 2.4 外鍵值何時允許空?何時不允許空? 答:在依賴表中,當外鍵是主鍵的
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)系,那么下列元組表達式的結(jié)果是什么?
{t|( $u)(R(t) ∧R(u) ∧(t[1] ≠u[1]∨t[2] ≠u[2]))}
答:當R的元組數(shù)≥2時,R中每個元組都存在與之不相同的元組,因此表達式的結(jié)果為關(guān)系R;
當R的元組數(shù)為0或1時,表達式的結(jié)果為空關(guān)系。
2.10 假設(shè)R和S分別是三元和二元關(guān)系,試把表達式π1,5(σ2=4∨3=4(R×S))轉(zhuǎn)換成
等價的:①漢語查詢句子; 43、②元組表達式;③域表達式。
解:⑴ 在關(guān)系R和S的笛卡爾積中,選取第2個屬性值與第4個屬性值相等,或者第3個屬性值與第4個屬性值相等的那些元組,再取第1列和第5列組成新的關(guān)系。
⑵ 與(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] )}
與σ2=4 ∨ 3=4(R×S)等價的元組表達式是:
{ 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))等價的元組表達式是:
{ 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])}
再對上述元組表達式化簡(消去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)換成域表達式:
{ 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)系,試把元組表達式{t|R(t) ∧($u)(S(u) ∧u[1] ≠t[2])} 46、轉(zhuǎn)換成等價的:
①漢語查詢句子; ②域表達式; ③關(guān)系代數(shù)表達式。
答:①在關(guān)系R中選取第2列的值與關(guān)系S中某個元組的第1列值不相等的那些元組,組成新的關(guān)系。
②域表達式為:
{ t1t2 | R(t1t2)∧($u1) ($u2) ( S(u1u2) ∧ u1≠t2)}
③關(guān)系代數(shù)表達式為:
2≠1
π1,2(σ2≠3(R×S))或π1,2(R?S)
2.12 試把域表達式{ ab | R(ab) ∧ R(ba)}轉(zhuǎn)換成等價的:⑴漢語查詢句子;⑵關(guān)系代數(shù)表達式;⑶元組表達式。
解:⑴ 在關(guān)系R中選取屬性值交換后仍是R中元組的那些元組,組成新的關(guān)系。
⑵ 關(guān)系代數(shù)表達式為 47、:π1,2(σ1=4 ∧ 2=3(R×R))
也可寫成:R∩π2,1(R)
⑶ 元組表達式為:{ 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ù)表達式轉(zhuǎn)換成等價的元組表達式:
①π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ù)表達式轉(zhuǎn)換成等價的域表達式:
① π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),試把下列域表達式轉(zhuǎn)換成等價的關(guān)系代數(shù)表達式:
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表示空值,分別寫出等價于下列表達式的元組關(guān)系演算表達式:
① 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ù)表達式表示下列查詢語句:
① 檢索LIU老師所授課程的課程號和課程名。
② 檢索年齡大 54、于23歲的男學生的學號和姓名。
③ 檢索學號為S3學生所學課程的課程名與任課教師名。
④ 檢索至少選修LIU老師所授課程中一門課的女學生姓名。
⑤ 檢索WANG同學不學的課程的課程號。
⑥ 檢索至少選修兩門課的學生學號。
⑦ 檢索全部學生都選修的課程的課程號與課程名。
⑧ 檢索選修課程包含LIU老師所授全部課程的學生學號。
解:⑴ π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 試用元組表達式表示第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同學,在關(guān)系SC中要求不存在WANG同學學這門課程的元組。也就是要求在關(guān)系SC中,WANG同學學的課程都不是這門課程(因此在元組表達式中要求全稱量詞")。
⑹ { 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中每一個學生,都應該學這門課(即在關(guān)系SC中存在這個學生選修這門課的元組)。
⑻ { 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中找一個學號,對于關(guān)系C中LIU老師的每一門課,這個學生都學了(即在關(guān)系SC中存在這個學生選修這門課的元組)。
由于在括號中出現(xiàn)“=>”符號(包含有“∨”的語義),因此括號中的量詞($w 59、)就不能隨意往左邊提了。
2.19 試用域表達式表示第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)}
(⑤~⑧題的域表達式,讀者可以很容易寫出,此處略)
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不滿足上式。正確的式子應該是π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 在教學數(shù)據(jù)庫的關(guān)系S、SC、C中,用戶有一查詢語句:檢索女同學選修課程的課程名和任課教師名。
① 試寫出該查詢的關(guān)系代數(shù)表達式。
② 畫出查詢表達式的語法樹。
③ 使用啟發(fā)式優(yōu)化算法,對語法樹進行優(yōu)化,并畫出優(yōu)化后的語法樹。
解:① 關(guān)系代數(shù)表達式為:
πCNAME,TEACHER(σSEX=’F’(S?SC?C))
②上述關(guān)系代數(shù)表達式的語法樹如圖2.2所示。
π
σ
?
?
S
SC
CNAME,T 63、EACHE
SEX=’F’
C
圖2.2
③ 上述的關(guān)系代數(shù)表達式為:
π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ù)表達式為:
π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ù)表達式進行優(yōu)化?有哪三條啟發(fā)式規(guī)則?對優(yōu)化起什么作用?
答:關(guān)系代數(shù)表達式由關(guān)系代數(shù)操作組合而成。操作中,以笛卡爾積和聯(lián)接操作最費時,并生成大量的中間結(jié)果。如果直接按表達式書寫的順序執(zhí)行,必將花費很多時間,并生成大量的中間結(jié)果,效率較 65、低。在執(zhí)行前,由DBMS的查詢子系統(tǒng)先對關(guān)系代數(shù)表達式進行優(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來引用外延謂詞或相應關(guān)系。
·內(nèi)涵數(shù)據(jù)庫:用“內(nèi)涵數(shù)據(jù)庫”的縮寫IDB來引用內(nèi)涵謂詞或相應關(guān)系。
l ·原子:關(guān)系邏輯中的基本成分,稱為原子。原子有關(guān)系原子和算術(shù)原子兩種。
l ·關(guān)系原子:關(guān)系原子是一個謂詞符號,帶一個參數(shù)表,每個參數(shù)可以是變量或常量。用大寫字母表示謂詞符號,用小寫字母表示變量,常量用引號括起來。
l ·算術(shù)原子:算術(shù)原子是算術(shù)比較表達式。
·規(guī)則:規(guī)則是形為W←P1∧P2∧…∧Pn的式子,規(guī)則有三部分組成:
① 一個稱為頭部(head)的關(guān)系原子;
② 符號“←”,通常讀作“if”;
③ 包括一個或多個原子的體(body),稱為子目標(subgoal),它可能是關(guān)系原子,也可能是算術(shù)原子。各子目標用“與”運算符 ∧ 連接,并且子目標前面可以有“非”運算符┐,也可以沒有。
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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運動會安全工作預案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動總結(jié)+在機關(guān)“弘揚憲法精神推動發(fā)改工作高質(zhì)量發(fā)展”專題宣講報告會上的講話
- 2024年XX村合作社年報總結(jié)
- 2024-2025年秋季第一學期初中歷史上冊教研組工作總結(jié)
- 2024年小學高級教師年終工作總結(jié)匯報
- 2024-2025年秋季第一學期初中物理上冊教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學期小學語文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習整治報告
- 2025年學校元旦迎新盛典活動策劃方案
- 2024年學校周邊安全隱患自查報告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報告