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

下載本文檔

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

文檔簡介

習題參考答案

第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ù)和信息進行建模的工具,常用的概念

數(shù)據(jù)模型是實體-聯(lián)系模型。

(7)數(shù)據(jù)結(jié)構(gòu)模型是機器世界中與具體DBMS相關(guān)的數(shù)據(jù)模型,其典型代表是關(guān)系模型。

(8)物理數(shù)據(jù)模型描述數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)中的實際存儲組織方式。

(9)模式是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖,

也稱為邏輯模式或概念模式。

(10)外模式是對數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與

某一應用有關(guān)的數(shù)據(jù)的邏輯表示,也稱為子模式、用戶模式或用戶視圖。

(12)內(nèi)模式是對數(shù)據(jù)庫中數(shù)據(jù)的物理結(jié)構(gòu)和存儲方式的描述,也稱為物理模式或存儲模

式。

(13)外模式/模式映像是對數(shù)據(jù)庫中不同用戶的外模式與數(shù)據(jù)庫邏輯模式之間對應關(guān)系

的描述。

(14)模式/內(nèi)模式映像是對數(shù)據(jù)庫中數(shù)據(jù)全局邏輯結(jié)構(gòu)與數(shù)據(jù)的物理存儲組織結(jié)構(gòu)之間

對應關(guān)系的描述。

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)構(gòu)成,包括了數(shù)據(jù)庫和

數(shù)據(jù)庫管理系統(tǒng)。

1.3答案

數(shù)據(jù)模型的組成要素有數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束。

1.4答案

當數(shù)據(jù)庫模式發(fā)生變化時,通過調(diào)整外模式/模式間的映像關(guān)系,使得應用程序不必

隨之修改,從而保證數(shù)據(jù)與應用程序間的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。

當數(shù)據(jù)庫數(shù)據(jù)的物理存儲結(jié)構(gòu)改變時,通過調(diào)整模式/內(nèi)模式映像關(guān)系,保持數(shù)據(jù)庫

模式不變,使數(shù)據(jù)庫系統(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ù)有工程數(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ù)管理技術(shù)等。

第2章習題參考答案

2.1答案

(1)軟件生命周期是指軟件產(chǎn)品從考慮其概念開始,到該產(chǎn)品不再使用的整個時期。一

般包括概念階段、需求階段、設(shè)計階段、實現(xiàn)階段、測試階段、安裝部署及交付階段、

運行階段與維護階段。

(2)數(shù)據(jù)庫應用系統(tǒng)需求是指用戶對數(shù)據(jù)庫應用系統(tǒng)在功能、性能、行為、設(shè)計約束等

方面的期望和要求。

2.2答案

數(shù)據(jù)庫應用系統(tǒng)中的軟件包括操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、中間件和開發(fā)工具、與數(shù)

據(jù)訪問與處理有關(guān)的應用軟件、與數(shù)據(jù)訪問與處理無關(guān)的應用軟件。

2.3答案

(1)參照軟件開發(fā)瀑布模型原理,DBAS的生命周期由項目規(guī)劃、需求分析、系統(tǒng)設(shè)計、

實現(xiàn)與部署、運行管理與維護等5個基本活動組成。

(2)將快速原型模型和增量模型的開發(fā)思路引入DBAS生命周期模型,允許漸進、迭代

地開發(fā)DBASo

(3)根據(jù)DBAS的軟件組成和各自功能,細化DBAS需求分析和設(shè)計階段,引入了數(shù)據(jù)

組織與存儲設(shè)計、數(shù)據(jù)訪問與處理設(shè)計、應用設(shè)計三條設(shè)計主線,分別用于設(shè)計DBAS

中的數(shù)據(jù)庫、數(shù)據(jù)庫事務和應用程序。

(4)將DBAS設(shè)計階段細分為概念設(shè)計、邏輯設(shè)計、物理設(shè)計三個步驟,每一步的設(shè)計

內(nèi)容又涵蓋了三條設(shè)計主線。

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ù)庫軟件的功能、性能范圍;

可行性分析則包括項目的技術(shù)可行性分析、經(jīng)濟可行性分析、操作可行性分析和開發(fā)方案

選擇;項目規(guī)劃則是對項目資源、成本和進度做出合理估算,并據(jù)此制定DBAS項目開

發(fā)計劃。

2.5答案

DBAS需求分析包括數(shù)據(jù)需求分析、數(shù)據(jù)處理需求分析、業(yè)務需求分析等方面,此外

還包括對系統(tǒng)在性能、存儲、安全、備份與恢復等方面的要求進行分析。

2.6答案

數(shù)據(jù)庫應用系統(tǒng)的概念設(shè)計包括數(shù)據(jù)庫概念模型設(shè)計和系統(tǒng)總體設(shè)計。數(shù)據(jù)庫概念模

型設(shè)計是依據(jù)數(shù)據(jù)需求分析結(jié)果,分析需要存儲在數(shù)據(jù)庫中的各類數(shù)據(jù)對象的特征及其相

互間關(guān)聯(lián)關(guān)系,并表示為概念數(shù)據(jù)模型;系統(tǒng)總體設(shè)計則是依據(jù)系統(tǒng)規(guī)劃與分析結(jié)果和系

統(tǒng)需求分析結(jié)果,確定系統(tǒng)軟硬件總體框架。

2.7答案

數(shù)據(jù)庫應用系統(tǒng)的邏輯設(shè)計包括數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫事務概要設(shè)計、應用程

序概要設(shè)計三方面。

數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計的主要步驟為:將E-R圖轉(zhuǎn)換為初始關(guān)系模式、對初始關(guān)系模

式進行優(yōu)化、檢查關(guān)系表對數(shù)據(jù)庫事務的支持性、確定關(guān)系模式完整性約束、設(shè)計基于關(guān)

系模式的用戶視圖。

2.8答案

數(shù)據(jù)庫應用系統(tǒng)物理設(shè)計包括數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫事務詳細設(shè)計和應用程序

詳細設(shè)計。

數(shù)據(jù)庫事務詳細設(shè)計是根據(jù)事務處理流程,面向具體DBMS平臺和開發(fā)環(huán)境,利用

SQL語句、數(shù)據(jù)庫訪問接U,采用高級程序設(shè)計語言或DBMS提供的事務實現(xiàn)機制,設(shè)

計數(shù)據(jù)庫事務。

2.9答案

數(shù)據(jù)庫應用系統(tǒng)的系統(tǒng)實現(xiàn)和部署包括建立數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)加載、事務和應用程序

的編碼及測試、系統(tǒng)集成測試與試運行、系統(tǒng)部署等工作內(nèi)容。

2.10答案

數(shù)據(jù)庫應用系統(tǒng)的運行與維護包括日常維護、系統(tǒng)陳控與分析、系統(tǒng)性能優(yōu)化調(diào)整、

系統(tǒng)升級進化。

第3章習題參考答案

3.1答案

需求分析階段的主要任務是通過需求分析的工作把用戶對應用系統(tǒng)的非形式化需求不

斷揭示和挖掘出來,其目的在于明確應用系統(tǒng)的目標、功能、性能、數(shù)據(jù)范圍和相關(guān)約束,

形成需求說明書,作為系統(tǒng)開發(fā)后續(xù)各階段的工作基礎(chǔ)。完成需求分析的基本方法是調(diào)查分

析,即面談、實地觀察、問卷調(diào)查及查閱資料

3.2答案

例如,可采用下列過程和步驟完成學校選課系統(tǒng)的需求分析:

(1)標識問題

標識問題從現(xiàn)行教務系統(tǒng)的業(yè)務流程做起,采用面談、觀察等方式理解現(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)確認需求

由相關(guān)專家及人員確認和進一步檢查選課系統(tǒng)需求的合理性、正確性和有效性,以確保

需求分析的結(jié)果是全面的、準確的和一致的。

3.3答案

(1)不過早陷入具體的細節(jié)。

(2)從整體或宏觀入手分析問題,如業(yè)務系統(tǒng)的總體結(jié)構(gòu),系統(tǒng)及子系統(tǒng)的關(guān)系。

(3)通過圖形化的模型對象直觀地表示系統(tǒng)要做什么,完成什么功能。

(4)圖形化建模方法方便系統(tǒng)分析員理解和描述系統(tǒng)。

(5)模型對象不涉及太多技術(shù)術(shù)語,便于用戶理解模型。

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ù)交換關(guān)系。圖3.4第二層數(shù)據(jù)流圖描述了實現(xiàn)商場業(yè)務活動需要的基本功能,

如庫存管理、銷售管理、會員管理及查詢統(tǒng)計以及完成以上各處理要求需要的輸入、輸出數(shù)

據(jù)及信息。

信息需求主要描述目標系統(tǒng)需要存儲和管理哪些數(shù)據(jù),這些數(shù)據(jù)具有什么屬性特征和組

成格式。商場經(jīng)營管理系統(tǒng)的數(shù)據(jù)需求見2.7.2所列的數(shù)據(jù)對象。

性能需求描述應用系統(tǒng)對性能的要求。例如,商場經(jīng)營管理系統(tǒng)對響應時間,存儲容量,

系統(tǒng)的適應性,數(shù)據(jù)的安全性、數(shù)據(jù)的完整性、?致性和可靠性等方面的要求。

3.6答案

(1)商場經(jīng)營管理系統(tǒng)A—0圖

Gh.場信息

△員長--------------------

HR商場經(jīng)營管理系統(tǒng)查1詢及統(tǒng)計憑屏

---商品表.______________________I

,計算機軟件及硬件

________________________________________________________________

編號

3.7答案

(1)電子產(chǎn)品租借管理系統(tǒng)第?層數(shù)據(jù)流圖

(2)電子產(chǎn)品租借管理系統(tǒng)第二層數(shù)據(jù)流圖

第4章習題參考答案

4.1答案

數(shù)據(jù)庫概念設(shè)計包括如下基本步驟:

(1)確定實體集

(2)確定聯(lián)系和聯(lián)系類型

(3)建立由信息模型表示的企業(yè)模型

(4)確定實體集屬性

(5)對信息模型優(yōu)化

4.2答案

(1)實體集與實體集實例

如,李明讀了兩本書,丁一讀了3本書。

根據(jù)這個事實可以抽象出一個數(shù)據(jù)模型“學生讀書”。其中“學生”是一個實體集,因

為實體集描述具有相同屬性特征和性質(zhì)的事物集合(如學生對象集合);

而其中的“李明”、,,丁一”是學生實體集中的實例,因為他們都是學生集合中的一個具

體對象,實體集實例描述一個集合中客觀存在并可以相互區(qū)分的事物。

(2)屬性與屬性實例

如“學生讀書”數(shù)據(jù)模型中的姓名是學生實體集的個屬性,屬性描述實體所具有的某

一特征或性質(zhì),一個實體通常由多個屬性來刻畫:

而“李明”、“丁”是姓名屬性的實例也是姓名屬性的取值。

(3)聯(lián)系與聯(lián)系基數(shù)

學生和圖書兩個實體集之間的關(guān)系叫做“聯(lián)系”,聯(lián)系描述實體集之間的一種連接或關(guā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)系。通常,一般實體集的每

一個實例和與之相關(guān)的一個分類實體集實例描述的是現(xiàn)實世界的同一事物,它們具有相同的

唯一標識符。

(2)不確定聯(lián)系

例如,商場允許一位客戶購買多種商品,而同一種商品允許多名客戶購買。在實體集“客

戶”和“商品”之間就存在著不確定的聯(lián)系。不確定聯(lián)系又稱為“多對多聯(lián)系”或M:N的

聯(lián)系。這種聯(lián)系關(guān)聯(lián)的兩個實體集之間的任一實體集的一個實例都將對應另一個實體集的1

個或多個實例。

4.4答案

(1)教務管理系統(tǒng)ER圖

ER圖實體集屬性列表:

系實體集屬性:系號,系名,系主任,系辦公室電話

班級實體集:班級名,學生人數(shù)

學生實體集屬性:學號,姓名,性別,出生日期

教師實體集屬性:教師號,教師名,職稱,性別,出生日期,工資

課程實體集屬性:課程號,課程名,學分,上課時間,課容量

教材實體集屬性:教材號,教材名,出版社,第一作者

(2)教務管理系統(tǒng)Ideflx圖

玄/1C

Ideflx圖實體集屬性列表:

系/10,屬性:系號,系名,系主任,系辦公室電話

班級/20,屬性:班級名,學生人數(shù),系號,教師號

教師/30,屬性:教師號,教師名,職稱,性別,出生日期,工資,系號

學生/40,屬性:鉆,姓名,性別,出生日期,班級名

課程/50,屬性:課程號,課程名,學分,上課時間,課容量

教課/55,屬性:教師號,課程號,授課評價

教材/60,屬性:教材號,教材名,出版社,第一作者,課程號

選課/65,屬性:學號,課號,成績

4.5答案

電器銷售管理系統(tǒng)ER圖

總公司

ER圖實體集屬性列表:

總公司實體集屬性:工商注冊號,地點,總裁,總公司電話,總公司職工數(shù)

分店實體集屬性:分公司注冊號,地點,經(jīng)理,電話,職工數(shù)

職工實體集屬性:工作證號,姓名,性別,年齡,工資,工種,獎金

電器實體集屬性:型號,名稱,電器指標,生產(chǎn)商,生產(chǎn)日期,進貨價格,售出價格

第5章習題參考答案

5.1答案

關(guān)系模型用二維表格結(jié)構(gòu)表示實體及實體間的聯(lián)系?,F(xiàn)實世界中的每個客觀對象對應表

中的?行叫做一條記錄,表中的每個列(屬性)描述對象類的某一特征,列的值(屬性的取

值)刻畫和描述客觀對象的某一具體的特征。

關(guān)系數(shù)據(jù)庫是按照二維表格組織和存儲的相互關(guān)聯(lián)的關(guān)系(表)的集合。

關(guān)系數(shù)據(jù)庫采用關(guān)系模型在計算機中組織、存儲、處理和管理數(shù)據(jù)。

5.2答案

如學號是學生關(guān)系(表)的主碼,因為這個屬性能夠唯一識別學生關(guān)系中的每一條記

錄。

5.3答案

主碼約束定義指定關(guān)系的主碼列不能取空值,并且取值要唯一。

5.4答案

如果兩個關(guān)系A(chǔ)和S,乃是y?的屬性或?qū)傩越M,且/不是火的碼,但/是S的碼,則稱

才是"的外碼。

5.5答案

外碼約束也叫引用完整性約束,定義外碼與主碼之間的引用規(guī)則,即若關(guān)系A(chǔ)含有另一

個關(guān)系S的主碼《所對應的屬性或?qū)傩越MF(該屬性或?qū)傩越M廠稱為關(guān)系7?的外碼),則關(guān)

系中的每一個元組在屬性組尸上的值必須滿足:或者取空值,或者等于S中某個元組的主

碼4的值。

5.7答案

關(guān)系數(shù)據(jù)庫設(shè)計理論的基礎(chǔ)是函數(shù)依賴理論和規(guī)范化設(shè)計理論。規(guī)范化設(shè)計理論的主:要

內(nèi)容是范式,即關(guān)系模式滿足的條件,它是數(shù)據(jù)庫邏輯設(shè)計的指南。

5.8答案

(1)商場經(jīng)營管理系統(tǒng)實體集屬性列表:

供應商實體集屬性:

供應商編號,名稱,地址,郵編,聯(lián)系人,電話,傳真,網(wǎng)址,電子郵箱,開戶銀行,

賬戶名稱,賬戶賬號

商品及庫存實體集屬性:

商品類別編號,類別名稱,類別描述信息,商品編號,品名,生產(chǎn)日期,單價,庫存量,

商品描述信息

銷售員信息實體集屬性:

銷售人員編號,姓名,性別,年齡,身份證,地址,郵編,電話,收銀臺編號,狀態(tài),

收銀臺描述信息

顧客信息實體集屬性:

顧客編號,姓名,性別,年齡,身份證號,地址,郵編,電話

會員卡實體集屬性:

會員卡號,有效起始日期,有效截止日期,積分,狀態(tài)

(2)3NF關(guān)系模式(注,下劃屬性為主碼屬性):

供應商信息(供應商編號(PK),名稱,地址,郵編,聯(lián)系人,電話,傳真,網(wǎng)址,電子郵

箱,開戶銀行,賬戶名稱,賬戶賬號)

商品類別(商品類別編號(PK),類別名稱,類別描述信息)

商品(商品編號(PK),品名,生產(chǎn)「I期,單價,庫存量,商品描述信.息,商品類別編號(FK))

采購入庫單據(jù)(入庫單據(jù)編號(PK),入庫日期,經(jīng)手人,入庫單據(jù)描述)

采購入庫單據(jù)明細(入庫單據(jù)編號(FK),商品編號(FK),進價,數(shù)量,供應商編號(FK),

購買日期)

銷售人員(銷售人員編號(PK),姓名,性別,年齡,身份證,地址,郵編,電話)

收銀臺(收銀臺編號(PK),狀態(tài),收銀臺描述信息)

會員卡(會員卡號(PK),有效起始日期,有效截止日期,積分,狀態(tài))

銷售單據(jù)(銷售單編號(PK),會員卡號(FK),本次積分,付款總金額,銷售日期,銷售人

員編號(FK),收銀臺編號(FK),銷售單據(jù)描述)

銷售單據(jù)明細(銷售單據(jù)編號FK,商品編號FK,單價,數(shù)量,總價,折扣率,折扣總價)

商品價格變動表(商品編號(FK),開始II期,結(jié)束日期,銷售價格,注釋)

顧客信息(顧客編號(PK),會員卡號(FK),姓名,性別,年齡,身份證號,地址,郵

編,電話)

5.9答案

(1)R的碼是(AD)

(2)R是1NF的關(guān)系模式

(3)將R分解為3NF的關(guān)系模式如下:

RI(D,C,G)

R2(A,B,E)

R3(B,C,F)

5.10答案

RI(TIME,TERM,ROOM,CNO)

R2(TIME,CNO,TNO)

R3(SNO,CNO,SCORE)

R4(CNQ,CNAME,CREDIT)

第6章習題參考答案

6.1答案

(1)是一種數(shù)據(jù)庫文件結(jié)構(gòu)形式。在堆文件中,記錄隨機地存儲在文件物理空間中,

新插入的記錄存儲在文件的末尾。

(2)順序文件是一種數(shù)據(jù)庫文件結(jié)構(gòu)形式。在順序文件中,記錄按照查找碼值的升序或降

序順序排列存儲。

(3)聚集文件是一種數(shù)據(jù)庫文件結(jié)構(gòu)形式。聚集文件具有多種記錄類型,存儲了來自多個

關(guān)系表的記錄數(shù)據(jù),每個關(guān)系表對應文件中的一種記錄類型。

(4)索引技術(shù)(Indexing)是一種快速文件訪問技術(shù),它將文件記錄在某個或某些域(或

稱為屬性)上的取值與該記錄的物理地址直接聯(lián)系起來,提供了一種根據(jù)記錄域的取值

快速訪問文件記錄的機制。

(5)對數(shù)據(jù)文件和它的一個索引文件,如果數(shù)據(jù)文件中數(shù)據(jù)記錄的排列順序與索引文件中

索引項的排列順序相一致,則該索引文件稱為聚集索引。否則,該索引文件稱為非聚

集索引。

(6)在數(shù)據(jù)文件的包含主碼的屬性集上建立的索引稱為主索引。在數(shù)據(jù)文件的非主屬性上

建立的索引稱為輔索引。

(7)如果數(shù)據(jù)文件中的每個查找碼值在索引文件中都對應一個索引記錄,則該索引稱為稠

密索引;如果只是一部分查找碼的值有對應的索引記錄,則該索引稱為稀疏索引。

(8)如果一個數(shù)據(jù)文件按照某個查找碼組織為順序文件,同時又對數(shù)據(jù)文件建有聚集索弓I,

則該數(shù)據(jù)文件稱為索引順序文件。

6.2答案

設(shè)3門課程分另U為DB、OS和COM,5個學生分另ij為BAI、DE,GU、HAI和YE。

如果用戶查詢主要是根據(jù)課程查找選課的學生,則可建立如下圖所示的聚集文件。

COMBAI75DBYeX

OSDE78DBHAI86

|COMWu1OSGU92DBYE92/

DBHAI86OSLiu\

DBYE92OSDE78

OSGU92/

COMWu

COMBAI75J

(a)COURSE(b)ENROLLMENT(c)聚集文件

6.3答案

有序索引技術(shù)利用索引文件實現(xiàn)查找碼取值到記錄物理地址間的映射關(guān)系。索引文件由

索引記錄組成,每個記錄中的索引項記錄了某個特定的查找碼值和具有該值的數(shù)據(jù)文件記錄

的物理地址。

當需要訪問數(shù)據(jù)文件中某個數(shù)據(jù)記錄時,先根據(jù)查找碼值查閱索引文件,找到對應的索

引項,然后從索引項中找出數(shù)據(jù)記錄在數(shù)據(jù)文件中的物理地址.根據(jù)這個地址訪問數(shù)據(jù)記錄。

6.4答案

散列技術(shù)是一種快速文件訪問技術(shù),它利用散列函數(shù)實現(xiàn)文件記錄域取值到記錄物理地

址間的直接映射關(guān)系。當需要訪問數(shù)據(jù)文件中查找碼值為Si的某個或某些文件記錄時,將

Si作為散列函數(shù)h的輸入,計算得出的散列函數(shù)輸出值h(Si)就是文件記錄在數(shù)據(jù)文件中的物

理地址。

6.5答案

關(guān)系DBMS數(shù)據(jù)字典中的元數(shù)據(jù)包括:關(guān)系模式信息、與視圖描述有關(guān)的信息、關(guān)系

的存儲結(jié)構(gòu)和存取方法信息、完整性約束、安全性有關(guān)的信息、數(shù)據(jù)庫運行統(tǒng)計信息。

數(shù)據(jù)字典用途:DBMS使用數(shù)據(jù)字典中的元數(shù)據(jù)完成其相應的存儲管理和查詢處理功

能。DBA利用數(shù)據(jù)字典監(jiān)視DBMS使用情況,完成有關(guān)系統(tǒng)管理工作。一般用戶也可通過

數(shù)據(jù)字典查閱部分數(shù)據(jù)庫結(jié)構(gòu)信息。

6.6答案

數(shù)據(jù)庫物理設(shè)計的主要步驟有數(shù)據(jù)庫邏輯模式調(diào)整、文件組織與存取設(shè)計、數(shù)據(jù)分

布設(shè)計、安全模式設(shè)計、確定系統(tǒng)配置、物理模式評估。

第7章習題參考答案

7.1答案

包括數(shù)據(jù)庫事務設(shè)計和應用程序設(shè)計。與數(shù)據(jù)庫應用系統(tǒng)

概念設(shè)計、邏輯設(shè)計、物理設(shè)計相對應,應用程序(軟件)設(shè)計分為總體設(shè)計、概要設(shè)

計和詳細設(shè)計,數(shù)據(jù)庫事務設(shè)計則由事務概要設(shè)計和事務詳細設(shè)計組成。

7.2答案

復雜數(shù)據(jù)庫事務的設(shè)計與實現(xiàn)既要遵循應用領(lǐng)域特定的業(yè)務邏輯,又依賴于具體數(shù)據(jù)

庫系統(tǒng)所提供的事務實現(xiàn)機制。復雜事務的設(shè)計可以分解為概要設(shè)計和詳細設(shè)計兩個步

驟。概要設(shè)計注重事務本身的處理流程,暫時先不考慮事務中與DBMS平臺相關(guān)、具體

的數(shù)據(jù)操作方法和事務實現(xiàn)機制,以提高設(shè)計結(jié)果的適用性。而事務詳細設(shè)計則從概要設(shè)

計得出的事務流程出發(fā),設(shè)計可在具體DBMS平臺下實現(xiàn)的特定事務。

:是事務處理邏輯設(shè)計。了事務名稱、事

務所訪問的關(guān)系表及關(guān)系屬性、事務處理邏輯、事務用戶等信息。

7.3答案

是?種可預制、可重構(gòu)的軟件框架結(jié)構(gòu),它描述了軟件系統(tǒng)的總體組織

和層次劃分、系統(tǒng)元素及其功能分配、全局控制、系統(tǒng)元素間的協(xié)調(diào)和交互、數(shù)據(jù)存取等。

第8章習題參考答案

8.1答案:0?255

8.2答案:年、月、日中間用“/”或者分隔符,日期和時間間空一個空格,時、分、

秒之間用“:"隔離。日期和時間數(shù)據(jù)用單引號括起來。

8.3答案:分鐘。

8.4答案:p為數(shù)字位個數(shù),q為小數(shù)位個數(shù)。

8.5答案:精確到小數(shù)點后4位。

8.6答案

Char(lO)代表的是普通編碼的字符串,最多存放10個字符,5個漢字,固定的占用10

個字節(jié)的空間。nchar(lO)代表的是統(tǒng)一字符編碼的字符串,最多存放10個字符,10個漢字,

固定的占用20個字節(jié)的空間。

8.7答案

Char(n)代表的是普通字符編碼按定長存儲的字符串,“n”的含義是字符的個數(shù),固定

占用n個字節(jié)的空間。varchar(n)代表的是普通字符編碼按不定長存儲的字符串,“n”的含

義也是字符的個數(shù),按字符的實際長度占用空間。

8.8答案

支持兩種,一種是系統(tǒng)使用的全局變量,用“@@”前綴標識。一種是用戶使用的普遍

變量,用“@”前綴標識。

8.9答案

創(chuàng)建Student表的SQL語句為:

CREATETABLEStudent(

Snochar(7)primarykey,

Snamechar(10)notnull,

Ssexchar(2)check(SsexIn('男','女')),

Sagetinyintcheck(Sage>=14),

Sdeptvarchar(20)

)

創(chuàng)建Course表的SQL語句為:

CREATETABLECourse(

Cnochar(10)primarykey,

Cnamechar(20)notnull,

Periodssmallintcheck(Periods〉。),

Propertychar(4)check(Propertyin('必修','選修'))

)

創(chuàng)建SC表的SQL語句為:

CREATETABLESC(

Snochar(7),

Cnochar(10),

Gradesmalldatecheck(Gradebetween0and100),

Primarykey(Sno,Cno),

Foreignkey(Sno)referencesStudent(Sno),

Foreignkey(Cno)referencesCourse(Cno)

)

8.10答案

(1)AlterTableSCaddXKLBchar(4)

(2)AlterTableCourseAlterColumnPeriodstinyint

(3)AlterTableCourseDropColumnProperty

8.11答案

(1)selectsno,sum(grade)總成績,avg(grade)平均成績,count(*)選課門數(shù)fromsc

groupbysnohavingcount(*)>2

(2)selectsno,sum(grade)總成績fromsc

groupbysnohavingsum(grade)>200

(3)selectsname,sdeptfromStudentjoinSConStudent.Sno=SC.Sno

wherecno=C02'

(4)selectsname,cno,grade

fromstudentsjoinscons.sno=sc.sno

wheregrade>80

Orderbygradedesc

(5)selectsname,ssex,grade

fromstudentsjoinscons.sno=sc.sno

joincourseconc.eno=sc.eno

wheresdept=,計算機系,andssex=身

andcname='數(shù)據(jù)庫基礎(chǔ),

(6)selects.sno,sname,eno,gradefromStudentsleftjoinSC

ons.Sno=SC.Sno

(7)selecttop3s.sno,sname,sdept,grade

fromStudentsjoinSCons.Sno=SC.Sno

joinCourseconc.Cno=SC.Cno

wherecname='數(shù)據(jù)庫基礎(chǔ),

orderbygradedesc

(8)selecttl.sno,t2.sno,o

fromscastljoinscast2

o=o

wheretl.sno<t2.sno

(9)o,cnamefromcoursecleftjoinsc

o=o

oisnull

(10)selectsname,cname,grade

fromstudentsjoinscons.sno=sc.sno

o=o

wheresdept=,計算機系,

andgrade>(selectavg(grade)fromsc)

(11)selectsname,sdept,grade

fromstudentsjoinscons.sno=sc.sno

o=o

wheregrade=(

selectmin(grade)fromsc

wherecnoin(

selectcnofromcoursewherecname='vb'))

andcname='vb'

(12)selects.sno學號,sname姓名,

casesdept

when'計算機系'then'CS'

when'信息系'then'IS,

when'數(shù)學系'then'MA'

else'OTHER'

endas所在系,grade成績

fromstudentsjoinscons.sno=sc.sno

o=o

wherecname='vb'

(13)o,

case

whencount(o)>100then'人多'

whencount(o)between40and100then'一般’

whencount(o)<40then較少,

whencount(o)=0then'無人選'

endas選課人數(shù)

o=o

o

(14)insertintoCoursevakies(,C100;'Java:32,,選修')

(15)deletefromscwheregrade<50

(16)(a)用連接查詢實現(xiàn)

deletefromscfromscjoinstudentsons.sno=sc.sno

wheresdept=信息系'andgrade<50

(b)用子查詢實現(xiàn)

deletefromscwheresnoin(

selectsnofromstudentwheresdept=信息系')

andgrade<50

(17)updatescsetgrade=grade+10

whereeno='cOl'

(18)(a)用子查詢實現(xiàn)

updatescsetgrade=grade+10

wheresnoin(

selectsnofromstudentwheresdept='計算機系')

andenoin(

selectenofromcoursewherecname廿計算機文化學,)

(b)用連接實現(xiàn)

updatescsetgrade=grade-10

fromstudentsjoinscons.sno=sc.sno

o=o

wheresdept='計算機系'andcname='計算機文化學,

8.12答案:索引的作用是加快數(shù)據(jù)的查詢速度。一般分為聚集索引和非聚集索引兩種。

8.13答案

不對,聚集索引也可以不是唯一性索引。反過來,唯一性索引也不一定是聚集索引。

8.14答案:對。如果是非聚集索引,則系統(tǒng)不調(diào)整數(shù)據(jù)的物理存放順序。

8.15答案

(1)CREATEINDEXNonCluIdx_SnameonStudent(Sname)

(2)CREATEUNIQUECLUSTEREDINDEXCluUniJdxonSC(Sno)

8.16答案

視圖的作用包括:封裝了復雜的查詢語句,使用戶能從多角度看到同一數(shù)據(jù),提高了數(shù)

據(jù)的安全性以及提供了一定程度的邏輯獨立性。

8.17答案

(1)CREATEVIEWVIAS

selectSno,Sname,Sdept,Cno,Cname,Periods

fromStudentsjoinSCons.Sno=SC.Sno

joinCourseconc.Cno=SC.Cno

(2)CREATEVIEWV2AS

selectSnoas學號,avg(grade)as平均成績

groupbySno

第9章習題參考答案

9.1答案

(1)事務是構(gòu)成數(shù)據(jù)庫應用中一個獨立邏輯工作單元的操作的集合,也是訪問并可能更新

數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元。

(2)定義在多個事務上的調(diào)度是這些事務的所有操作的一個執(zhí)行序列,代表了這些操作的

執(zhí)行順序。

(3)事務Ti的操作乂與事務Tj的操作Ij是沖突的,當且僅當L和Ij訪問數(shù)據(jù)庫中同一個

數(shù)據(jù)項Q,并且L和Ij中至少有一個是寫操作write(Q).

(4)如果一個并發(fā)調(diào)度沖突等價于某個串行調(diào)度,則稱該并發(fā)調(diào)度是沖突可串行的。

(5)死鎖是指數(shù)據(jù)庫系統(tǒng)中部分或全部事務由于無法獲得對需要訪問的數(shù)據(jù)項的控制權(quán)而

處于等待狀態(tài),并且將一直等待下去的一種系統(tǒng)狀態(tài)。

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é)束包括正常結(jié)束(commit)和非正常結(jié)束(rollback)。但事務如果只

是讀Q而不對其進行修改,是不需要對Q加鎖的。

2級加鎖協(xié)議是在1級加鎖協(xié)議基礎(chǔ)上,要求事務T在讀取數(shù)據(jù)項Q之前必須先對其加S

鎖,讀完Q后可以立即釋放S鎖。

3級加鎖協(xié)議則是在1級加鎖協(xié)議基礎(chǔ)上,要求事務T在讀取數(shù)據(jù)項Q之前必須先

對其加S鎖,但是需要等到事務結(jié)束時才釋放該S鎖。

9.4答案

2階段鎖協(xié)議將每個事務的執(zhí)行過程分為加鎖階段和解鎖階段。在加鎖階段,事務可

以申請獲得數(shù)據(jù)項上的任何類型的鎖,但不允許釋放任何鎖。在解鎖階段,事務可以釋放

任何數(shù)據(jù)項上的任何類型的鎖,但不能再申請任何鎖。每個事務開始執(zhí)行后就進入了加鎖

階段。當?shù)谝淮吾尫沛i后,即轉(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ù)

項的控制權(quán)而長期等待下去,無法繼續(xù)執(zhí)行。

9.7答案

TiE

Lock-X(C)

read(C)

C:=C+i

write(C)

Lock-X(A)

read(A)

A:=A+1

write(A)

Lock-X(B)

read(B)

B:=B+l

write(B)

unlock(A)

Lock-X(A)

unlock(C)

read(A)

A:=A*2unlock(B)

write(A)

unlock(A)

9.8答案

并發(fā)調(diào)度S9不等價于串行調(diào)度<Tl;T2;T3;T4>?因為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)D

10.2答案

(1)數(shù)據(jù)庫的試運行

(2)管理員手動實現(xiàn)的監(jiān)控

(3)答案有多種組合,可在合理使用索引、避免或簡化排序、消除對大型表行數(shù)據(jù)的順序

存取、避免相關(guān)子查詢、避免困難的正規(guī)表達式、使用臨時表加速查詢、用排序來取代非

順序磁盤存取、不充分的連接條件、存儲過程、不要隨意使用游標、事務處理中任選三個

作答。

第11章習題參考答案

11.1答案

(1)C(2)I)(3)D(4)C

11.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答案

四個服務:SQLServer、SQLServerAgentDistributedTransactionCoordinator

(DTC)和MicrosoftSearchoSQLServer負責處理所有來自客戶端的Transact-SQL語句

并管理服務器上構(gòu)成數(shù)據(jù)庫的所有文件,同時還負責處理存儲過程,并將執(zhí)行結(jié)果返回給客

戶端。SQLServerAgent管理需要定期進行的工作,它能夠根據(jù)系統(tǒng)管理員預先設(shè)定好的

計劃自動執(zhí)行相應的功能。同時它還能對系統(tǒng)管理員設(shè)定好的錯誤等特定事件自動報警,而

且還能通過電子郵件等方式把系統(tǒng)存在的各種問題發(fā)送給指定的用戶。DTC是一個事務管理

器,它能夠保證一個事務中的所有操作在所有的服務器上全部成功,或者,當在某個服務器

上不成功時、確保所有服務器上的操作均被撤消,使全部服務器均回到事務開始前的狀態(tài)。

MicrosoftSearch提供對字符數(shù)據(jù)進行檢索。

12.2答案

四個版本:企業(yè)版、標準版、個人版和開發(fā)版。企業(yè)版和標準版要求安裝在服務器版的

Windows操作系統(tǒng)下,個人版和開發(fā)版要求只要是Windows操作系統(tǒng)即可。

12.3答案

**Windows身份驗證模式”只允許Windows用戶連接到SQLServer,而“混合模式"允

許Windows用戶和非Windows用戶連接到SQLServer,

12.4答案:服務管理器。

12.5答案:啟動SQLServer服務。

12.6答案:分為系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫。

12.7答案

master、model、msdb、tempdb。Master數(shù)據(jù)庫記錄了所有的系統(tǒng)級信息。包括登錄帳

戶、系統(tǒng)配置、數(shù)據(jù)庫屬性(如數(shù)據(jù)庫文件的位置等)等信息。msdb提供對自動執(zhí)行任務

的支持。model是用戶數(shù)據(jù)庫的樣板數(shù)據(jù)庫,其中包含所有用戶數(shù)據(jù)庫的公共信息。tempdb

臨時數(shù)據(jù)庫,用于存儲用戶創(chuàng)建的臨時表、用戶聲明的變量以及用戶定義的游標數(shù)據(jù)等。

12.8答案

有數(shù)據(jù)文件和日志文件。主數(shù)據(jù)文件的推薦擴展名是“mdf”,輔助數(shù)據(jù)文件的推薦擴展

名是“ndf”,日志文件的推薦擴展名是“Idf”。

12.9答案:可以包含一個主數(shù)據(jù)文件和0?n個輔助數(shù)據(jù)文件,1?n個日志文件。

12.10答案

包含:邏輯文件名、物理存儲位置和文件名、初始大小、增長方式和最大大小限制5個

屬性。

12.11答案:按數(shù)據(jù)頁存儲,一個數(shù)據(jù)頁大小是8KB。

12.12答案:按一個數(shù)據(jù)頁能存多少行數(shù)據(jù),這些數(shù)據(jù)需要多少個數(shù)據(jù)頁來估算。160MB。

12.13答案:不能小于model數(shù)據(jù)庫的大小。

12.14答案

DECLARE@iint,@resint

SET@i=I

SET@res=5000

while@i<=100

begin

SET@res=@res-@i

SET@i=@i+1

end

print@res

12.15答案:不必相同。

第13章習題參考答案

13.1答案

存儲過程的作用包括:模塊化程序設(shè)計,提高數(shù)據(jù)的操作性能,減少網(wǎng)絡(luò)流量,可作為

安全機制使用。

13.2答案

(1)createprocpl

@lbvarchar(20)

as

selectCName,Address,GoodsName,SaleDate,Quantity

fromTable_CustomerajoinTable_SaIeBillbona.CardID=b.CardID

joinTable_SaleBillDetailconc.SaleBilllD=b.SaleBilllD

joinTable_Goodsdond.GoodsID=c.GoodsID

joinTable_GoodsClasseone.GoodsClassID=d.GoodsClassID

whereGoodsClassName=@lb

(2)createprocp2

@lbvarchar(20)='家用電器:@monint

as

selectday(SaleDate),sum(PayAmount)fromTable_SaleBilla

joinTable_SaleBillDetailbona.SaleBilllD=b.SaleBilllD

joinTable_Goodsconc.GoodsID=b.GoodsID

joinTable_GoodsClassdond.GoodsClassID=e.GoodsClassID

whereGoodsClassName=@lbandmonth(SaleDate)=@mon

groupbyday(SaleDate)

(3)createprocp3

@lbvarchar(20),@summoneyoutput

as

ifexists(select*fromable_GoodsClasswhereGoodsClassName=@lb)

select@sum=sum(PayAmount)fromTable_SaleBilla

joinTable_SaleBillDetailbona.SaleBilllD=b.SaleBilllD

joinTable_Goodsconc.GoodsID=b.GoodsID

joinTable_GoodsClassdond.GoodsClassID=c.GoodsClassID

whereGoodsClassName=@lb

else

print不存在指定類別的商品’

(4)createprocp4

as

updateTable_SaleBillDetailsetDiscount=case

whenc.Score>10000then0.8

whenc.Scorebetween5000and10000then0.9

whenc.Scorebetween1000and4999then0.95

else1

end

fromTable_SaleBillDetailajoinTable_SaleBillbona.SaleBilllD=b.SaleBilllD

joinTable_Cardconc.CardID=b.CardID

13.3答案

(1)createfunctiondbo.fl(@lbvarchar(20),@nfint)

returnsint

as

begin

declare@sumint

select@sum=sum(Quantity)fromTable_SaleBillDetaila

joinTable_SaleBillbona.SaleBilllD=b.SaleBilllD

joinTable_Goodsconc.GoodsID=a.GoodsID

joinTable_GoodsClassdond.GoodsClassID=c.GoodsClassID

whereGoodsClassName=@lbandyear(SaleDate)=@nf

return@sum

end

(2)createfunctiondbo.f2(@addrvarchar(20))

returnsint

as

begin

declare@countint

select@count=count(*)fromTable_Carda

joinTable_Customerbona.CardID=b.CardID

whereaddress=@addrandState='2'

return@count

end

(3)createfunctionf3(@lowint,@highint)

returnstable

as

return(selectCName,Address,GoodsName,SaleDate,Quantity

fromTable_CustomerajoinTable_SaleBillbona.CardID=b.CardID

joinTable_SaleBillDetailconc.SaleBilllD=b.SaleBilllD

joinTable_Goodsdond.GoodsID=c.GoodsID

whereAgebetween@lowand@high)

(4)createfunctionf4(@lbvarchar(20),@nfint)

returnstable

as

return(selectGoodsName,SaleDate,Quantity,dbo.fl(@lb,@nf)astotal

fromTable_SaleBillajoinTable_SaleBillDetailbona.SaleBilllD=b.SaleBilllD

joinTable_Goodsconc.GoodsID=b.GoodsID

joinTable_GoodsClassdond.GoodsClassID=c.GoodsClassID

whereGoodsClassName=@lbandyear(SaleDate)=@nf)

(5)createfunctionf5(@lbvarchar(20))

returns@new_tabletable(

商品名稱varchar(30),

單價money,

銷售日期datetime,

銷售數(shù)量int,

銷售總價money)

as

begin

insertinto@new_table

selectGoodsName,SaleUnitPrice,SaleDate,Quantity,Amount

fromTable_GoodsajoinTable_SaleBillDetailbona.GoodsID=b.GoodsID

joinTable_SaleBillconc.SaleBilllD=b.SaleBilllD

joinTable_GoodsClassdond.GoodsClassID=a.GoodsClassID

whereGoodsClassName=@lb

return

en

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論