數據庫系統教程-施伯樂-課后答案全解_第1頁
數據庫系統教程-施伯樂-課后答案全解_第2頁
數據庫系統教程-施伯樂-課后答案全解_第3頁
數據庫系統教程-施伯樂-課后答案全解_第4頁
數據庫系統教程-施伯樂-課后答案全解_第5頁
已閱讀5頁,還剩97頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

目錄

第1部分課程的教與學

第2部分各章習題解答及自測題

第1章數據庫概論

1.1基本內容分析

1.2教材中習題1的解答

1.3自測題

1.4自測題答案

第2章關系模型和關系運算理論

2.1基本內容分析

2.2教材中習題2的解答

2.3自測題

2.4自測題答案

第3章關系數據庫語言SQL

3.1基本內容分析

3.2教材中習題3的解答

3.3自測題

3.4自測題答案

第4章關系數據庫的規范化設計

4.1基本內容分析

4.2教材中習題4的解答

4.3自測題

4.4自測題答案

第5章數據庫設計與ER模型

5.1基本內容分析

5.2教材中習題5的解答

5.3自測題

5.4自測題答案

第6章數據庫的存儲結構

6.1基本內容分析

6.2教材中習題6的解答

第7章系統實現技術

7.1基本內容分析

7.2教材中習題7的解答

7.3自測題

7.4自測題答案

第8章對象數據庫系統

8.1基本內容分析

8.2教材中習題8的解答

8.3自測題

8.4自測題答案

第9章分布式數據庫系統

9.1基本內容分析

9.2教材中習題9的解答

9.3自測題

9.4自測題答案

第10章中間件技術

10.1基本內容分析

10.2教材中習題10的解答

10.3自測題及答案

第11章數據庫與WWW

11.1基本內容分析

11.2教材中習題11的解答

第12章XML技術

12.1基本內容分析

12.2教材中習題12的解答

第2部分各章習題解答及自測題

第1章數據庫概論

1.1基本內容分析

1.1.1本章的重要概念

(1)DB、DBMS和DBS的定義

(2)數據管理技術的發展階段

人工管理階段、文件系統階段、數據庫系統階段和高級數據庫技術階段等各階段的特點。

(3)數據描述

概念設計、邏輯設計和物理設計等各階段中數據描述的術語,概念設計中實體間二元聯

系的描述(1:1,1:N,M:N)o

(4)數據模型

數據模型的定義,兩類數據模型,邏輯模型的形式定義,ER模型,層次模型、網狀模型、

關系模型和面向對象模型的數據結構以及聯系的實現方式。

(5)DB的體系結構

三級結構,兩級映像,兩級數據獨立性,體系結構各個層次中記錄的聯系。

(6)DBMS

DBMS的工作模式、主要功能和模塊組成。

(7)DBS

DBS的組成,DBA,DBS的全局結構,DBS結構的分類。

1.1.2本章的重點篇幅

(1)教材P23的圖1.24(四種邏輯數據模型的比較)。

(2)教材P25的圖1.27(DB的體系結構)。

(3)教材P28的圖1.29(DBMS的工作模式)。

(4)教材P33的圖1.31(DBS的全局結構)。

1.2教材中習題1的解答

1.1名詞解釋

?邏輯數據:指程序員或用戶用以操作的數據形式。

?物理數據:指存儲設備上存儲的數據。

?聯系的元數:與一個聯系有關的實體集個數,稱為聯系的元數。

?1:1聯系:如果實體集E1中每個實體至多和實體集E2中的一個實體有聯系,反之亦然,

那么E1和E2的聯系稱為“1:1藤

?1:N聯系:如果實體集E1中每個實體可以與實體集E2中任意個(零個或多個)實體

有聯系,而E2中每個實體至多和E1中一個實體有聯系,那么E1和E2的聯系是“1:N滕

?M:N聯系:如果實體集El中每個實體可以與實體集E2中任意個(零個或多個)實體

有聯系,反之亦然,那么E1和E2的聯系稱為“M:N膝

?數據模型:能表示實體類型及實體間聯系的模型稱為“數據模型”。

?概念數據模型:獨立于計算機系統、完全不涉及信息在計算機中的表示、反映企業組

織所關心的信息結構的數據模型。

?結構數據模型(或邏輯數據模型):與DBMS有關的,直接面向DB的邏輯結構、從計

算機觀點對數據建模的數據模型。

?層次模型:用樹型(層次)結構表示實體類型及實體間聯系的數據模型稱為層次模型。

?網狀模型:用有向圖結構表示實體類型及實體間聯系的數據模型稱為網狀模型。

?關系模型:用二維表格表達實體集的數據模型。

?外模式:是用戶用到的那部分數據的描述。

?概念模式:數據庫中全部數據的整體邏輯結構的描述。

?內模式:DB在物理存儲方面的描述。

?外模式/模式映象:用于定義外模式和概念模式之間數據結構的對應性。

?模式/內模式映象:用于定義概念模式和內模式之間數據結構的對應性。

?數據獨立性:應用程序和DB的數據結構之間相互獨立,不受影響。

?物理數據獨立性:在DB的物理結構改變時,盡量不影響應用程序。

?邏輯數據獨立性:在DB的邏輯結構改變時,盡量不影響應用程序。

?主語言:編寫應用程序的語言(如C一類高級程序設計語言),稱為主語言。

?DDL:定義DB三級結構的語言,稱為DDL。

?DML:對DB進行查詢和更新操作的語言,稱為DML。

?過程性語言:用戶編程時,不僅需要指出“做什么”,還需要指出“怎么做”的語言。

?非過程性語言:用戶編程時,只需指出“做什么”,不需要指出“怎么做”的語言。

?DD(數據字典):存放三級結構定義的DB,稱為DD。

?DD系統:管理DD的軟件系統,稱為DD系統。

1.2試解釋DB、DBMS和DBS三個概念。

答:DB是長期存儲在計算機內、有組織的、統一管理的相關數據的集合。

DBMS是位于用戶與OS之間的一層數據管理軟件,它為用戶或應用程序提供訪問DB的

方法。

DBS是實現有組織地、動態地存儲大量關聯數據、方便多用戶訪問的計算機硬件、軟件

和數據資源組成的系統,即采用數據庫技術的計算機系統。

1.3人工管理階段和文件系統階段的數據管理各有哪些特點?

答:人工管理階段主要有四個特點:數據不保存在計算機內;沒有專用的軟件對數據進行

管理;只有程序的概念,沒有文件的概念;數據面向程序。

文件系統階段主要有五個特點:數據以“文件”形式長期保存;數據的邏輯結構與物理

結構有了區別;文件組織已多樣化;數據面向應用;對數據的操作以記錄為單位。

1.4文件系統階段的數據管理有些什么缺陷?試舉例說明。

答:主要有三個缺陷:數據冗余;數據不一致性;數據聯系弱。

例如學校里教務處、財務處、保健處建立的文件中都有學生詳細資料,譬如聯系電話,

家庭住址等。這就是“數據”冗余;如果某個學生搬家,就要修改三個部門文件中的數據,

否則會引起同一數據在三個部門中不一致;產生上述問題的原因是這三個部門的文件中數據

沒有聯系。

1.5數據管理的數據庫階段產生的標志是哪三件事情?

答:進入數據庫階段的標志是20世紀60年代末發生的三件事件:

?1968年IBM公司研制的IMS系統是一個典型的層次DBS;

?1969年美國CODASYL組織DBTG報告,提出網狀DBS的概念;

?1970年美國IBM公司的E.F.Codd發表論文,提出關系模型的思想。

1.6數據庫階段的數據管理有哪些特點?

答:主要有五個特點:

采用數據模型表示復雜的數據結構;有較高的數據獨立性;為用戶提供了方便的用戶接

口;提供了四個方面的數據控制功能;對數據的操作以數據項為單位,增加了系統的靈活性。

1.7與“文件”結構相比,“數據庫”結構有些什么不同?

答:與文件結構相比,數據庫結構主要有下面三點不同:

?數據的結構化。文件由記錄組成,但各文件之間缺乏聯系。數據庫中數據在磁盤中仍

以文件形式組織,但這些文件之間有著廣泛的聯系。數據庫的邏輯結構用數據模型來描述,

整體結構化。數據模型不僅描述數據本身的特點,還要描述數據之間的聯系。

?數據獨立性。文件只有設備獨立性,而數據庫還具有邏輯獨立性和物理獨立性。

?訪問數據的單位。訪問文件中的數據,以記錄為單位。訪問數據庫中的數據,以數據

項(字段)為單位,增加了系統的靈活性。

1.8什么是數據獨立性?在數據庫中有哪兩級獨立性?

答:數據獨立性是指應用程序與DB的數據結構之間相互獨立。在物理結構改變時,盡量

不影響應用程序,稱為物理數據獨立性;在邏輯結構改變時,盡量不影響應用程序,稱為邏

輯數據獨立性。

1.9分布式數據庫系統和面向對象數據庫系統各有哪些特點?

答:DDBS主要有三個特點:

?數據物理上分布在各地,但邏輯上是一個整體;

?每個場地既可以執行局部應用,也可以執行全局應用;

?各地的計算機由數據通信網絡相連接。

面向對象數據系統主要有兩個特點:

?面向對象數據模型能完整地描述現實世界的數據結構,能表達數據間嵌套、遞歸的聯

系。

?具有面向對象技術的封裝性和繼承性的特點,提高了軟件的可重用性。

1.10邏輯記錄與物理記錄,邏輯文件與物理文件有些什么聯系和區別?

答:邏輯數據是用戶用以操作的數據形式,是抽象的概念化數據。物理數據是實際存放

在存儲設備上的數據。

邏輯數據與物理數據在結構上可以差別很大,需通過兩級映象來進行數據傳輸和格式轉

換。

從以上的解釋可以看出,邏輯記錄和邏輯文件是用戶在程序中使用的記錄和文件,而物

理記錄和物理文件是指磁盤上的記錄和文件。邏輯記錄、文件與物理記錄、文件在結構、組

成上有很大的差異,而數據管理軟件就是通過三級結構兩級映象來實現邏輯數據與物理數據

之間的轉換。

1.11試述ER模型、層次模型、網狀模型、關系模型和面向對象模型的主要特點。

答:ER模型直接表示實體類型及實體間聯系,與計算機系統無關,充分反映用戶的需求,

用戶容易理解。

層次模型的數據結構為樹結構,記錄之間聯系通過指針實現,查詢較快,但DML屬于過

程化的,操作復雜。

網狀模型的數據結構為有向圖,記錄之間聯系通過指針實現,查詢較快,并且容易實現

M:N聯系,但DML屬于過程化的語言,編程較復雜。

關系模型的數據結構為二維表格,容易為初學者理解。記錄之間聯系通過關鍵碼實現。

DML屬于非過程化語言,編程較簡單。

面向對象模型能完整描述現實世界的數據結構,具有豐富的表達能力,能表達嵌套、遞

歸的數據結構。但涉及的知識面較廣,用戶較難理解,這種模型尚未普及。

1.12數據之間聯系在各種結構數據模型中是怎么實現的?

答:在層次、網狀模型中,數據之間的聯系通過指針實現的;

在關系模型中,數據之間聯系通過外鍵和主鍵間聯系實現的;

在面向對象模型中,數據之間嵌套、遞歸聯系通過對象標識符(OID)實現的(見第8章)。

1.13DB的三級模式結構描述了什么問題?試詳細解釋。

答:DB的三級模式結構是對數據的三個抽象級別,分別從外部(用戶)級、概念級和內

部級去觀察數據庫。

外部級是用戶使用的局部數據庫的邏輯結構,其描述稱為外模式。

概念級是DB的整體邏輯結構,其描述稱為概念模式。

內部級是DB的物理結構,其描述稱為內模式。

1.14試述概念模式在數據庫結構中的重要地位。

答:數據按外模式的描述提供給用戶,按內模式的描述存儲在磁盤中,而概念模式提供

了連接這兩級的相對穩定的中間觀點,并使得兩級的任何一級的改變都不受另一級的牽制。

1.15試敘述用戶、DB的三級模式結構、磁盤上的物理文件之間有些什么聯系和不同?

答:用戶、外模式、概念模式、內模式和物理文件中的記錄分別稱為用戶記錄、外部記

錄、概念記錄、內部記錄和物理記錄。

用戶記錄與外部記錄的結構是一致的,它們之間只是數據傳輸問題。

而外部記錄、概念記錄和內部記錄之間的結構可能是不一致的,除了數據傳輸問題,還

有格式轉換問題。

內部記錄與物理記錄的結構是一致的,它們之間只是數據傳輸問題。

1.16數據獨立性與數據聯系這兩個概念有什么區別?

答:數據獨立性是指應用程序和DB的數據之間相互獨立,不受影響,對系統的要求是“數

據獨立性要高”,而數據聯系是指記錄之間的聯系,對系統的要求是“數據聯系密切”。

1.17試述DBMS的工作模式和主要功能。

答:DBMS的工作模式有六點:

?接受應用程序的數據請求和處理請求;

?將用戶的數據請求轉換成低層指令;

?實現對DB的操作;

?從對DB的操作中接受查詢結果;

?對查詢結構進行處理;

?將處理結果返回給用戶。

DBMS的主要功能有DB的定義、操縱、保護、維護和數據字典等五個功能。

1.18試敘述DBMS對數據庫的維護功能。

答:包括DB的數據載入、轉換、轉儲、DB的改組以及性能監控等功能。這些功能分別

由各個實用程序完成。

1.19從模塊結構觀察,DBMS由哪些部分組成?

答:DBMS由兩大部分組成:查詢處理器和存儲管理器。(解釋略)

1.20DBS有哪幾部分組成?其中DD有什么作用?

答:DBS由DB、硬件、軟件和DBA等四個部分組成。(解釋略)

在DBS中,DD是存儲三級結構描述(即元數據)的DB。DBMS的所有工作都要以DD

中的元數據為依據,也就是所有工作都要通過DD訪問DBo

1.21“元數據”與“數據”之間有些什么聯系與區別?

答:元數據(metadata)是指“數據的數據”,即數據的描述。DB中的元數據是指三級模

式結構的詳細描述。

數據(data),一般是指用戶使用的具體值。

1.22什么是DBA?DBA應具有什么素質?DBA的職責是什么?

答:DBA是控制數據整體結構的一組人員,負責DBS的正常運行,承擔創建、監控和維

護DB結構的責任。

DBA必須具備下列4條素質:熟悉企業全部數據的性質和用途;對所有用戶的需求有充

分的了解;對系統的性能非常熟悉;兼有系統分析員和運籌學專家的品質和知識。

DBA的主要職責有6點:定義模式;定義內模式;與用戶的聯絡;定義安全性規則;定

義完整性規則;DB的轉儲與恢復。

1.23試對DBS的全局結構作詳細解釋。

答:從四個方面解釋:

?數據庫用戶有四類:DBA,專業用戶,應用程序員,終端用戶。

?DBMS的查詢處理器有四個模塊:DML編譯器,嵌入型DML預編譯器,DDL編譯器,

查詢運行核心程序。

?DBMS的存儲管理器有四個模塊:授權和完整性管理器,事務管理器,文件管理器,

緩沖區管理器。

?磁盤存儲器中有五種數據結構:數據文件,數據字典,索引文件,統計數據組織和日

o

1.24使用DBS的用戶有哪幾類?

答:(略,見習題1.23)

1.25DBMS的查詢處理器和存儲管理器各有哪些功能?

答:(略,見習題1.23)

1.26磁盤存儲器中有哪五類主要的數據結構?

答:(略,見習題1.23)

1.27根據計算機的系統結構,DBS可分成哪四種?各有什么特點?

答:根據計算機的系統結構,DBS可分成集中式、C/S式、并行式和分布式等四種

集中式DBS的特點是單點數據(DB集中在一個場地)單地處理(單個CPU)。

C/S式DBS的特點是計算機的功能分放在客戶機和服務器上(即功能的分布)。客戶機上

專門實現前端處理和用戶界面。服務器上完成事務處理和數據訪問控制。

并行式DBS的特點是使用多個CPU和多個磁盤進行并行操作。

分布式DBS的特點是多點數據(DB分布在多個場地)多點處理(多個CPU)。數據具有物

理分布性和邏輯整體性特點。系統中事務有本地事務(訪問本地DB)和全局事務(訪問至少

兩個場地的DB)之分。

1.28DBS能產生哪些效益?

答:DBS的應用,使計算機應用深入到社會的每個角落。其效益有以下7個方面:靈活

性,簡易性,面向用戶,有效的數據控制,加快應用開發速度,維護方便,標準化。

1.3自測題

1.3.1填空題

1.數據管理技術的發展,與硬件、軟件和_計算機應用有密切的聯系。

2.文件系統中的數據獨立性是指—設備獨立性。

3.文件系統的缺陷是:_數據冗余數據不一致數據聯系弱、。

4.就信息處理的方式而言,在文件系統階段,程序設計處于主導地位,數據只起著服從程

序設計需要的作用;而在數據庫方式下,數據一占據了中心位置。

5.對現實世界進行第一層抽象的模型,稱為概念—模型;對現實世界進行第二層抽象的模型,

稱為結構(或邏輯)—模型。

6.層次模型的數據結構是樹_結構;網狀模型的數據結構是有向圖一結構;關系模型的

數據結構是二維表_結構;面向對象模型的數據結構之間可以一嵌套和遞歸

7.在層次、網狀模型中,用—指針—導航數據;而在關系模型中,用關鍵碼.導航數據。

8.數據庫的三級模式結構是對—數據—的三個抽象級別。

9.DBMS為應用程序運行時開辟的DB系統緩沖區,主要用于—數據的傳輸一和格式的轉換

10.在數據型術中,編寫應用程序的語言仍然是C一類高級語言,這些語言被稱為.宿主

11.g3后焉”級模式結構中,數據按一外模式的描述提供給用戶,按—內模式的描

述存儲在磁盤中,而一概念模式—提供了連接這兩級的相對穩定的中間觀點,并使得兩級

中的任何一級的改變都不受另一級的牽制。

12.層次、網狀的DML屬于過程性—語言,而關系型DML屬于—非過程性_語言。

13.DBS中存放三級結構定義的DB稱為o

14.從模塊結構考察,DBMS由兩大部分組成:和o

15.DBA有兩個很重要的工具:和。

16.DBS是、、和的集合體。

17.DBS的全局結構體現了其結構。

18.在DBS中,DB在磁盤上的基本組織形式是,這樣可以充分利用OS

的功能。

19.根據計算機的系統結構,DBS可分成四種類型:、、和

20.數據獨立性使得修改DB結構時盡量不影響已有的應用程序

1.3.2單項選擇題(在備選答案中選出一個正確答案)

1.在DBS中,DBMS和OS之間關系是[D]

A.并發運行B.相互調用

C.OS調用DBMSD.DBMS調用OS

2.在數據庫方式下,信息處理中占據中心位置的是[C]

A.磁盤B.程序C.數據D.內存

3.DB的三級體系結構是對抽象的三個級別。[B]

A.存儲器B.數據C.程序D.外存

4.DB的三級模式結構中最接近外部存儲器的是[D]

A.子模式B.外模式C.概念模式D.內模式

5.DBS具有“數據獨立性”特點的原因是因為在DBS中[B]

A.采用磁盤作為外存B.采用三級模式結構

C.使用0S來訪問數據D.用宿主語言編寫應用程序

6.在DBS中,“數據獨立性”和“數據聯系”這兩個概念之間聯系是[A]

A.沒有必然的聯系B.同時成立或不成立

C.前者蘊涵后者D.后者蘊涵前者

7.數據獨立性是指[B]

A.數據之間相互獨立B.應用程序與DB的結構之間相互獨立

C.數據的邏輯結構與物理結構相互獨立D.數據與磁盤之間相互獨立

8.DB中數據導航是指[C]

A.數據之間聯系B.數據之間指針聯系

C.從已知數據找未知數據的過程D.數據的組合方式

9.用戶使用DML語句對數據進行操作,實際上操作的是[C]

A.數據庫的記錄B.內模式的內部記錄

C.外模式的外部記錄D.數據庫的內部記錄值

10.對DB中數據的操作分成兩大類:[A]

A.查詢和更新B.檢索和修改

C.查詢和修改D.插入和修改

1.3.3問答題

1.試對數據管理技術三個發展階段作一詳細的比較。

2.在用戶訪問數據庫中數據的過程中,DBMS起著什么作用?

3.什么是“DB的系統緩沖區”?

4.DBS中有哪些系統軟件?

1.4自測題答案

1.4.1填空題答案

1.硬件軟件計算機應用2.設備

3.數據冗余數據不一致數據聯系弱4.程序設計數據數據

5.概念結構(或邏輯)6.樹有向圖二維表嵌套和遞歸

7.指針關鍵碼(或外鍵與主鍵)8.數據

9.數據的傳輸格式的轉換10.宿主語言(或主語言,hostlanguage)

11.外模式內模式概念模式12.過程性非過程性

13.數據字典(DD)14.查詢處理器存儲管理器

15.一系列實用程序DD系統16.數據庫硬件軟件DBA

17.模塊功能18.文件管理外存(或文件系統)

19.集中式C/S式并行式分布式20.應用程序

1.4.2單項選擇題答案

1.D2.C3.B4.D5.B

6.A7.B8.C9.C10.A

1.4.3問答題答案

1.答:數據管理技術三個發展階段的詳細比較見圖1.1。

人工管理階段文件系統階E七數據庫階段

時間20世紀50年代60年代70年代

環外存紙帶、卡片、磁帶磁盤大容二置磁盤

境軟件匯編語言3GL、0:)DBMS

計算機應用科學計算進入企業管,1企業管理

數據的管理定用戶(程序£5)文件系多:DBS

數據的針對者面向某一應F1程序面向某一應用面向J見實世界

數據的共享和度無共享共享性差、:J二余度大共享,生高、冗余度小

數據獨立性無獨立性,獨立性差,有高度的物理獨立性,

______________數據完全依賴于程序有設備獨立性一定的邏輯獨立性

數據的結構化元麗記錄內有結構,整體結構化,

________________________________整體結構性差用數據模型描述

圖1.1

2.答:在用戶訪問數據的過程中,DBMS起著核心的作用,實現“數據三級結構轉換”

的工作。

3.答:在應用程序運行時,DBMS在內存為其開辟一個程序工作區,稱為“DB的系統

緩沖區”。這個工作區主要用于“數據的傳輸和格式的轉換”。

4.答:DBS應包括DBMS、OS、宿主語言和應用開發支撐軟件等四部分系統軟件。

DBMS是管理DB的軟件系統,但對硬盤的管理是由OS實現的,因此DBS中應包括DBMS

和OS這兩個主要的系統軟件。

編寫應用程序仍然是用C一類高級程序設計語言,這些語言在DBS中稱為宿主語言。

為提高應用程序開發效率,需要像Dephi、PowerBuilder一類軟件開發工具(即應用開發

支撐軟件)開發應用程序。這些軟件屬于4GL范疇,可使應用系統開發生產率提高20-100

倍。

第2章關系模型和關系運算理論

2.1基本內容分析

2.1.1本章重要概念

(1)基本概念

關系模型,關鍵碼(主鍵和外鍵),關系的定義和性質,三類完整性規則,ER模型到關

系模型的轉換規則,過程性語言與非過程性語言。

(2)關系代數

五個基本操作,四個組合操作,七個擴充操作。

(3)關系演算

元組關系演算和域關系演算的原子公式、公式的定義。關系演算的安全性和等價性。

(4)關系代數表達式的優化

關系代數表達式的等價及等價轉換規則,啟化式優化算法。

(5)關系邏輯

謂詞、原子、規則和查詢,規則的安全性,用規則模擬關系代數表達式。

2.1.2本章的重點篇幅

(1)教材中P56的例2.7(關系代數表達式的應用實例)。

(2)教材中P63的例2.19(元組表達式的應用實例)。

(3)教材中P81的例2.36(關系邏輯的規則表示)。

2.1.3重要內容分析

1.關系代數表達式的運用技巧

(1)一般規則

?對于只涉及到選擇、投影、聯接的查詢可用下列表達式表示:

n...(o...(RXS))或者n...(o...(RXs))

?對于否定的操作,一般要用差操作表示,例如“檢索不學C2課的學生姓名”。

?對于檢索具有“全部”特征的操作,一般要用除法操作表示,例如''檢索學習全部課

程的學生姓名”。

(2)“檢索不學C2課的學生姓名”,決不能用下式表示:

1X1

nSNAME.AGE(0C#*,C2,(SSC))

一定要用“差”的形式:

nSNAME.AGE(S)-HSNAME.AGE(0C#='C2,(S^SC))

(3)“檢索學習全部課程的學生學號”,要用Jis#.c#(SO4-nc#(C)表示,

而不能寫成nS#(SC+nc#(O)形式。這是因為一個學生學的課程的成績可能是不

一樣的。

(4)對于教材P56的例2.7的8個查詢語句的關系代數表達式,考生一定要掌握,這是

基礎。

2.非過程性語言與過程性語言的區別

編程時必須指出“干什么”及“怎么干”的語言,稱為過程性語言;編程時只須指出“干

什么”,不必指出“怎么干”的語言,稱為非過程性語言。

兩種語言的主要區別見圖2.1。

過程性語言非過程性語言

編程時,必須指出“怎么干”編程時,不必指出“怎么干”

由用戶進行數據導航由系統進行數據導航

單記錄處理方式集合處理方式

屬于3GL范疇屬于4GL范疇

C語言,層次、網狀DML等關系DML,軟件開發工具等

圖2.1

2.2教材中習題2的解答

2.1名詞解釋

?關系模型:用二維表格表示實體集,外鍵和主鍵表示實體間聯系的數據模型,稱為關

系模型。

?關系模式:是對關系的描述,包括模式名、諸屬性名、值域名和模式的主鍵。

?關系實例:關系模式具體的值,稱為關系實例。

?屬性:即字段或數據項,與二維表中的列對應。屬性個數,稱為元數(arity)□

?域:屬性的取值范圍,稱為域。

?元組:即記錄,與二維表中的行對應。元組個數,稱為基數(cardinality)。

?超鍵:能惟一標識元組的屬性或屬性集,稱為關系的超鍵。

?候選鍵:不含有多余屬性的超鍵,稱為候選鍵。

?主鍵:正在使用的、用于標識元組的候選鍵,稱為主鍵。

?外鍵:屬性集F是模式S的主鍵,在模式R中也出現,那么稱F是模式R的外鍵。

?實體完整性規則:實體的主鍵值不允許是空值。

?參照完整性規則:依賴關系中的外鍵值或者為空值,或者是相應參照關系中某個主鍵

碼。

?過程性語言:編程時必須給出獲得結果的操作步驟,即指出“干什么”及“怎么干”

的語言。

;非過程性語言:編程時,只需指出需要什么信息,不必給出具體的操作步驟,即只要

指出“干什么”,不必指出“怎么干”的語言。

?無限關系:指元組個數為無窮多個的關系。

?無窮驗證:驗證公式真假時需要進行無限次驗證。

?2.2在關系模型中,對關系作了哪些規范性限制?

答:對關系作了一下四個限制:

屬性值不可分解;沒有重復元組;沒有行序;使用時有列序。

2.3為什么關系中的元組沒有先后順序,且不允許有重復元組?

答:由于關系定義為元組的集合,而集合中的元素是沒有順序的,因此關系中的元組也

就沒有先后的順序(對用戶而言)。這樣既能減少邏輯排序,又便于在關系數據庫中引進集合

論的理論。

每個關系模式都有一個主鍵,在關系中主鍵值是不允許重復的。如果關系中有重復元組,

那么其主鍵值肯定相等,起不了惟一標識作用,因此關系中不允許有重復元組。

?2.4外鍵值何時允許空?何時不允許空?

答:在依賴表中,當外鍵是主鍵的組成部分時,外鍵值不允許空;否則外鍵值允許空。

2.5笛卡兒積、等值聯接、自然聯接三者之間有什么區別?

答:笛卡爾積是一個基本操作,而等值聯接和自然聯接是組合操作。

設關系R的元數為r,元組個數為m;關系S的元數為s,元組個數為n。

那么,RXS的元數為r+s,元組個數為mXn;

RxS的元數也是r+s,但元組個數小于等于mXn;

iOj

RXS的元數小于等于r+s,元組個數也小于等于mXn;

2.6設有關系R和R

1ABCSABC

367345

257723

723

443

內),起。

計算RUS,R--S,RPS,RXS,n3;2(S),oB<'5'RS,RS

解:RUSABCR-SABCRASABC

367367723

257257

723443

443

345

RXSRAR.BR.CS.AS.BS.Cn3.2(S)CB

36734554

36772332

257345

257723

723345

723723

443345

443723

°B<5(R)ABCISR.AR.BR.CS.AS.BS.C

2產

723723345

443

RXSABC

7~2T

?2.8假設關系U和V分別有m個元組和n個元組,給出下列表達式中可能的最小和最

大的元組數量:

?(1)unv(2)uuv

?(3)UXV(4)o,..(U)XV(F為某個條件)

?(5)JIL(U)-V(其中L為某屬性集)

?解:

?最小元組?最大元組

?操作

數數

?(i)un

?0?min(m,n)

V

?(2)uu

?max(m,n)?m+n

V

?(3)

uxv?0?mXn

?(4)o

?0?mXn

F(U)XV

?(5)n

?0?m

L(U)-V

2.9如果R是二元關系,那么下列元組表達式的結果是什么?

{t|(3u)(R(t)AR(u)Wu[l]Vt[2]Wu[2]))}

答:當R的元組數22時,R中每個元組都存在與之不相同的元組,因此表達式的結果為

關系R;

當R的元組數為0或1時,表達式的結果為空關系。

2.10假設R和S分別是三元和二元關系,試把表達式“I,5(O2=4V3=4(RXS))轉換成

等價的:①漢語查詢句子;②元組表達式;③域表達式。

解:⑴在關系R和S的笛卡爾積中,選取第2個屬性值與第4個屬性值相等,或者第3

個屬性值與第4個屬性值相等的那些元組,再取第1列和第5列組成新的關系。

(2)與(RXS)等價的元組表達式是:

{tI(3u)(3v)(R(u)AS(v)At[lj=u[l]At[2]=u[2]At[3J=u[3JAt[4J=v[ljA

t[5J=v[2J)}

與。2=4V3=4(RXS)等價的元組表達式是:

{tI(3u)(3v)(R(u)AS(v)At[l]=u[l]At[2]=u[2]At[3]=u[3]At[4]=v[l]A

t[5]=v[2]A(t[2]=t[4]Vt[3]=t[4]))}

與nL5(。2=4V3=4(RXS))等價的元組表達式是:

{wI(3t)(3u)(Bv)(R(u)AS(v)At[l]=u[l]At[2J=u[2]At[3J=u[3JAt[4]=v[l]

At⑸7⑵A(t[2J=t[4]Vt[3]=t[4])Aw[lj=t[l]八w[2]=t⑸)}

再對上述元組表達式化簡(消去t)可得:

{wI(3u)(3v)(R(u)AS(v)A(u[2]=v[l]Vu[3]=v[l])Aw[l]=u[l]A

w[2]=v[2])}

在熟練后,可以直接寫出上式。

⑶再轉換成域表達式:

{wiw2I(3ui)(3U2)(2U3)(3VI)(3V2)(R(UIU2U3)AS(viv2)A(u2=V|Vu3=vi)A

W1=U1AW2=V2)}

再化簡(消去U”V2)可得:

{Wiw2I(Su2)(3U3)(3vi)(R(WIU2U3)AS(V|W2)A(U2=V|VU3=V1))}

2.11假設R和S都是二元關系,試把元組表達式{t[R(t)A(3u)(S(u)Au[l]Wt[2])}轉換

成等價的:

①漢語查詢句子;②域表達式;③關系代數表達式。

答:①在關系R中選取第2列的值與關系S中某個元組的第1列值不相等的那些元組,

組成新的關系。

②域表達式為:

{tit2IR(tit2)A(3u1)(3U2)(S(uiu2)AuiWt2)}

③關系代數表達式為:

JT1,(。2訝3(RXS))或門1,2(RMS)

22WI

2.12試把域表達式{abIR(ab)AR(ba)}轉換成等價的:⑴漢語查詢句子;⑵關系代數表

達式;⑶元組表達式。

解:⑴在關系R中選取屬性值交換后仍是R中元組的那些元組,組成新的關系。

(2)關系代數表達式為:n].2(。i=4A2=3(RXR))

也可寫成:RAn2.((R)

(3)元組表達式為:{tI(3u)(3v)(R(u)AR(v)Au[l]=v[2]Au[2J=v[ljAt[l]=u[l]

A42]=u⑵)}

或:{11(3v)(R(t)AR(v)At[l]=v[2]At[2]=v[l])}

2.13(A,B,C)WS(D,E,F),蹴卜列曲燃和

①^A(R);②OB=,17'(R);

③RXS;④nA,F(oC=D(RXS)

:①RA(R):{11(3u)(R(u)At[l]=u[l])}

③0B=17(R):{tlR(t)At[2]='17'}

RXS:{11(3u)(3v)(R(u)AS(v)At[lj=u[l]At[2J=u[2JAt[3]=u[3]

At[4J=v[lJAt[5]=v[2]At[6]=v[3])}

?nA.F(oC=D(RXS)):{11(3u)(3v)(R(u)AS(v)Au[3]=v[l]At[l]=u[l]

At[21=v[3])}

?2.14設有關系R(A,B,C)和S(A,B,C),試把下列關系代數表達式轉換成等價

的域表達式:

①WA(R)②。2=,17,(R)

③RUS④RAS

⑤R—S⑥口,金徐)口2,3(S)

解:①nA(R):{hI(3U2)(2U3)(R(t,u2u3))}

②。2=,17'(R):{tit2t31R(ht2t3)At2='17'}

③RUS:{Lt2t3IR(t]t2t3)VS(tit2t3)}

④RAS:{t[t2t3IR(t]t2t3)AS(tit2t3)}

⑤R-S:{tit2t3IR(tit2t3)A-|S(tit2t3)}

11

@1,2(RX"2,3(S):(tit2t3I(BU3)(3VI)IR(t|t2u3)AS(vit2t3))

?2.15設有關系R(A,B)和S(A,C),試把下列域表達式轉換成等價的關系代數表

達式:①

{aI(3b)(R(ab)Ab=17)}

{abc|(R(ab)AS(ac))}

{aIOb)(R(ab))V(Vc)((3d)(S(de))=4S(ac))}

{a|(3c)(S(ac)AGb。(3b2)(R(ab。AR(cb2)Ab,>b2))}

解:①n,(o2=z17,(R))

?②RxS

?③ni(R)U(S4-n2(S))

?④11I(。1=3A2=5A4>6(SXRXR))

2.16設兩個關系R(A,B)和$(A,C)o用null表示空值,分別寫出等價于下列表達

式的元組關系演算表達式:

①RIXES;宣RS;儀③RS。

解:①HXES:

{11(3u)(3v)(R(u)AS(v)Au[l]=v[l]At[lj=u[l]At[2]=u[2]At[3]=v[2])

V(3v)(Vu)(S(v)AR(u)Av[l]^u[l]At[lj=nullAt[2]=v[l]At[3]=v[2])}

②RJXES:

{11(3u)(3v)(R(u)AS(v)Au[l]=v[l]At[l]=u[UAt[2]=u[2]At[3]=v[2])

V(3u)(Vv)(R(u)AS(v)Au[l]^v[l]At[l]=u[l]At[2]=u[2]At[3]=null)

V(3v)(Vu)(S(v)AR(u)Av[l]^u[l]At[l]=nuUAt[2]=v[l]At[3]=v[2])}

③RZNS:

{11(3u)(3v)(R(u)AS(v)Au[lj=v[l]At[lj=u[l]At[2]=u[2]At[3]=v[2])

V(3u)(Vv)(R(u)AS(v)Au[l]^v[l]At[l]=u[l]At[2]=u[2]At[3J=null)

2.17設有三個關系:

S(S#,SNAME,AGE,SEX)

SC(S#,C#,CNAME)

C(Ctt,CNAME,TEACHER)

試用關系代數表達式表示下列查詢語句:

①檢索LIU老師所授課程的課程號和課程名。

②檢索年齡大于23歲的男學生的學號和姓名。

③檢索學號為S3學生所學課程的課程名與任課教師名。

④檢索至少選修LIU老師所授課程中一門課的女學生姓名。

⑤檢索WANG同學不學的課程的課程號。

⑥檢索至少選修兩門課的學生學號。

⑦檢索全部學生都選修的課程的課程號與課程名。

⑧檢索選修課程包含LIU老師所授全部課程的學生學號。

解:(1)叮C#,CNAME(。TNAME=*LIU'(C))

(2)nS#.SNAME(0AGE>'23'ASEX='M'(SC))

(3)兀CNAME.TNAME(°S#='S3'(SCXC))

⑷叮SNAME(0SEX='F'ATNAME='LIU'(SXSCXC))

⑸71c#(C)—兀c#(。SNAME='WANG'(SXSC))

(6)n!(o1=4A2*5(SCXSC))

⑺nc#.CNAME(Cx(ns#.c#(SC)+"s#(S)))

⑻ns#.c#(SC)

溫馨提示

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

評論

0/150

提交評論