數(shù)據(jù)庫工程師課后習題答案_第1頁
數(shù)據(jù)庫工程師課后習題答案_第2頁
數(shù)據(jù)庫工程師課后習題答案_第3頁
數(shù)據(jù)庫工程師課后習題答案_第4頁
數(shù)據(jù)庫工程師課后習題答案_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、習題參考答案第1章習題參考答案1.1 答案(1)信息是現(xiàn)實世界事物的存在方式和運動狀態(tài)的反映,是對事物之間相互聯(lián)系、相互作用的描述。(2)數(shù)據(jù)是描述現(xiàn)實世界事物的符號記錄,是用物理符號記錄下來的可以識別的信息。(3)數(shù)據(jù)處理是指對數(shù)據(jù)進行分類、收集、組織、存儲,進而從已有數(shù)據(jù)出發(fā),抽取或推導出表示新的信息的數(shù)據(jù)。(4)數(shù)據(jù)管理是指對數(shù)據(jù)的分類、收集、組織、編碼、存儲、檢索和維護過程,是數(shù)據(jù)處理業(yè)務的重要環(huán)節(jié)。(5)數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的形式框架,是用來描述數(shù)據(jù)的一組概念和定義,包括描述數(shù)據(jù)、數(shù)據(jù)聯(lián)系、數(shù)據(jù)操作、數(shù)據(jù)語義以及數(shù)據(jù)一致性的概念工具。(6)概念數(shù)據(jù)模型是按用戶的觀點對現(xiàn)實世界數(shù)據(jù)和信

2、息進行建模的工具,常用的概念數(shù)據(jù)模型是實體-聯(lián)系模型。(7)數(shù)據(jù)結(jié)構模型是機器世界中與具體DBMS相關的數(shù)據(jù)模型,其典型代表是關系模型。(8)物理數(shù)據(jù)模型描述數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)中的實際存儲組織方式。(9)模式是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構和特征的描述,是所有用戶的公共數(shù)據(jù)視圖,也稱為邏輯模式或概念模式。(10)外模式是對數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構和特征的描述,是與某一應用有關的數(shù)據(jù)的邏輯表示,也稱為子模式、用戶模式或用戶視圖。(12)內(nèi)模式是對數(shù)據(jù)庫中數(shù)據(jù)的物理結(jié)構和存儲方式的描述,也稱為物理模式或存儲模式。(13)外模式/模式映像是對數(shù)據(jù)庫中不同用戶的外模式與數(shù)據(jù)庫邏輯模式之

3、間對應關系的描述。(14)模式/內(nèi)模式映像是對數(shù)據(jù)庫中數(shù)據(jù)全局邏輯結(jié)構與數(shù)據(jù)的物理存儲組織結(jié)構之間對應關系的描述。1.2 答案數(shù)據(jù)庫是存儲在計算機內(nèi)的共享數(shù)據(jù)集合,數(shù)據(jù)庫管理系統(tǒng)是一種數(shù)據(jù)管理系統(tǒng)軟件。數(shù)據(jù)庫系統(tǒng)則是在計算機系統(tǒng)中引入數(shù)據(jù)庫后的軟硬件系統(tǒng)構成,包括了數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)。1.3 答案數(shù)據(jù)模型的組成要素有數(shù)據(jù)結(jié)構、數(shù)據(jù)操作和完整性約束。1.4 答案當數(shù)據(jù)庫模式發(fā)生變化時,通過調(diào)整外模式/模式間的映像關系,使得應用程序不必隨之修改,從而保證數(shù)據(jù)與應用程序間的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。當數(shù)據(jù)庫數(shù)據(jù)的物理存儲結(jié)構改變時,通過調(diào)整模式/內(nèi)模式映像關系,保持數(shù)據(jù)庫模式不變,使數(shù)據(jù)

4、庫系統(tǒng)的外模式和應用程序不隨之改變,保證數(shù)據(jù)與應用程序間的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。1.5 答案DBMS的主要功能有數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫運行管理與控制、數(shù)據(jù)庫建立與維護。1.6 答案DBMS包括查詢處理器和存儲管理器兩部分。查詢處理器實現(xiàn)面向用戶的查詢分析處理和優(yōu)化功能。存儲管理器為用戶和應用程序提供了訪問存儲在數(shù)據(jù)庫文件中的應用數(shù)據(jù)的接口。1.7 答案近年來出現(xiàn)的數(shù)據(jù)庫新技術有工程數(shù)據(jù)庫、演繹數(shù)據(jù)庫、知識數(shù)據(jù)庫、模糊數(shù)據(jù)庫、時態(tài)數(shù)據(jù)庫、統(tǒng)計數(shù)據(jù)庫、空間數(shù)據(jù)庫、多媒體數(shù)據(jù)庫、對象數(shù)據(jù)庫、并行數(shù)據(jù)庫、移動數(shù)據(jù)庫、基于網(wǎng)格的數(shù)據(jù)管理技術等。第2章習題參考答案2.1 答案(1)軟件生命

5、周期是指軟件產(chǎn)品從考慮其概念開始,到該產(chǎn)品不再使用的整個時期。一般包括概念階段、需求階段、設計階段、實現(xiàn)階段、測試階段、安裝部署及交付階段、運行階段與維護階段。(2)數(shù)據(jù)庫應用系統(tǒng)需求是指用戶對數(shù)據(jù)庫應用系統(tǒng)在功能、性能、行為、設計約束等方面的期望和要求。2.2 答案數(shù)據(jù)庫應用系統(tǒng)中的軟件包括操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、中間件和開發(fā)工具、與數(shù)據(jù)訪問與處理有關的應用軟件、與數(shù)據(jù)訪問與處理無關的應用軟件。2.3 答案(1)參照軟件開發(fā)瀑布模型原理,DBAS的生命周期由項目規(guī)劃、需求分析、系統(tǒng)設計、實現(xiàn)與部署、運行管理與維護等5個基本活動組成。(2)將快速原型模型和增量模型的開發(fā)思路引入DBAS生命周

6、期模型,允許漸進、迭代地開發(fā)DBAS。(3)根據(jù)DBAS的軟件組成和各自功能,細化DBAS需求分析和設計階段,引入了數(shù)據(jù)組織與存儲設計、數(shù)據(jù)訪問與處理設計、應用設計三條設計主線,分別用于設計DBAS中的數(shù)據(jù)庫、數(shù)據(jù)庫事務和應用程序。(4)將DBAS設計階段細分為概念設計、邏輯設計、物理設計三個步驟,每一步的設計內(nèi)容又涵蓋了三條設計主線。2.4 答案DBAS規(guī)劃與分析的主要工作內(nèi)容分為系統(tǒng)規(guī)劃與定義、可行性分析、項目規(guī)劃三個方面。其中,系統(tǒng)規(guī)劃與定義是通過了解用戶實際需求,明確數(shù)據(jù)庫應用系統(tǒng)需要實現(xiàn)的目標和任務,并從數(shù)據(jù)管理和數(shù)據(jù)處理的角度,確定系統(tǒng)中數(shù)據(jù)庫軟件的功能、性能范圍;可行性分析則包括

7、項目的技術可行性分析、經(jīng)濟可行性分析、操作可行性分析和開發(fā)方案選擇;項目規(guī)劃則是對項目資源、成本和進度做出合理估算,并據(jù)此制定DBAS項目開發(fā)計劃。2.5 答案DBAS需求分析包括數(shù)據(jù)需求分析、數(shù)據(jù)處理需求分析、業(yè)務需求分析等方面,此外還包括對系統(tǒng)在性能、存儲、安全、備份與恢復等方面的要求進行分析。2.6 答案數(shù)據(jù)庫應用系統(tǒng)的概念設計包括數(shù)據(jù)庫概念模型設計和系統(tǒng)總體設計。數(shù)據(jù)庫概念模型設計是依據(jù)數(shù)據(jù)需求分析結(jié)果,分析需要存儲在數(shù)據(jù)庫中的各類數(shù)據(jù)對象的特征及其相互間關聯(lián)關系,并表示為概念數(shù)據(jù)模型;系統(tǒng)總體設計則是依據(jù)系統(tǒng)規(guī)劃與分析結(jié)果和系統(tǒng)需求分析結(jié)果,確定系統(tǒng)軟硬件總體框架。2.7 答案數(shù)據(jù)庫

8、應用系統(tǒng)的邏輯設計包括數(shù)據(jù)庫邏輯結(jié)構設計、數(shù)據(jù)庫事務概要設計、應用程序概要設計三方面。數(shù)據(jù)庫邏輯結(jié)構設計的主要步驟為:將E-R圖轉(zhuǎn)換為初始關系模式、對初始關系模式進行優(yōu)化、檢查關系表對數(shù)據(jù)庫事務的支持性、確定關系模式完整性約束、設計基于關系模式的用戶視圖。2.8 答案數(shù)據(jù)庫應用系統(tǒng)物理設計包括數(shù)據(jù)庫物理結(jié)構設計、數(shù)據(jù)庫事務詳細設計和應用程序詳細設計。數(shù)據(jù)庫事務詳細設計是根據(jù)事務處理流程,面向具體DBMS平臺和開發(fā)環(huán)境,利用SQL語句、數(shù)據(jù)庫訪問接口,采用高級程序設計語言或DBMS提供的事務實現(xiàn)機制,設計數(shù)據(jù)庫事務。2.9 答案數(shù)據(jù)庫應用系統(tǒng)的系統(tǒng)實現(xiàn)和部署包括建立數(shù)據(jù)庫結(jié)構、數(shù)據(jù)加載、事務和應

9、用程序的編碼及測試、系統(tǒng)集成測試與試運行、系統(tǒng)部署等工作內(nèi)容。2.10 答案數(shù)據(jù)庫應用系統(tǒng)的運行與維護包括日常維護、系統(tǒng)監(jiān)控與分析、系統(tǒng)性能優(yōu)化調(diào)整、系統(tǒng)升級進化。第3章習題參考答案3.1 答案需求分析階段的主要任務是通過需求分析的工作把用戶對應用系統(tǒng)的非形式化需求不斷揭示和挖掘出來,其目的在于明確應用系統(tǒng)的目標、功能、性能、數(shù)據(jù)范圍和相關約束,形成需求說明書,作為系統(tǒng)開發(fā)后續(xù)各階段的工作基礎。完成需求分析的基本方法是調(diào)查分析,即面談、實地觀察、問卷調(diào)查及查閱資料。3.2 答案例如,可采用下列過程和步驟完成學校選課系統(tǒng)的需求分析:(1)標識問題標識問題從現(xiàn)行教務系統(tǒng)的業(yè)務流程做起,采用面談、觀

10、察等方式理解現(xiàn)行教務系統(tǒng)的業(yè)務流程,包括現(xiàn)行教務流程存在的問題及需要改進的方面,通過對系統(tǒng)各類問題的識別和標識獲得對待建選課系統(tǒng)功能、性能及運行環(huán)境等的全面理解。(2)建立需求模型使用DFD等建模方法建立選課系統(tǒng)需求模型,借助模型及抽象方法把選課系統(tǒng)中的各類活動,如學籍管理、課程管理及選課、補退選等功能描述清楚,使得各類人員便于認識、理解系統(tǒng)所實現(xiàn)的功能。(3)描述需求按照需求說明書規(guī)格全面地、完整地描述及說明選課系統(tǒng)的功能性需求和非功能性需求。(4)確認需求由相關專家及人員確認和進一步檢查選課系統(tǒng)需求的合理性、正確性和有效性,以確保需求分析的結(jié)果是全面的、準確的和一致的。3.3 答案(1)不

11、過早陷入具體的細節(jié)。(2)從整體或宏觀入手分析問題,如業(yè)務系統(tǒng)的總體結(jié)構,系統(tǒng)及子系統(tǒng)的關系。(3)通過圖形化的模型對象直觀地表示系統(tǒng)要做什么,完成什么功能。(4)圖形化建模方法方便系統(tǒng)分析員理解和描述系統(tǒng)。(5)模型對象不涉及太多技術術語,便于用戶理解模型。3.4 答案功能需求主要描述應用信息系統(tǒng)的處理要求。例如,本書應用案例“商場經(jīng)營管理系統(tǒng)”用了兩層數(shù)據(jù)流圖較全面的描述了商場經(jīng)營管理系統(tǒng)將要完成的功能。圖3.3第一層數(shù)據(jù)流圖從總體描述了系統(tǒng)的主要功能及完成商場經(jīng)營管理涉及的信息及信息范圍以及目標系統(tǒng)與外部的數(shù)據(jù)交換關系。圖3.4第二層數(shù)據(jù)流圖描述了實現(xiàn)商場業(yè)務活動需要的基本功能,如庫存管

12、理、銷售管理、會員管理及查詢統(tǒng)計以及完成以上各處理要求需要的輸入、輸出數(shù)據(jù)及信息。信息需求主要描述目標系統(tǒng)需要存儲和管理哪些數(shù)據(jù),這些數(shù)據(jù)具有什么屬性特征和組成格式。商場經(jīng)營管理系統(tǒng)的數(shù)據(jù)需求見所列的數(shù)據(jù)對象。性能需求描述應用系統(tǒng)對性能的要求。例如,商場經(jīng)營管理系統(tǒng)對響應時間,存儲容量,系統(tǒng)的適應性,數(shù)據(jù)的安全性、數(shù)據(jù)的完整性、一致性和可靠性等方面的要求。3.6 答案(1)商場經(jīng)營管理系統(tǒng)A0圖會員卡入庫單市場信息計算機軟件及硬件查詢及統(tǒng)計信息商場經(jīng)營管理系統(tǒng)編號A-0商品表(2) 商場經(jīng)營管理系統(tǒng)A0圖會員管理銷售管理庫存管理查詢及統(tǒng)計I1會員卡C1會員信息會員信息市場信息商品表I3入庫單I

13、2出庫單M1I1銷售明細I3查詢及統(tǒng)計信息O1庫存信息M1M1M1編號A0父圖TOP 3.7 答案(1)電子產(chǎn)品租借管理系統(tǒng)第一層數(shù)據(jù)流圖P1 客戶信息電子產(chǎn)品店員信息租借產(chǎn)品租借產(chǎn)品客戶客戶供應商商店(2)電子產(chǎn)品租借管理系統(tǒng)第二層數(shù)據(jù)流圖P1.1確認客戶及管理員認證客戶借閱需求P1.2信息查詢P1.3租借 客戶D1D3電子產(chǎn)品庫存租借記錄D4P1.4返還生成租借信息刪除租借記錄客戶借閱清單返還產(chǎn)品P1.5報表生成店經(jīng)理統(tǒng)計信息第4章習題參考答案4.1 答案數(shù)據(jù)庫概念設計包括如下基本步驟:(1)確定實體集(2)確定聯(lián)系和聯(lián)系類型(3)建立由信息模型表示的企業(yè)模型(4)確定實體集屬性(5)對信

14、息模型優(yōu)化4.2 答案(1)實體集與實體集實例如,李明讀了兩本書,丁一讀了3本書。根據(jù)這個事實可以抽象出一個數(shù)據(jù)模型“學生讀書”。其中“學生”是一個實體集,因為實體集描述具有相同屬性特征和性質(zhì)的事物集合(如學生對象集合);而其中的“李明”、“丁一”是學生實體集中的實例,因為他們都是學生集合中的一個具體對象,實體集實例描述一個集合中客觀存在并可以相互區(qū)分的事物。(2)屬性與屬性實例如“學生讀書”數(shù)據(jù)模型中的姓名是學生實體集的一個屬性,屬性描述實體所具有的某一特征或性質(zhì),一個實體通常由多個屬性來刻畫;而“李明”、“丁一”是姓名屬性的實例也是姓名屬性的取值。(3)聯(lián)系與聯(lián)系基數(shù)學生和圖書兩個實體集之

15、間的關系叫做“聯(lián)系”,聯(lián)系描述實體集之間的一種連接或關系;如果實體集學生的一個實例與實體集圖書的2個、3個或N個實例相聯(lián)系, 就說明在聯(lián)系的學生端有基數(shù)1,而在聯(lián)系的圖書端有基數(shù)2、3、或N, 聯(lián)系的基數(shù)刻畫兩個實體集之間聯(lián)系的類型:1:1或1:N或M:N。4.3 答案(1)分類聯(lián)系在現(xiàn)實世界中,有些事物是其它事物的類。例如,實體集 “電冰箱”、“洗衣機”、“彩電”是實體集“電器”的分類實體集?!胺诸惵?lián)系”描述兩個或多個實體集之間的聯(lián)系,在這些實體集中,存在一個一般實體集如電器,它的每一個實例都恰好與一個且僅一個分類實體集如“電冰箱”或“洗衣機”或“彩電”的一個實例相聯(lián)系。通常,一般實體集的每

16、一個實例和與之相關的一個分類實體集實例描述的是現(xiàn)實世界的同一事物,它們具有相同的唯一標識符。(2)不確定聯(lián)系例如,商場允許一位客戶購買多種商品,而同一種商品允許多名客戶購買。在實體集“客戶”和“商品”之間就存在著不確定的聯(lián)系。不確定聯(lián)系又稱為“多對多聯(lián)系”或M:N的聯(lián)系。這種聯(lián)系關聯(lián)的兩個實體集之間的任一實體集的一個實例都將對應另一個實體集的1個或多個實例。4.4 答案(1)教務管理系統(tǒng)ER圖 學生學生 教師 教材 課程使用聘用1nn1nmpqn1 成績 班級11教課被管理管理 系教課 招收n1ER圖實體集屬性列表:系實體集屬性:系號,系名,系主任,系辦公室電話 班級實體集:班級名,學生人數(shù)學

17、生實體集屬性:學號,姓名,性別,出生日期 教師實體集屬性:教師號,教師名,職稱,性別,出生日期,工資 課程實體集屬性:課程號,課程名,學分,上課時間,課容量教材實體集屬性:教材號,教材名,出版社,第一作者(2)教務管理系統(tǒng)Idef1x圖系號(PK)系/10教師號(PK)教師/30班級名(PK) 班級/20教材號 (PK)教材/60 (PK)學號 (FK) 選課/65課程號(FK)使用管理招收教師號(FK)學生/40學號 (PK)教課/55課程號(FK)課程號(FK)教師號(FK)課程號(FK)課程號(PK)課程/50班級名 (FK)課程號 (FK)系號 (FK)系號 (FK)聘用被管理Idef

18、1x圖實體集屬性列表:系/10, 屬性:系號,系名,系主任,系辦公室電話 班級/20,屬性:班級名,學生人數(shù),系號,教師號教師/30,屬性:教師號,教師名,職稱,性別,出生日期,工資,系號學生/40,屬性:學號,姓名,性別,出生日期,班級名 課程/50,屬性:課程號,課程名,學分,上課時間,課容量教課/55,屬性:教師號,課程號,授課評價教材/60,屬性:教材號,教材名,出版社,第一作者,課程號選課/65,屬性:學號,課號,成績4.5 答案電器銷售管理系統(tǒng)ER圖總公司分店職工電器領導聘用儲存銷售1nmn庫存量銷售量領導1n1n銷售時間ER圖實體集屬性列表:總公司實體集屬性:工商注冊號,地點,總

19、裁,總公司電話,總公司職工數(shù)分店實體集屬性:分公司注冊號,地點,經(jīng)理,電話,職工數(shù)職工實體集屬性:工作證號,姓名,性別,年齡,工資,工種,獎金電器實體集屬性:型號,名稱,電器指標,生產(chǎn)商,生產(chǎn)日期,進貨價格,售出價格第5章習題參考答案5.1 答案關系模型用二維表格結(jié)構表示實體及實體間的聯(lián)系?,F(xiàn)實世界中的每個客觀對象對應表中的一行叫做一條記錄,表中的每個列(屬性)描述對象類的某一特征,列的值(屬性的取值)刻畫和描述客觀對象的某一具體的特征。關系數(shù)據(jù)庫是按照二維表格組織和存儲的相互關聯(lián)的關系(表)的集合。關系數(shù)據(jù)庫采用關系模型在計算機中組織、存儲、處理和管理數(shù)據(jù)。5.2 答案如學號是學生關系(表)

20、的主碼,因為這個屬性能夠唯一識別學生關系中的每一條記錄。5.3 答案主碼約束定義指定關系的主碼列不能取空值,并且取值要唯一。5.4 答案如果兩個關系R和S,X是R的屬性或?qū)傩越M,且X不是R的碼,但X是S的碼,則稱X是R的外碼。5.5 答案外碼約束也叫引用完整性約束,定義外碼與主碼之間的引用規(guī)則,即若關系R含有另一個關系S的主碼Ks所對應的屬性或?qū)傩越MF(該屬性或?qū)傩越MF稱為關系R的外碼),則關系R中的每一個元組在屬性組F上的值必須滿足:或者取空值,或者等于S中某個元組的主碼Ks的值。5.7 答案關系數(shù)據(jù)庫設計理論的基礎是函數(shù)依賴理論和規(guī)范化設計理論。規(guī)范化設計理論的主要內(nèi)容是范式,即關系模式滿

21、足的條件,它是數(shù)據(jù)庫邏輯設計的指南。5.8 答案(1)商場經(jīng)營管理系統(tǒng)實體集屬性列表:供應商實體集屬性:供應商編號,名稱,地址,郵編,聯(lián)系人,電話,傳真,網(wǎng)址,電子郵箱,開戶銀行,賬戶名稱,賬戶賬號 商品及庫存實體集屬性:商品類別編號,類別名稱,類別描述信息,商品編號,品名,生產(chǎn)日期,單價,庫存量,商品描述信息銷售員信息實體集屬性:銷售人員編號,姓名,性別,年齡,身份證,地址,郵編,電話,收銀臺編號,狀態(tài),收銀臺描述信息顧客信息實體集屬性:顧客編號,姓名,性別,年齡,身份證號,地址,郵編,電話會員卡實體集屬性:會員卡號,有效起始日期,有效截止日期,積分,狀態(tài)(2)3NF關系模式(注,下劃屬性為

22、主碼屬性):供應商信息(供應商編號(PK),名稱,地址,郵編,聯(lián)系人,電話,傳真,網(wǎng)址,電子郵箱,開戶銀行,賬戶名稱,賬戶賬號) 商品類別(商品類別編號(PK),類別名稱,類別描述信息)商品(商品編號(PK),品名,生產(chǎn)日期,單價,庫存量,商品描述信息,商品類別編號(FK)采購入庫單據(jù)(入庫單據(jù)編號(PK),入庫日期,經(jīng)手人,入庫單據(jù)描述)采購入庫單據(jù)明細(入庫單據(jù)編號(FK),商品編號(FK),進價,數(shù)量,供應商編號(FK),購買日期) 銷售人員(銷售人員編號(PK),姓名,性別,年齡,身份證,地址,郵編,電話)收銀臺(收銀臺編號(PK),狀態(tài),收銀臺描述信息)會員卡(會員卡號(PK),有效

23、起始日期,有效截止日期,積分,狀態(tài))銷售單據(jù)(銷售單編號(PK),會員卡號(FK),本次積分,付款總金額,銷售日期,銷售人員編號(FK),收銀臺編號(FK),銷售單據(jù)描述)銷售單據(jù)明細(銷售單據(jù)編號FK,商品編號FK,單價,數(shù)量,總價,折扣率,折扣總價)商品價格變動表(商品編號(FK),開始日期,結(jié)束日期,銷售價格,注釋)顧客信息(顧客編號(PK), 會員卡號(FK),姓名,性別,年齡,身份證號,地址,郵編,電話)5.9 答案(1)R的碼是(AD)(2)R是1NF的關系模式(3)將R分解為3NF的關系模式如下:R1(D,C,G)R2(A,B,E)R3(B,C,F(xiàn))5.10 答案R1(TIME,

24、TERM,ROOM,CNO)R2(TIME,CNO,TNO)R3(SNO,CNO,SCORE)R4(CNO,CNAME,CREDIT)第6章習題參考答案6.1 答案(1)堆文件是一種數(shù)據(jù)庫文件結(jié)構形式。在堆文件中,記錄隨機地存儲在文件物理空間中,新插入的記錄存儲在文件的末尾。(2)順序文件是一種數(shù)據(jù)庫文件結(jié)構形式。在順序文件中,記錄按照查找碼值的升序或降序順序排列存儲。(3)聚集文件是一種數(shù)據(jù)庫文件結(jié)構形式。聚集文件具有多種記錄類型,存儲了來自多個關系表的記錄數(shù)據(jù),每個關系表對應文件中的一種記錄類型。(4)索引技術(Indexing)是一種快速文件訪問技術,它將文件記錄在某個或某些域(或稱為屬

25、性)上的取值與該記錄的物理地址直接聯(lián)系起來,提供了一種根據(jù)記錄域的取值快速訪問文件記錄的機制。(5)對數(shù)據(jù)文件和它的一個索引文件,如果數(shù)據(jù)文件中數(shù)據(jù)記錄的排列順序與索引文件中索引項的排列順序相一致,則該索引文件稱為聚集索引。否則,該索引文件稱為非聚集索引。(6)在數(shù)據(jù)文件的包含主碼的屬性集上建立的索引稱為主索引。在數(shù)據(jù)文件的非主屬性上建立的索引稱為輔索引。(7)如果數(shù)據(jù)文件中的每個查找碼值在索引文件中都對應一個索引記錄,則該索引稱為稠密索引;如果只是一部分查找碼的值有對應的索引記錄,則該索引稱為稀疏索引。(8)如果一個數(shù)據(jù)文件按照某個查找碼組織為順序文件,同時又對數(shù)據(jù)文件建有聚集索引,則該數(shù)據(jù)

26、文件稱為索引順序文件。6.2 答案設3門課程分別為DB、OS和COM,5個學生分別為BAI、DE、GU、HAI和YE。如果用戶查詢主要是根據(jù)課程查找選課的學生,則可建立如下圖所示的聚集文件。6.3 答案有序索引技術利用索引文件實現(xiàn)查找碼取值到記錄物理地址間的映射關系。索引文件由索引記錄組成,每個記錄中的索引項記錄了某個特定的查找碼值和具有該值的數(shù)據(jù)文件記錄的物理地址。當需要訪問數(shù)據(jù)文件中某個數(shù)據(jù)記錄時,先根據(jù)查找碼值查閱索引文件,找到對應的索引項,然后從索引項中找出數(shù)據(jù)記錄在數(shù)據(jù)文件中的物理地址根據(jù)這個地址訪問數(shù)據(jù)記錄。6.4 答案散列技術是一種快速文件訪問技術,它利用散列函數(shù)實現(xiàn)文件記錄域取

27、值到記錄物理地址間的直接映射關系。當需要訪問數(shù)據(jù)文件中查找碼值為si的某個或某些文件記錄時,將si作為散列函數(shù)h的輸入,計算得出的散列函數(shù)輸出值h(si)就是文件記錄在數(shù)據(jù)文件中的物理地址。6.5 答案關系DBMS數(shù)據(jù)字典中的元數(shù)據(jù)包括:關系模式信息、與視圖描述有關的信息、關系的存儲結(jié)構和存取方法信息、完整性約束、安全性有關的信息、數(shù)據(jù)庫運行統(tǒng)計信息。DBMS使用數(shù)據(jù)字典中的元數(shù)據(jù)完成其相應的存儲管理和查詢處理功能。DBA利用數(shù)據(jù)字典監(jiān)視DBMS使用情況,完成有關系統(tǒng)管理工作。一般用戶也可通過數(shù)據(jù)字典查閱部分數(shù)據(jù)庫結(jié)構信息。6.6 答案數(shù)據(jù)庫物理設計的主要步驟有數(shù)據(jù)庫邏輯模式調(diào)整、文件組織與存

28、取設計、數(shù)據(jù)分布設計、安全模式設計、確定系統(tǒng)配置、物理模式評估。第7章習題參考答案7.1 答案數(shù)據(jù)庫應用系統(tǒng)功能設計包括數(shù)據(jù)庫事務設計和應用程序設計。與數(shù)據(jù)庫應用系統(tǒng)概念設計、邏輯設計、物理設計相對應,應用程序(軟件)設計分為總體設計、概要設計和詳細設計,數(shù)據(jù)庫事務設計則由事務概要設計和事務詳細設計組成。7.2 答案復雜數(shù)據(jù)庫事務的設計與實現(xiàn)既要遵循應用領域特定的業(yè)務邏輯,又依賴于具體數(shù)據(jù)庫系統(tǒng)所提供的事務實現(xiàn)機制。復雜事務的設計可以分解為概要設計和詳細設計兩個步驟。概要設計注重事務本身的處理流程,暫時先不考慮事務中與DBMS平臺相關、具體的數(shù)據(jù)操作方法和事務實現(xiàn)機制,以提高設計結(jié)果的適用性。

29、而事務詳細設計則從概要設計得出的事務流程出發(fā),設計可在具體DBMS平臺下實現(xiàn)的特定事務。事務概要設計的核心內(nèi)容是事務處理邏輯設計。事務概要設計包括了事務名稱、事務所訪問的關系表及關系屬性、事務處理邏輯、事務用戶等信息。7.3 答案軟件體系結(jié)構是一種可預制、可重構的軟件框架結(jié)構,它描述了軟件系統(tǒng)的總體組織和層次劃分、系統(tǒng)元素及其功能分配、全局控制、系統(tǒng)元素間的協(xié)調(diào)和交互、數(shù)據(jù)存取等。第8章習題參考答案8.1 答案:02558.2 答案:年、月、日中間用“/”或者“-”分隔符,日期和時間間空一個空格,時、分、秒之間用“:”隔離。日期和時間數(shù)據(jù)用單引號括起來。8.3 答案:分鐘。8.4 答案:p為數(shù)

30、字位個數(shù),q為小數(shù)位個數(shù)。8.5 答案:精確到小數(shù)點后4位。8.6 答案Char(10)代表的是普通編碼的字符串,最多存放10個字符,5個漢字,固定的占用10個字節(jié)的空間。nchar(10)代表的是統(tǒng)一字符編碼的字符串,最多存放10個字符,10個漢字,固定的占用20個字節(jié)的空間。8.7 答案Char(n)代表的是普通字符編碼按定長存儲的字符串,“n”的含義是字符的個數(shù),固定占用n個字節(jié)的空間。varchar(n) 代表的是普通字符編碼按不定長存儲的字符串,“n”的含義也是字符的個數(shù),按字符的實際長度占用空間。8.8 答案支持兩種,一種是系統(tǒng)使用的全局變量,用“”前綴標識。一種是用戶使用的普遍變

31、量,用“”前綴標識。8.9 答案創(chuàng)建Student表的SQL語句為:CREATE TABLE Student (Sno char(7) primary key,Sname char(10) not null,Ssex char(2) check (Ssex In (男, 女), Sage tinyint check(Sage = 14),Sdept varchar(20)創(chuàng)建Course表的SQL語句為:CREATE TABLE Course (Cno char(10) primary key,Cname char(20) not null,Periods smallint check (Pe

32、riods0), Property char(4) check (Property in (必修, 選修)創(chuàng)建SC表的SQL語句為:CREATE TABLE SC (Sno char(7) ,Cno char(10) ,Grade smalldate check(Grade between 0 and 100), Primary key(Sno, Cno),Foreign key (Sno) references Student(Sno),Foreign key(Cno) references Course(Cno)8.10 答案(1)Alter Table SC add XKLB char(

33、4)(2)Alter Table Course Alter Column Periods tinyint(3)Alter Table Course Drop Column Property8.11 答案(1)select sno, sum(grade) 總成績, avg(grade) 平均成績, count(*) 選課門數(shù) from sc group by sno having count(*) 2(2)select sno, sum(grade) 總成績 from sc group by sno having sum(grade) 200(3)select sname, sdept from

34、 Student join SC on Student.Sno = SC.Sno where cno = C02(4)select sname, cno, grade from student s join sc on s.sno= sc.sno where grade 80 Order by grade desc(5)select sname, ssex, grade from student s join sc on s.sno = sc.sno join course c on o = o where sdept = 計算機系 and ssex = 男 and cname = 數(shù)據(jù)庫基礎

35、(6)select s.sno, sname, cno, grade from Student s left join SC on s.Sno = SC.Sno(7)select top 3 s.sno, sname, sdept, grade from Student s join SC on s.Sno = SC.Sno join Course c on c.Cno = SC.Cno where cname = 數(shù)據(jù)庫基礎 order by grade desc(8)select t1.sno, t2.sno, o from sc as t1 join sc as t2 on o = o

36、where t1.sno ( select avg(grade) from sc)(11)select sname,sdept,grade from student s join sc on s.sno = sc.sno join course c on o = o where grade = ( select min(grade) from sc where cno in ( select cno from course where cname = vb) and cname = vb(12)select s.sno 學號,sname 姓名, case sdept when 計算機系 the

37、n CS when 信息系 then IS when 數(shù)學系 then MA else OTHER end as 所在系,grade 成績 from student s join sc on s.sno = sc.sno join course c on o = o where cname = vb(13)select o, case when count(o) 100 then 人多 when count(o) between 40 and 100 then 一般 when count(o) 40 then 較少 when count(o) =0 then 無人選 end as 選課人數(shù) f

38、rom sc right join course c on o = o group by o(14)insert into Course values(C100, Java, 32, 選修)(15)delete from sc where grade 50(16)(a)用連接查詢實現(xiàn) delete from sc from sc join student s on s.sno=sc.sno where sdept = 信息系 and grade 50 (b)用子查詢實現(xiàn) delete from sc where sno in ( select sno from student where sd

39、ept = 信息系 ) and grade 50(17)update sc set grade = grade + 10 where cno = c01(18)(a) 用子查詢實現(xiàn) update sc set grade = grade + 10 where sno in ( select sno from student where sdept = 計算機系 ) and cno in ( select cno from course where cname = 計算機文化學 ) (b)用連接實現(xiàn) update sc set grade = grade - 10 from student s

40、join sc on s.sno = sc.sno join course c on o = o where sdept = 計算機系 and cname = 計算機文化學8.12 答案:索引的作用是加快數(shù)據(jù)的查詢速度。一般分為聚集索引和非聚集索引兩種。8.13 答案不對,聚集索引也可以不是唯一性索引。反過來,唯一性索引也不一定是聚集索引。8.14 答案:對。如果是非聚集索引,則系統(tǒng)不調(diào)整數(shù)據(jù)的物理存放順序。8.15 答案(1)CREATE INDEX NonCluIdx_Sname on Student(Sname)(2)CREATE UNIQUE CLUSTERED INDEX CluUn

41、i_Idx on SC(Sno)8.16 答案視圖的作用包括:封裝了復雜的查詢語句,使用戶能從多角度看到同一數(shù)據(jù),提高了數(shù)據(jù)的安全性以及提供了一定程度的邏輯獨立性。 8.17 答案(1)CREATE VIEW V1 AS select Sno, Sname, Sdept, Cno, Cname, Periods from Student s join SC on s.Sno = SC.Sno join Course c on c.Cno = SC.Cno(2)CREATE VIEW V2 AS select Sno as 學號, avg(grade) as 平均成績 group by Sno第

42、9章習題參考答案9.1 答案(1)事務是構成數(shù)據(jù)庫應用中一個獨立邏輯工作單元的操作的集合,也是訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元。(2)定義在多個事務上的調(diào)度是這些事務的所有操作的一個執(zhí)行序列,代表了這些操作的執(zhí)行順序。(3)事務Ti 的操作Ii與事務Tj的操作Ij是沖突的,當且僅當Ii 和 Ij訪問數(shù)據(jù)庫中同一個數(shù)據(jù)項Q,并且Ii 和 Ij中至少有一個是寫操作write(Q)。(4)如果一個并發(fā)調(diào)度沖突等價于某個串行調(diào)度,則稱該并發(fā)調(diào)度是沖突可串行的。(5)死鎖是指數(shù)據(jù)庫系統(tǒng)中部分或全部事務由于無法獲得對需要訪問的數(shù)據(jù)項的控制權而處于等待狀態(tài),并且將一直等待下去的一種系統(tǒng)狀態(tài)

43、。9.2 答案原子性指事務對數(shù)據(jù)庫的所有操作是一個不可分割的工作單元。這些操作要么全部執(zhí)行,要么一個也不執(zhí)行。一致性指當事務獨立執(zhí)行時,其執(zhí)行結(jié)果應維護數(shù)據(jù)庫的一致性,即數(shù)據(jù)庫不會因事務執(zhí)行而遭受破壞。事務應使數(shù)據(jù)庫從一個一致性狀態(tài)轉(zhuǎn)到另外一個一致性狀態(tài)。隔離性指當多個事務并發(fā)執(zhí)行時,系統(tǒng)應保證一個事務的執(zhí)行結(jié)果不受其它事務的干擾,事務并發(fā)執(zhí)行結(jié)果與這些事務串行執(zhí)行時的結(jié)果是一樣的。持久性指一個事務一旦成功完成全部操作,則它對數(shù)據(jù)庫的所有更新就永久地反映在數(shù)據(jù)庫中。即使以后系統(tǒng)發(fā)生了故障。9.3 答案1級加鎖協(xié)議要求事務T在修改數(shù)據(jù)項Q之前必須先對Q加X鎖,直到事務結(jié)束才釋放該鎖。事務結(jié)束包括

44、正常結(jié)束(commit)和非正常結(jié)束(rollback)。但事務如果只是讀Q而不對其進行修改,是不需要對Q加鎖的。2級加鎖協(xié)議是在1級加鎖協(xié)議基礎上,要求事務T在讀取數(shù)據(jù)項Q之前必須先對其加S鎖,讀完Q后可以立即釋放S鎖。3級加鎖協(xié)議則是在1級加鎖協(xié)議基礎上,要求事務T在讀取數(shù)據(jù)項Q之前必須先對其加S鎖,但是需要等到事務結(jié)束時才釋放該S鎖。9.4 答案2階段鎖協(xié)議將每個事務的執(zhí)行過程分為加鎖階段和解鎖階段。在加鎖階段,事務可以申請獲得數(shù)據(jù)項上的任何類型的鎖,但不允許釋放任何鎖。在解鎖階段,事務可以釋放任何數(shù)據(jù)項上的任何類型的鎖,但不能再申請任何鎖。每個事務開始執(zhí)行后就進入了加鎖階段。當?shù)谝淮吾?/p>

45、放鎖后,即轉(zhuǎn)入解鎖階段。9.5 答案解決死鎖主要采用死鎖預防和死鎖檢測與恢復兩類方法。死鎖預防利用死鎖預防協(xié)議,通過破壞死鎖產(chǎn)生的必要條件來避免系統(tǒng)進入死鎖狀態(tài),防止死鎖發(fā)生。死鎖檢測與恢復則是允許系統(tǒng)進入死鎖狀態(tài),并且定期檢查系統(tǒng)是否發(fā)生死鎖。當發(fā)現(xiàn)系統(tǒng)發(fā)生死鎖后,采取相應的恢復機制使系統(tǒng)擺脫死鎖狀態(tài)。9.6 答案活鎖產(chǎn)生的原因是在系統(tǒng)非死鎖狀態(tài)下,某些事務由于始終無法獲得對所需訪問的數(shù)據(jù)項的控制權而長期等待下去,無法繼續(xù)執(zhí)行。 9.7 答案TiTjLock-X(C)read(C)C:=C+1write(C)Lock-X(A)unlock(C)read(A)A:=A*2write(A)unl

46、ock(A)Lock-X(A)read(A)A:=A+1write(A)Lock-X(B)read(B)B:=B+1write(B)unlock(A)unlock(B)9.8 答案并發(fā)調(diào)度S9不等價于串行調(diào)度。因為T1中的write(Q)和T2中的read(Q)是沖突操作,操作write(Q)在操作read(Q)后面執(zhí)行,無法交換這2個操作的執(zhí)行順序,使T1和T2依次順序串行執(zhí)行。第10章習題參考答案10.1 答案(1)A (2)C (3)C (4)BC (5)ABC (6)D10.2 答案(1)數(shù)據(jù)庫的試運行(2)管理員手動實現(xiàn)的監(jiān)控(3)答案有多種組合,可在合理使用索引、避免或簡化排序、消

47、除對大型表行數(shù)據(jù)的順序存取、避免相關子查詢、避免困難的正規(guī)表達式、使用臨時表加速查詢、用排序來取代非順序磁盤存取、不充分的連接條件、存儲過程、不要隨意使用游標、事務處理中任選三個作答。第11章習題參考答案11.1 答案(1)C (2)D (3)D (4)C11.2 答案(1)事務內(nèi)部的故障、系統(tǒng)故障、介質(zhì)故障以及計算機病毒故障(2)冗余數(shù)據(jù)(3)靜態(tài)轉(zhuǎn)儲、動態(tài)轉(zhuǎn)儲(4)每個事務的開始標記、每個事務的結(jié)束標記(5)必須先寫日志文件,后寫數(shù)據(jù)庫(6)雙機互備援模式、雙機熱備份模式(7)校驗冗余第12章習題參考答案12.1 答案四個服務:SQL Server、SQL Server Agent、Dis

48、tributed Transaction Coordinator(DTC)和Microsoft Search。SQL Server負責處理所有來自客戶端的Transact-SQL語句并管理服務器上構成數(shù)據(jù)庫的所有文件,同時還負責處理存儲過程,并將執(zhí)行結(jié)果返回給客戶端。SQL Server Agent管理需要定期進行的工作,它能夠根據(jù)系統(tǒng)管理員預先設定好的計劃自動執(zhí)行相應的功能。同時它還能對系統(tǒng)管理員設定好的錯誤等特定事件自動報警,而且還能通過電子郵件等方式把系統(tǒng)存在的各種問題發(fā)送給指定的用戶。DTC是一個事務管理器,它能夠保證一個事務中的所有操作在所有的服務器上全部成功,或者,當在某個服務器上

溫馨提示

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

評論

0/150

提交評論