數(shù)據(jù)庫原理教程習(xí)題答案解析(全)_第1頁
數(shù)據(jù)庫原理教程習(xí)題答案解析(全)_第2頁
數(shù)據(jù)庫原理教程習(xí)題答案解析(全)_第3頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、WORD格式完美 WORD 格式0000000000第 1 章 數(shù)據(jù)庫系統(tǒng)概述習(xí)題參考答案稅務(wù)局使用數(shù)據(jù)庫存儲納稅人(個人或公司) 信息、 納稅人繳納稅款信息等。 典型的數(shù)據(jù)處理包括納稅、退稅處理、統(tǒng)計各類納稅人納稅情況等。銀行使用數(shù)據(jù)庫存儲客戶基本信息、 客戶存貸款信息等。 典型的數(shù)據(jù)處理包括處理客戶存取款等。超市使用數(shù)據(jù)庫存儲商品的基本信息、會員客戶基本信息、客戶每次購物的詳細清單。典型的數(shù)據(jù)處理包括收銀臺記錄客戶每次購物的清單并計算應(yīng)交貨款。1.2 DBMS 是數(shù)據(jù)庫管理系統(tǒng)的簡稱,是一種重要的程序設(shè)計系統(tǒng)。它由一個相互關(guān)聯(lián)的數(shù)據(jù)集合和一組訪問這些數(shù)據(jù)的程序組成。數(shù)據(jù)庫是持久儲存在計算機

2、中、 有組織的、 可共享的大量數(shù)據(jù)的集合。 數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、 描述和存儲,可以被各種用戶共享, 具有較小的冗余度、 較高的數(shù)據(jù)獨立性,并且易于擴展。數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、 DBMS(及其開發(fā)工具) 、應(yīng)用系統(tǒng)和數(shù)據(jù)庫管理員組成。數(shù)據(jù)模型是一種形式機制,用于數(shù)據(jù)建模,描述數(shù)據(jù)、數(shù)據(jù)之間的聯(lián)系、數(shù)據(jù)的語義、數(shù)據(jù)上的操作和數(shù)據(jù)的完整性約束條件。數(shù)據(jù)庫模式是數(shù)據(jù)庫中使用數(shù)據(jù)模型對數(shù)據(jù)建模所產(chǎn)生設(shè)計結(jié)果。對于關(guān)系數(shù)據(jù)庫而言,數(shù)據(jù)庫模式由一組關(guān)系模式構(gòu)成。數(shù)據(jù)字典是DBMS維護的一系列內(nèi)部表,用來存放元數(shù)據(jù)。所謂元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù)。1.3 DBMS 提供如下功能:( 1) 數(shù)據(jù)定義:

3、提供數(shù)據(jù)定義語言DDL,用于定義數(shù)據(jù)庫中的數(shù)據(jù)對象和它們的結(jié)構(gòu)。( 2) 數(shù)據(jù)操縱:提供數(shù)據(jù)操縱語言DML,用于操縱數(shù)據(jù),實現(xiàn)對數(shù)據(jù)庫的基本操作(查詢、插入、刪除和修改)。( 3) 事務(wù)管理和運行管理: 統(tǒng)一管理數(shù)據(jù)、 控制對數(shù)據(jù)的并發(fā)訪問, 保證數(shù)據(jù)的安全性、完整性,確保故障時數(shù)據(jù)庫中數(shù)據(jù)不被破壞,并且能夠恢復(fù)到一致狀態(tài)。( 4) 數(shù)據(jù)存儲和查詢處理:確定數(shù)據(jù)的物理組織和存取方式,提供數(shù)據(jù)的持久存儲和有專業(yè)資料整理專業(yè)整理知識分享完美 WORD 格式效訪問;確定查詢處理方法,優(yōu)化查詢處理過程。( 5) 數(shù)據(jù)庫的建立和維護:提供實用程序,完成數(shù)據(jù)庫數(shù)據(jù)批量裝載、數(shù)據(jù)庫轉(zhuǎn)儲、介質(zhì)故障恢復(fù)、數(shù)據(jù)庫

4、的重組和性能監(jiān)測等。( 6) 其他功能:包括 DBMS與其它軟件通信、異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)轉(zhuǎn)換和互操作等。1.4使用數(shù)據(jù)庫進行信息管理具有如下優(yōu)點:( 1) 數(shù)據(jù)整體結(jié)構(gòu)化:在數(shù)據(jù)庫中,數(shù)據(jù)的組織面向整個機構(gòu)、面向所有可能的應(yīng)用,而不是某個具體部門或某個特定的應(yīng)用。數(shù)據(jù)結(jié)構(gòu)不僅描述現(xiàn)實世界的對象,而且描述對象之間的聯(lián)系。( 2) 數(shù)據(jù)可以充分共享:數(shù)據(jù)庫中的數(shù)據(jù)的面向整個機構(gòu)組織使得它能夠更好地被多個用戶、多個應(yīng)用程序共享。( 3) 數(shù)據(jù)獨立性:數(shù)據(jù)獨立性是指數(shù)據(jù)與應(yīng)用程序相互獨立,包括數(shù)據(jù)的物理獨立性和數(shù)據(jù)的邏輯獨立性。數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型定義,無需程序定義和解釋。(4)數(shù)據(jù)由 DBMS同一管

5、理和控制, 使得系統(tǒng)能夠為數(shù)據(jù)管理提供更多的支持。這些支持包括:提供事務(wù)支持、增強安全性、保證完整性、平衡相互沖突的請求和面對故障的彈性。( 5) 標準化:使用數(shù)據(jù)庫進行信息管理有利于制定部門標準、行業(yè)標準、工業(yè)標準、國家標準和國際標準,促進數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫開發(fā)工具的研制、開發(fā),推動數(shù)據(jù)管理應(yīng)用的健康發(fā)展。1.5數(shù)據(jù)模型的三個基本要素是:數(shù)據(jù)結(jié)構(gòu):描述數(shù)據(jù)庫的對象和對象之間的聯(lián)系,是對數(shù)據(jù)的靜態(tài)描述。數(shù)據(jù)操作:數(shù)據(jù)庫中各種對象允許的操作和操作規(guī)則,使對系統(tǒng)的動態(tài)描述。完整性約束: 一組完整性規(guī)則, 用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)和狀態(tài)的變化, 保證數(shù)據(jù)的正確、有效和相容。對于關(guān)系數(shù)據(jù)庫

6、而言, 關(guān)系模型只有一種數(shù)據(jù)結(jié)構(gòu)關(guān)系。 現(xiàn)實世界中的對象和對象之間的聯(lián)系都用關(guān)系表示。關(guān)系是元組的集合。從用戶角度來看,關(guān)系是一張二維表。在關(guān)系模型中, 定義數(shù)據(jù)操作的方法有兩種: 關(guān)系代數(shù)和關(guān)系演算。 關(guān)系代數(shù)顯式地定義了一些關(guān)系運算, 而關(guān)系演算的基礎(chǔ)是一階謂詞邏輯, 它用邏輯公式表示查詢結(jié)果必須滿足的條件。關(guān)系模型的完整性約束包括實體完整性、 參照完整性和用戶定義的完整性。 其中實體完整性和參照完整性是通用完整性約束,由關(guān)系模型明確定義。1.6數(shù)據(jù)庫系統(tǒng)的三級模式是指外模式、模式和內(nèi)模式。 外模式是特定數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一具體應(yīng)用相關(guān)的數(shù)據(jù)局部邏輯結(jié)構(gòu)的描述。模式是數(shù)據(jù)庫中全體

7、數(shù)據(jù)的總體邏輯結(jié)構(gòu)描述, 是所有用戶的公共數(shù)據(jù)視圖。內(nèi)模式是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,定義數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。數(shù)據(jù)庫系統(tǒng)的三級模式提供了三個層次的數(shù)據(jù)抽象。這樣做的一個優(yōu)點是可以隱蔽數(shù)據(jù)存儲細節(jié), 從而隱蔽系統(tǒng)內(nèi)部的復(fù)雜性, 簡化系統(tǒng)的用戶界面。 另一個優(yōu)點是可以帶來數(shù)據(jù)的獨立性。1.7 所謂數(shù)據(jù)獨立性是指數(shù)據(jù)獨立于應(yīng)用程序, 分數(shù)據(jù)的邏輯獨立性和數(shù)據(jù)的物理獨立性兩種。數(shù)據(jù)的邏輯獨立性是指應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)之間的相互獨立性。當(dāng)數(shù)據(jù)的邏輯專業(yè)整理知識分享完美 WORD 格式結(jié)構(gòu)改變時,通過修改外模式 - 模式映像,保持外模式不變,從而使得建立在外模式上的應(yīng)用程序也可以不變。數(shù)

8、據(jù)的物理獨立性是指應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)之間的相互獨立性。當(dāng)數(shù)據(jù)的物理存儲結(jié)構(gòu)改變時,通過修改模式 - 內(nèi)模式映像,保持模式不變。由于外模式是定義在模式上的, 模式不變, 則外模式不需要改變, 從而使得建立在外模式上的應(yīng)用程序也可以不變。數(shù)據(jù)的邏輯獨立性是指數(shù)據(jù)的邏輯結(jié)構(gòu)改變不影響應(yīng)用程序, 而數(shù)據(jù)的物理獨立性是指數(shù)據(jù)的物理組織(存儲結(jié)構(gòu))改變不影響應(yīng)用程序。1.8 DBA 的主要職責(zé)包括:( 1) 決定數(shù)據(jù)庫中的信息內(nèi)容和數(shù)據(jù)的邏輯結(jié)構(gòu)。( 2) 決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略。( 3) 定義數(shù)據(jù)的安全性要求和完整性約束條件。( 4) 數(shù)據(jù)庫系統(tǒng)的日常維護:周期性轉(zhuǎn)儲數(shù)據(jù)庫、故

9、障恢復(fù)、監(jiān)督系統(tǒng)運行、優(yōu)化系統(tǒng)性能、設(shè)置必要的審計。( 5) 重組和重構(gòu)數(shù)據(jù)庫。專業(yè)整理知識分享完美 WORD 格式第 2章實體-聯(lián)系模型部分習(xí)題參考答案2.1 解釋術(shù)語:實體是客觀存在并且可以相互區(qū)分的任何事物。實體集是具有相同屬性的實體的集合。聯(lián)系是多個實體之間的相互關(guān)聯(lián)。聯(lián)系集是相同類型聯(lián)系的集合。形式地說,設(shè)E1, E2, ,E 是 n( n2 )個實體集,n它們不必互不相同。聯(lián)系集R是( e , e , ,e ) |eE , e2E ,enE 的一個子12n112n集,其中 ( 1,e2, ,e)R是一個聯(lián)系,并稱e(1i)是該聯(lián)系的參與者,n是enni聯(lián)系的度(元) 。簡單屬性是不

10、能劃分成更小的部分的屬性。復(fù)合屬性是可以劃分成更小部分的屬性(即可以分成一些其他屬性)。單值屬性是一個特定的實體在該屬性上只能取單個值的屬性。多值屬性是特定的實體在該屬性上可以取多個值的屬性?;緦傩允瞧渲挡荒芡ㄟ^其他屬性的值推導(dǎo)出來的屬性。派生屬性又稱計算屬性,是其值可以從其他相關(guān)屬性或?qū)嶓w計算得到的屬性。碼是主碼或候選碼的簡稱。主碼是指數(shù)據(jù)庫的設(shè)計者選中的,用來區(qū)分同一實體集中不同實體的候選碼。候選碼:其真子集都不是超碼的極小超碼稱為候選碼。超碼:其值可以惟一確定實體集中每個實體的屬性集稱為該實體集的超碼。一對一聯(lián)系:如果E1 中的每個實體最多與E2 中的一個實體相關(guān)聯(lián),并且E2 中的每個

11、實體也最多與 E 中的一個實體相關(guān)聯(lián),則稱E 和 E 之間聯(lián)系為一對一聯(lián)系。112一對多聯(lián)系:如果E1 中的每個實體都可以與E2 中任意多個實體相關(guān)聯(lián),而E2 中的每個實體最多與1 中一個實體相關(guān)聯(lián),則稱這種聯(lián)系為1 到2 的一對多聯(lián)系。EEE多對一聯(lián)系:如果E 中的每個實體最多與E 中的一個實體相關(guān)聯(lián),而E 中的每個實體122都可以與 E1 中任意多個實體相關(guān)聯(lián),則稱這種聯(lián)系為E1到 E2 的多對一聯(lián)系。多對多聯(lián)系:如果E1 中的每個實體都可以與E2 中任意多個實體相關(guān)聯(lián),并且E2 中的每個實體也可以與E1 中任意多個實體相關(guān)聯(lián),則稱E1 和 E2 之間聯(lián)系為多對多聯(lián)系。2.2商品應(yīng)當(dāng)包含如

12、下屬性:商品條碼:標識商品。商品名稱:用戶識別。商品類別:用于商品分類。生產(chǎn)商:生產(chǎn)時間:進價:銷售價:存貨數(shù)量:2.3 所有部門形成一個實體集, 所有經(jīng)理形成一個實體集。 假定每個部門最多只有一個經(jīng)理,而每個人只能在一個部門出任經(jīng)理, 那么部門與經(jīng)理之間的聯(lián)系“管理”是一對一聯(lián)系。如果允許部門經(jīng)理空缺,但一個人是經(jīng)理的話,必須在一個部門任職,那么經(jīng)理對聯(lián)系 “管理”專業(yè)整理知識分享完美 WORD 格式的參與是全部參與,而部門是部分參與。所有學(xué)生形成一個實體集,所有院系形成一個實體集。每個院系由多個學(xué)生,而每個學(xué)生只能在一個院系。 因此,學(xué)生與院系之間的聯(lián)系是多對一聯(lián)系。 通常,一個學(xué)生總在一

13、個院系中,而每個院系都有學(xué)生。因此,學(xué)生和院系對該聯(lián)系都是全部參與。商品是一個實體集, 訂單是一個實體集。 每個訂單可以包括多種商品, 而一種商品可以被多個訂單訂購。這樣,商品與訂單之間的聯(lián)系“訂購”是多對多聯(lián)系。通常,每個訂單至少包含一種商品,而每種商品都會被某個訂單訂購(否則就不再銷售這種商品) 。這樣,商品和訂單對該聯(lián)系的參與都是全部參與。2.4 按以下要求各舉一個實際例子: ( 1)三個實體集兩兩之間都存在多對多聯(lián)系 (在你的例子中,三個實體集之間還存在有意義的聯(lián)系嗎?) ,( 2)三個實體集之間存在多對多聯(lián)系 (在你的例子中,其中兩個實體集之間還存在有意義的聯(lián)系嗎?)。(1) 實體集

14、教師、課程和學(xué)生兩兩之間的多對多聯(lián)系教師和課程之間的聯(lián)系“講授” 是多對多的: 一個教師教多門課程,一門課程由多位教師講授課程和學(xué)生之間的聯(lián)系“選修” 是多對多的: 一門課程可以被多個學(xué)生選修,一個學(xué)生可以選多門課程。學(xué)生和教師之間的聯(lián)系“師生” 也是多對多的:一個學(xué)生可以有多位教師, 一個教師可以有多個學(xué)生。教師、課程和學(xué)生三者之間也存在有意義的聯(lián)系, 表明特定的學(xué)生選修了特定教師講授的特定課程。(2) 供應(yīng)商、零件和項目之間的多對多聯(lián)系“供應(yīng)”一個供應(yīng)商向多個項目提供多種零件;一種零件由多個供應(yīng)商提供,并用于多個項目;一個項目使用多個供應(yīng)商提供的多種零件。這三個實體集中兩個實體集之間的有意

15、義聯(lián)系實際上“供應(yīng)”的投影。2.5 弱實體集的主碼可以通過它與強實體集的聯(lián)系推斷。如果將強實體集的主碼屬性添加到弱實體集, 那么這些屬性將通過實體集和聯(lián)系兩種方式提供,從而導(dǎo)致冗余。此外,實體集應(yīng)當(dāng)只包含描述該實體的屬性,強實體集的主碼屬性并不是描述弱實體集的,因此添加它們使得模型不清晰。2.6 如果一部分實體集通過E-R 圖的一條路徑相連接,則這些實體集是相關(guān)的,或許是間接相關(guān)的。一個非連通的圖意味一部分實體集與另一部分實體集是不相關(guān)的。如果我們將E-R圖劃分成連通分支,則事實上我們就有了一些分離的數(shù)據(jù)庫,每個對應(yīng)一個連通分支。如上所述, 一對實體集之間的路徑指明這兩個實體集之間的一種聯(lián)系(

16、可能是間接的) 。如果圖中存在環(huán),則環(huán)中每對實體集至少可以通過兩種不同的方式相關(guān)聯(lián)。如果E-R圖是無環(huán)的,則每對實體集之間至多存在一條路徑,因此每對實體集之間至多存在一種聯(lián)系。2.7假定每輛汽車只屬于一位客戶。涉及的實體集有:客戶、汽車和事故。需要建立如下聯(lián)系:擁有:客戶與汽車之間的多對一聯(lián)系發(fā)生:客戶、汽車和事故之間的多對多聯(lián)系。損壞估計最好作為聯(lián)系“發(fā)生”的屬性, 因為損壞估計不僅與事故有關(guān),而且與特定客專業(yè)整理知識分享完美 WORD 格式戶的特定汽車有關(guān)。E-R圖如圖 2.1 所示。姓名地址車型客戶 ID電話車輛編號出廠年份客戶擁有汽車發(fā)生損壞估計事故編號事故事故地點發(fā)生時間圖 2.1

17、習(xí)題 2.7 的 E-R 圖2.8假定一個客戶可以有多個賬戶,但一個賬戶只屬于一個客戶。涉及的實體集有:賬戶、支行、客戶和貸款。題中已經(jīng)清楚描述。建立如下聯(lián)系:賬戶 - 支行:賬戶與支行之間的多對一聯(lián)系,其中賬戶全部參與。貸款 - 支行:貸款與支行之間的多對一聯(lián)系,其中貸款全部參與。借貸:客戶與貸款之間的多對一聯(lián)系,其中貸款全部參與。賬戶與客戶之間有兩種聯(lián)系:存取款:客戶與賬戶之間的多對多聯(lián)系,包括屬性存取金額和存取日期。屬于:客戶與賬戶之間的一對多聯(lián)系。E-R 圖如圖 2.2 所示。專業(yè)整理知識分享完美 WORD 格式城市街道賬號余額資產(chǎn)支行名稱賬戶賬戶 -支行支行存取金額存取款屬于貸款 -

18、支行存取日期客戶借貸貸款客戶 ID聯(lián)系電話姓名貸款號貸款金額地址貸款日期圖 2.2 習(xí)題 2.8 的 E-R 圖2.9方法一:使用弱實體建立弱實體集“貸款償還”,包括屬性:償還編號(順序號)、償還日期、償還金額;建立建立“貸款償還”與其標識實體集“貸款”之間的標識性聯(lián)系“還貸”方法二:使用多值屬性將“貸款償還”作為貸款的多值復(fù)合屬性,它包括屬性:償還編號(順序號)、償還日期、償還金額方法三:使用強實體集建立強實體集“貸款償還”,包括屬性:貸款編號、償還編號(順序號)、償還日期、償還金額;建立建立“貸款償還”與“貸款”之間的聯(lián)系“還貸”方法一最好,方法三最差,理由與職工- 家屬的例子類似。2.1

19、0假定:每位職工在同一時間段只從事一項工作。每位職工不能同時在多個部門工作,也不能是多個部門的經(jīng)理。每位職工不能同時參加多個項目。每位職工的辦公室唯一。一個項目只由一個部門承擔(dān)。一個辦公室職能屬于一個部門。該問題涉及的實體集有:部門、職工、項目、辦公室和職工的工作經(jīng)歷,其中工作經(jīng)歷存在依賴于職工,是弱實體集,其余是強實體集。電話只有一個屬性“電話號碼” ,不把它視為實體集。一個辦公室有多部電話,但假定每位職工只有一部電話。需要建立如下聯(lián)系:管理:職工與部門之間一對一聯(lián)系專業(yè)整理知識分享完美 WORD 格式工作:職工與部門之間多對一聯(lián)系部門名稱部門號預(yù)算承擔(dān)部門部-辦辦公室名稱項目名稱項目管理工

20、作辦公室位置項目預(yù)算電話號碼參加職工職 -辦職工號屬于工作簡歷姓名電話號碼地址開始日期截止日期任務(wù)工資圖 2.3習(xí)題 2.10 的 E-R 圖承擔(dān):部門與項目之間一對多聯(lián)系部 - 辦:部門與辦公室之間一對多聯(lián)系參加:職工與項目之間多對一聯(lián)系職 - 辦:職工與辦公室之間多對一聯(lián)系屬于:弱實體集工作簡歷與標識實體集職工之間的多對一聯(lián)系E-R 圖如圖 2.3 所示。專業(yè)整理知識分享完美 WORD 格式第 3章關(guān)系模型習(xí)題參考答案3.1解釋術(shù)語:域是具有相同類型的值的集合。笛卡爾積:給定n個域1,2, ,D(它們不必互不相同)上的笛卡爾積 記作1DDDnD2 Dn,定義為 (d1,d2, ,dn)|

21、d 1 D1d 2 D2 d nDn 。關(guān)系:域1,2, n 上的關(guān)系r是笛卡爾積1D2n 的任意子集。DDDDD元組:笛卡爾積或關(guān)系的每個元素( d ,d , ,d ) 稱為一個 n- 元組(簡稱元組)12n屬性:關(guān)系用一個二維表表示。列通常是命名的,稱為屬性。關(guān)系的碼: 關(guān)系 R的屬性集 K 是它的碼, 如果 K是 R的超碼, 并且 K 的任何真子集都不是 R的超碼(即 K是極小超碼) 。或 X 是關(guān)系 R的超碼,如果t 1和 t 2是 R的任意實例中的元組,并且t1 =t2 ,則t1 =t2。XX候選碼:所有的碼都稱候選碼。主碼:由多個碼中選出的作為惟一識別關(guān)系元組的碼外碼:如果 FK是

22、關(guān)系 R的屬性集,并且不是 R的碼,但是 FK與關(guān)系 R的主碼 K 對應(yīng),則稱 FK是關(guān)系 R的外碼。關(guān)系模式: 關(guān)系模式用關(guān)系模式名、關(guān)系模式的諸屬性和屬性對應(yīng)的域,以及屬性間的數(shù)據(jù)依賴集定義。通常簡單地用關(guān)系模式名和屬性列表表示R (A,A ,A ) 。12n關(guān)系數(shù)據(jù)庫模式:由若干域的定義和一組定義在這些域上的關(guān)系模式組成。3.2實體完整性:關(guān)系R 的所有元組在主碼上的值必須惟一,并且在主碼的任何屬性上都不能取空值。參照完整性:如果屬性集 FK是關(guān)系 R的外碼,它參照關(guān)系 S的主碼 Ks,則 R的任何元組在 FK上的值或者等于 S 的某個元組在主碼 Ks上的值,或者為空值。3.3除了語義約

23、束之外,關(guān)系數(shù)據(jù)庫對關(guān)系的主要限制是:(1)在關(guān)系數(shù)據(jù)庫中,我們只考慮有限關(guān)系(笛卡爾積的有限子集) ,因為無限關(guān)系既不能顯式存儲,也不能有效地顯示。(2) 關(guān)系的每個屬性都必須是原子的, 即每個屬性只能取原子值。 在關(guān)系數(shù)據(jù)庫中, 原子值是數(shù)據(jù)訪問的最小單位。屬性的原子性要求是規(guī)范化關(guān)系的基本要求。3.4 事實上,關(guān)系R的外碼參照被參照關(guān)系(目標關(guān)系)反映R的某些元組每個都與S的S某個特定元組之間存在聯(lián)系。有些實際問題允許R的某些元組與S 的任何元組都沒有聯(lián)系,在這種情況下,允許R的這些元組在外碼上取空值。例如,在關(guān)系Employees (Eno,Ename,Salary, Dno)中, D

24、no是外碼。有些公司允許某些職工(如公司總裁)不屬于任何特定的部門,這些職工的元組在Dno 上可以取空值。假定所有的關(guān)系模式都是E-R 圖轉(zhuǎn)換得到的。(1) 如果關(guān)系 R是聯(lián)系集轉(zhuǎn)換的,則 R代表聯(lián)系集,其外碼的值代表參與聯(lián)系的特定實體集的一個特定實體。此時, R外碼都不能取空值。(2) 設(shè)關(guān)系 R的外碼 FR 參照被參照關(guān)系 S。如果關(guān)系 R是實體集 E1 轉(zhuǎn)換的, 則 E1 必然通過某個聯(lián)系 R與 S 對應(yīng)的實體集相關(guān)聯(lián)。當(dāng)這種聯(lián)系不要求是完全的時,R 的某些元組可以不參照 S的任何元組,此時外部碼FR的屬性值可以為空;反之不能為空。專業(yè)整理知識分享完美 WORD 格式3.5自然連接和等值

25、連接的相同之處是二者都是根據(jù)屬性值相等進行連接。二者的不同之處是:自然連接在相同屬性上進行相等比較,并投影去掉重復(fù)屬性;等值連接并不要求一定在相同屬性上進行相等比較,也不刪除重復(fù)屬性。3.6由強實體集得到的關(guān)系模式:Employees (Eno, Ename, Salary)Departments (Dno, Dptname)Suppliers (Sno, Sname, Saddress)Items (Ino, Iname, Stocks)Orders (Ono, Data)Customers (Cno, Cname, Caddress, Balance)其中主碼用下橫線標示(下同) 。注意,

26、 Departments 的 Dptname 也是碼,但我們選擇 Dno 為主碼。由弱實體集 Dependents 得到如下關(guān)系模式:Dependents (Eno, Dname, ReltoEmp, Birthday)將聯(lián)系轉(zhuǎn)換成關(guān)系模式時, 不再考慮弱實體集的存在依賴聯(lián)系。 其余 6 個聯(lián)系產(chǎn)生如下關(guān)系模式:Manages (Dno, Eno)Works_in (Eno, Dno)Carries (Dno, Ino)Supplies (Sno, Ino, Price)Includes (Ono, Ino, Quantity)Placed_by (Cno, Ono)其中 Works_in 和

27、 Manages 有相同的屬性,但它們的實際意義不同。下一步,我們合并具有相同碼的關(guān)系模式。首先,考慮Manages。它與Employees 和Departments 都包含相同的碼。 Maneges與 Employees 合并更容易回答 “某職工的經(jīng)理是誰”這類問題, 而與 Departments 合并更容易回答“某部門的經(jīng)理是誰” 這類問題。考慮到后一類問題更經(jīng)常出現(xiàn),我們決定將Manages合并到 Departments ,并將 Manages 中屬性 Eno 改名為 Mrgno(表示經(jīng)理的職工號) ,得到如下關(guān)系模式:Departments (Dno, Dptname, Mrgno)還

28、有三對關(guān)系具有相同的碼,它們是 Employees 和 Works_in ,Items 和 Carries ,Orders和 Placed_by 。它們都可以直接合并。最后,我們得到圖3.11 所示 E-R 模型的一組關(guān)系模式:Employees (Eno, Ename, Salary, Dno)Department (Dno, Dptname, Mrgno)Suppliers (Sno, Sname, Saddress)Items (Ino, Iname, Stocks, Dno)Orders (Ono, Data, Cno)Customers (Cno, Cname, Caddress,

29、Balance)Dependents (Eno, Dname, ReltoEmp, Birthday)Supplies (Sno, Ino, Price)Includes (Ono, Ino, Quantity)3.7 習(xí)題 3.6 的關(guān)系模式的模式圖如圖3.1 所示。專業(yè)整理知識分享完美 WORD 格式DepartmentsEmployeesDependentsDnoEnoEnoDptnameEnameDnameMrgnoSalaryReltoEmpDnoBirthdayItemsIncludesOrdersInoOnoOnoInameInoDateStocksQuantityCnoDnoC

30、ustomersSuppliesSuppliersCnoSnoSnoCnameInoSnameCaddressQuantitySaddressBalance圖 3.1某公司數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)庫模式圖3.8得到的一組關(guān)系模式如下:客戶(客戶ID,姓名,地址,電話)汽車(車輛編號,車型,出廠年份,車主ID)事故(事故編號,發(fā)生時間,事故地點)發(fā)生(駕照號,車輛編號,事故編號,損壞估計)其中,客戶與汽車之間的聯(lián)系已經(jīng)合并到關(guān)系模式“汽車”中,并將“客戶ID ”改為“車主 ID ”。3.9由實體集得到如下關(guān)系模式:賬戶(賬號,余額)支行(支行名稱,城市,街道,資產(chǎn))客戶(客戶ID,姓名,地址,聯(lián)系電話)

31、貸款(貸款號,貸款日期,貸款金額)由聯(lián)系得到如下關(guān)系模式:賬戶 - 支行(賬號,支行名稱)貸款 - 支行(貸款號,支行名稱)借貸(客戶ID,貸款號)存取款(客戶ID,賬號,存取金額,存取日期)屬于(賬號,客戶ID )合并具有相同碼的關(guān)系模式:賬戶、賬戶 - 支行、屬于具有相同碼,合并成一個關(guān)系模式賬戶,并用開戶行替換支行名稱,開戶人替換客戶標識。合并后的關(guān)系模式如下:賬戶(賬號,余額,開戶行,開戶人)貸款和貸款 - 支行具有相同碼, 合并成一個關(guān)系模式貸款,并用貸款支行替換支行名稱。合并后的關(guān)系模式如下:貸款(貸款號,貸款日期,貸款金額,貸款支行)最后得到的一組關(guān)系模式如下:專業(yè)整理知識分享完

32、美 WORD 格式賬戶(賬號,余額,開戶行,開戶人)支行(支行名稱,城市,街道,資產(chǎn))客戶(客戶標識,姓名,地址,聯(lián)系電話)貸款(貸款號,貸款日期,貸款金額,貸款支行)借貸(客戶ID,貸款號)存取款(客戶ID,賬號,存取金額,存取日期)3.10 電話號碼是多值屬性,需要創(chuàng)建一個關(guān)系模式。我們稱該關(guān)系模式為電話,它的碼為電話號碼。該關(guān)系模式定義如下:電話(電話號碼,辦公室名稱)由強實體集得到如下關(guān)系模式:部門(部門號,部門名稱,預(yù)算)項目(項目名稱,項目預(yù)算)辦公室(辦公室名稱,位置)職工(職工號,姓名,地址,電話號碼)由弱實體集“工作簡歷”得到如下關(guān)系模式:工作簡歷(職工號,開始時間,任務(wù),工

33、資,截止時間)由聯(lián)系集得到如下關(guān)系模式:承擔(dān)(項目名稱,部門號)部 - 辦(辦公室名稱,部門號)管理(職工號,部門號)參加(職工號,項目名稱)工作(職工號,部門號)職 - 辦(職工號,辦公室名稱)合并具有相同碼的關(guān)系模式:項目與承擔(dān)具有相同碼,合并為項目,并將部門號改為承擔(dān)部門,得到:項目(項目名稱,項目預(yù)算,承擔(dān)部門)辦公室與部 - 辦具有相同碼,合并為辦公室,并將部門號改為所屬部門,得到:辦公室(辦公室名稱,位置,所屬部門)管理有兩個碼,可以與職工合并(有利于回答“某職工的經(jīng)理是誰”這類問題),也可以與部門合并(有利于回答“某部門的經(jīng)理是誰”這類問題) ??紤]“某部門的經(jīng)理是誰”這類問題更

34、常出現(xiàn),決定于部門合并,并將職工號改為經(jīng)理,得到:部門(部門號,部門名稱,預(yù)算,經(jīng)理)職工、參加、工作和職- 辦都具有相同碼,合并為職工,得到:職工(職工號,姓名,地址,電話號碼,項目名稱,部門號,辦公室名稱)最后,我們得到如下關(guān)系模式:部門(部門號,部門名稱,預(yù)算,經(jīng)理)項目(項目名稱,項目預(yù)算,承擔(dān)部門)辦公室(辦公室名稱,位置,所屬部門)職工(職工號,姓名,地址,電話號碼,項目名稱,部門號,辦公室名稱)工作簡歷(職工號,開始時間,任務(wù),工資,截止時間)電話(電話號碼,辦公室名稱)專業(yè)整理知識分享完美 WORD 格式3.11(1) 求上海的所有供應(yīng)商的信息。Scity= 上海 (Suppl

35、iers)(2) 求位于鄭州的所有工程的信息。Jcity= 上海 (Projects)(3) 求數(shù)量在 100150 之間的供應(yīng)。Quantity100Quantity150(SPJ)(4) 求為工程 J1 提供零件的供應(yīng)商號。Sno (Jno=J1 (SPJ)(5) 求供應(yīng)工程 J1 紅色零件的供應(yīng)商號。Sno(Jno=J1Color= 紅色 (SPJParts)(6) 求至少提供一種紅色零件的供應(yīng)商名稱。Sname(Color= 紅色 (SuppliersSPJ Parts)(7) 求不提供零件 P2 的供應(yīng)商名稱(Suppliers)(SuppliersSPJ)SnameSnamePno

36、=P2(8) 求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號。使用了天津供應(yīng)商生產(chǎn)的紅色零件的工程號Jno(Scity =天津 (Suppliers)SPJColor= 紅色 (Parts)該題的解Jno(Projects)Jno(Scity = 天津 (Suppliers)SPJColor= 紅色 (Parts)(9) 求使用了本地供應(yīng)商提供的零件的工程號和工程名稱。Jno,Jname(Scity=Jcity(ProjectsSPJ Suppliers)專業(yè)整理知識分享完美 WORD 格式(10) 求未使用本地供應(yīng)商提供的零件的工程號和工程名稱。Jno,Jname(Projects)Jno,Jn

37、ame(Scity=Jcity(ProjectsSPJ Suppliers)(11) 求至少用了供應(yīng)商 S1 所供應(yīng)的全部零件的工程號。Jno,PnoPno(Sno=S1 (SPJ)(12) 求提供所有零件的供應(yīng)商名稱。SnameSno,PnoPno(Parts)Suppliers)3.12 對于供應(yīng)商 - 工程 - 零件數(shù)據(jù)庫,用元組/ 域關(guān)系演算表示習(xí)題3.9 中的查詢(1) 求上海的所有供應(yīng)商的信息。 t | Suppliers(t )t Scity=上海 )(2) 求位于鄭州的所有工程的信息。 t | Projects(t )t Jcity=鄭州 )(3) 求數(shù)量在 100150 之間

38、的供應(yīng)。 t | SPJ(t )t Quantity100t Quantity150)(4) 求為工程 J1 提供零件的供應(yīng)商號。t(1)(SPJ()uJno= J1 tSno=Sno)| (uuu(5) 求供應(yīng)工程 J1 紅色零件的供應(yīng)商號。 t (1) | (u)(v)(SPJ( u)Parts(v)uPno= vPnouJno= J1 vColor=紅色t Sno= uSno)(6) 求至少提供一種紅色零件的供應(yīng)商名稱。(1)| ()(v)()(Suppliers(u)SPJ(v)Parts( )Sno=vSnotuwwuvPno=wPnovColor=紅色t Sname= uSname

39、)(7) 求不提供零件 P2 的供應(yīng)商名稱 t (1) | (u) (Suppliers(u)t Sname= uSname(v)(SPJ( v)uSno= vSnovPno= P2 )(8) 求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號。 t (1) | (u) (Projects (u)t Jno= uJno(v1)(v2)(v3) (Suppliers(v1)SPJ( v2)Parts(v3)uJno= v2Jnov1Sno= v2SnoOv2Pno=v3Pnov1Scity= 天津v3Color = 紅色 )(9) 求使用了本地供應(yīng)商提供的零件的工程號和工程名稱。 t (2) | (u)

40、(v)(w) (Projects(u)SPJ( v)Suppliers(w)專業(yè)整理知識分享完美 WORD 格式uJno= vJnovSno= wSnouJcity=wScityt Jno= uJnot Jname= uJname)(10) 求未使用本地供應(yīng)商提供的零件的工程號和工程名稱。 t (2) | (s)(Projects(s)(u)(v)(w) (Projects(u)SPJ( v)Suppliers(w)uJno= vJnovSno= wSnouJcity=wScityt Jno= uJnot Jname= uJname)(11) 求至少用了供應(yīng)商 S1 所供應(yīng)的全部零件的工程號。

41、 t (1) | (u) (Projects(u)t Jno= uJno(v)(SPJ( v)vSno = S1(w)(SPJ( w)uJno= wJnovSno= wSno)(12) 求提供所有零件的供應(yīng)商名稱。 t (1) | (u) (Suppliers(u)t Sname= uSname(v)(Parts(v)()(SPJ()uSno= SnovPno=Pno)wwww3.13 用域關(guān)系演算完成例3.12 和例 3.13 中的查詢例 3.12(1) 列出系編號為 MA(數(shù)學(xué)系)的所有學(xué)生的詳細信息。( x1, x 2, x3, x4, x5, MA ) | Students(x1, x

42、2, x3, x4, x5, MA ) (2) 列出所有課程的課程號、課程名和學(xué)分。( x1, x2, x3) | (y)(Courses(x1, x2, y, x3)(3) 列出年齡不超過 45 歲的所有副教授的姓名、性別和年齡。( x1, x2, x3) | (y1, y2) (Teachers(y1, x1 , x2, x3, 副教授 , y2)(4) 列出選修了課程號為 CS201的課程的所有學(xué)生的學(xué)號。( x) | (y) (SC( x, CS201 , y )例 3.13(1) 列出選修了課程號為 CS201的課程的所有學(xué)生的學(xué)號和姓名。( x1, x2)|(x3, x4 , x5, x6)(y)(Students(x1, x2, x3, x4, x5, x6)SC(x1, CS201 , y)(2) 列出每個學(xué)生選修的每門課程的成績,要求列出的學(xué)號、姓名、課程名和成績。( x1, x2, x3, x4) | ( y1, y2, y3, y4)(z)(w1, w2, w3, w4)(Students(x1, x2, y1, y2, y3, y4)SC(x1, w1, z)Courses( w1, w2, w3 , w4)(3) 求評估得分高于 90 分

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論