《數(shù)據(jù)庫(kù)原理與應(yīng)用教程》(第4版)習(xí)題參考答案_第1頁(yè)
《數(shù)據(jù)庫(kù)原理與應(yīng)用教程》(第4版)習(xí)題參考答案_第2頁(yè)
《數(shù)據(jù)庫(kù)原理與應(yīng)用教程》(第4版)習(xí)題參考答案_第3頁(yè)
《數(shù)據(jù)庫(kù)原理與應(yīng)用教程》(第4版)習(xí)題參考答案_第4頁(yè)
《數(shù)據(jù)庫(kù)原理與應(yīng)用教程》(第4版)習(xí)題參考答案_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章數(shù)據(jù)庫(kù)概述

1.試說(shuō)明數(shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)的概念。

答:數(shù)據(jù)是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象。

數(shù)據(jù)庫(kù):是存放數(shù)據(jù)的場(chǎng)所。

數(shù)據(jù)庫(kù)管理系統(tǒng):管理數(shù)據(jù)庫(kù)數(shù)據(jù)及其功能的系統(tǒng)軟件。

數(shù)據(jù)庫(kù)系統(tǒng):由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)管理員和數(shù)據(jù)庫(kù)應(yīng)用程序共同構(gòu)

成的系統(tǒng)。

2.數(shù)據(jù)管理技術(shù)的發(fā)展主要經(jīng)歷了哪幾個(gè)階段?

答:文件管理和數(shù)據(jù)庫(kù)管理。

3.文件管理方式在管理數(shù)據(jù)方面有哪些缺陷?

答:(1)編寫(xiě)應(yīng)用程序不方便。(2)數(shù)據(jù)冗余不可避免。(3)應(yīng)用程序依賴(lài)性。(4)不

支持對(duì)文件的并發(fā)訪(fǎng)問(wèn)。(5)數(shù)據(jù)間聯(lián)系弱。(6)難以滿(mǎn)足不同用戶(hù)對(duì)數(shù)據(jù)的需求。

4.與文件管理相比,數(shù)據(jù)庫(kù)管理有哪些優(yōu)點(diǎn)?

答:(1)相互關(guān)聯(lián)的數(shù)據(jù)集合;(2)較少的數(shù)據(jù)冗余;(3)程序與數(shù)據(jù)相互獨(dú)立;

(4)保證數(shù)據(jù)的安全可靠;(5)最大限度地保證數(shù)據(jù)的正確性;(6)數(shù)據(jù)可以共享并能

保證數(shù)據(jù)的一致性。

5.比較用文件管理和用數(shù)據(jù)庫(kù)管理數(shù)據(jù)的主要區(qū)別。

答:文件系統(tǒng)不能提供數(shù)據(jù)的獨(dú)立性,也不能提供數(shù)據(jù)共享、安全性等功能,這些

需要客戶(hù)端編程實(shí)現(xiàn)。而數(shù)據(jù)庫(kù)管理系統(tǒng)可以很方便地提供這些功能。

6.在數(shù)據(jù)庫(kù)管理方式中,應(yīng)用程序是否需要關(guān)心數(shù)據(jù)的存儲(chǔ)位置和存儲(chǔ)結(jié)構(gòu)?為什

么?

答;不需要。因?yàn)檫@些都由數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)維護(hù)。

7.在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)庫(kù)的作用是什么?

答:數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù),其作用是存儲(chǔ)數(shù)據(jù)。

8.在數(shù)據(jù)庫(kù)系統(tǒng)中,應(yīng)用程序可以不通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)而直接訪(fǎng)問(wèn)數(shù)據(jù)文件嗎?

答:不可以。

9.數(shù)據(jù)獨(dú)立性指的是什么?它能帶來(lái)哪些好處?

答:數(shù)據(jù)獨(dú)立性包括邏輯獨(dú)立性和物理獨(dú)立性?xún)刹糠?。物理?dú)立性是指當(dāng)數(shù)據(jù)的存

儲(chǔ)結(jié)構(gòu)發(fā)生變化時(shí),不影響應(yīng)用程序的特性;邏輯獨(dú)立性是指當(dāng)表達(dá)現(xiàn)實(shí)世界的信息內(nèi)

容發(fā)生變化時(shí),不影響應(yīng)用程序的特性。這兩個(gè)獨(dú)立性使用戶(hù)只需關(guān)心邏輯層即可,同

時(shí)增強(qiáng)了應(yīng)用程序的可維護(hù)性。

10.數(shù)據(jù)庫(kù)系統(tǒng)由哪幾部分組成,每一部分在數(shù)據(jù)庫(kù)系統(tǒng)中的作用大致是什么?

答:數(shù)據(jù)庫(kù)系統(tǒng)一般包括3個(gè)主要部分:數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和應(yīng)用程序。數(shù)

據(jù)庫(kù)是數(shù)據(jù)的匯集,它以一定的組織形式保存在存儲(chǔ)介質(zhì)上;數(shù)據(jù)庫(kù)管理系統(tǒng)是管理數(shù)

據(jù)庫(kù)的系統(tǒng)軟件,它可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)的各種功能;應(yīng)用程序?qū)V敢詳?shù)據(jù)庫(kù)數(shù)據(jù)為基

礎(chǔ)的程序。

第2章數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)

1.解釋數(shù)據(jù)模型的概念,為什么要將數(shù)據(jù)模型分成兩個(gè)層次?

答:數(shù)據(jù)模型實(shí)際上是模型化數(shù)據(jù)和信息的工具,在數(shù)據(jù)庫(kù)中,數(shù)據(jù)模型要滿(mǎn)足三個(gè)要

求:第一,要能夠比較真實(shí)地模擬現(xiàn)實(shí)世界;第二,要容易被人們理解;第三,要能夠

很方便地在計(jì)算機(jī)上實(shí)現(xiàn)。用一種模型來(lái)同時(shí)滿(mǎn)足這三方面的要求比較困難,因此在在

數(shù)據(jù)庫(kù)系統(tǒng)中針對(duì)不同的使用對(duì)象和應(yīng)用目的,采用了兩種不同的數(shù)據(jù)模型來(lái)實(shí)現(xiàn),一

個(gè)是概念層數(shù)據(jù)模型,用來(lái)滿(mǎn)足第一和第二個(gè)要求;另一個(gè)是組織層數(shù)據(jù)模型,用來(lái)滿(mǎn)

足第三個(gè)要求。

2.概念層數(shù)據(jù)模型和組織層數(shù)據(jù)模型分別是針對(duì)什么進(jìn)行的抽象?

答:概念層數(shù)據(jù)模型主要針對(duì)用戶(hù)的業(yè)務(wù)進(jìn)行抽象,組織層數(shù)據(jù)庫(kù)模型主要針對(duì)具體的

數(shù)據(jù)庫(kù)管理系統(tǒng)采用的數(shù)據(jù)組織方式進(jìn)行抽象。

3.實(shí)體之間的聯(lián)系有幾種?分別是哪些?請(qǐng)為每一種聯(lián)系舉出一個(gè)例子。

答:有三種:1:1;1:n;m:no1:1示例:系和系主任。l:n示例:班和學(xué)生;m:n示例:

教師和學(xué)生。

4.說(shuō)明實(shí)體-聯(lián)系模型中的實(shí)體、屬性和聯(lián)系的概念。

答:實(shí)體是具有公共性質(zhì)的并可相互區(qū)分的現(xiàn)實(shí)世界對(duì)象的集合。屬性是實(shí)體所具有的

特征或性質(zhì)。聯(lián)系是實(shí)體之間的關(guān)聯(lián)關(guān)系。

5.指明下列實(shí)體間聯(lián)系的種類(lèi):

(1)教研室和教師(假設(shè)一個(gè)教師只屬于一個(gè)教研室,一個(gè)教研室可有多名教師)。

答:一對(duì)多。

(2)商店和顧客。

答:多對(duì)多。

(3)國(guó)家和首都。

答:一對(duì)一。

6.解釋關(guān)系模型中的主碼、外碼、主屬性、非主屬性的概念,并說(shuō)明主碼、外碼的作用。

答:主碼是用于唯一確定表中一個(gè)元組的一個(gè)屬性或最小的屬性組。用于實(shí)現(xiàn)實(shí)體完整

性。

外碼用于實(shí)現(xiàn)數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系(參照完整性)。

主屬性:候選鍵所包含的屬性。

非屬性:主屬性之外的其他屬性。

7.指出下列關(guān)系模式的主碼:

(1)考試情況(課程號(hào),考試性質(zhì),考試日期,考試地點(diǎn))。假設(shè)一門(mén)課程在不同的日期可

以有多次考試,但在同一天只能考一次。多門(mén)不同的課程可以同時(shí)進(jìn)行考試。

答:(課程號(hào),考試日期)

(2)教師授課(教師號(hào),課程號(hào),授課時(shí)數(shù),學(xué)年,學(xué)期)。假設(shè)一名教師在同一個(gè)學(xué)年和

學(xué)期可以講授多門(mén)課程,也可以在不同學(xué)年和學(xué)期多次講授同一門(mén)課程,對(duì)每門(mén)課程的講授

都有一個(gè)授課時(shí)數(shù)。

答:(教師號(hào),課程號(hào),學(xué)年)

(3)圖書(shū)借閱(書(shū)號(hào),讀者號(hào),借書(shū)日期,還書(shū)日期)。假設(shè)一個(gè)讀者可以在不同的日期多

次借閱同一本書(shū),一個(gè)讀者可以同時(shí)借閱多本不同的圖書(shū),一本書(shū)可以在不同的時(shí)間借給不

同的讀者。但一個(gè)讀者不能在同一天對(duì)同一本書(shū)借閱多次。

答:(書(shū)號(hào),讀者號(hào),借書(shū)日期)

8.設(shè)有如下兩個(gè)關(guān)系模式,試指出每個(gè)關(guān)系模式的主碼、外碼,并說(shuō)明外碼的引用關(guān)系。

產(chǎn)品表(產(chǎn)品號(hào),產(chǎn)品名稱(chēng),產(chǎn)品價(jià)格,生產(chǎn)日期),其中產(chǎn)品名稱(chēng)有重復(fù)。

銷(xiāo)售表(產(chǎn)品號(hào),銷(xiāo)售時(shí)間,銷(xiāo)售數(shù)量),假設(shè)可同時(shí)銷(xiāo)售多種產(chǎn)品,但同一產(chǎn)品在

同一時(shí)間只銷(xiāo)售一次。

答:產(chǎn)品的主碼:產(chǎn)品號(hào),無(wú)外瑪。

銷(xiāo)售的主碼:(產(chǎn)品號(hào),銷(xiāo)售時(shí)間),其中產(chǎn)品號(hào)為引用產(chǎn)品表的外碼。

9.關(guān)系模型的數(shù)據(jù)完整性包含哪些內(nèi)容?分別說(shuō)明每一種完整性的作用。

答:包含:實(shí)體完整性、參照完整性和用戶(hù)定義的完整性。

實(shí)體完整性:作用是保證表中的不存儲(chǔ)相同的數(shù)據(jù),也不存儲(chǔ)無(wú)意義的數(shù)據(jù)。

參照完整性:用于描述實(shí)體之間的聯(lián)系。

用戶(hù)定義的完整性:用于限定屬性的取值范圍,目的是保證數(shù)據(jù)庫(kù)中存儲(chǔ)的值與現(xiàn)

實(shí)世界相符。

10.數(shù)據(jù)庫(kù)系統(tǒng)包含哪三級(jí)模式?試分別說(shuō)明每一級(jí)模式的作用?

答:外模式、模式和內(nèi)模式。

外模式是對(duì)現(xiàn)實(shí)系統(tǒng)中用戶(hù)感興趣的整體數(shù)據(jù)結(jié)構(gòu)的局部描述,用于滿(mǎn)足不同用戶(hù)

對(duì)數(shù)據(jù)的需求。

模式:是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,它滿(mǎn)足所有用戶(hù)對(duì)數(shù)據(jù)的需

求。

內(nèi)模式:是對(duì)整個(gè)數(shù)據(jù)庫(kù)的底層表示,它描述了數(shù)據(jù)的存儲(chǔ)位置和存儲(chǔ)方式。

11.數(shù)據(jù)庫(kù)系統(tǒng)的兩級(jí)映像的功能是什么?它帶來(lái)了哪些好處?

答:兩級(jí)映像是外模式/模式映像和模式/內(nèi)模式映像。外模式/模式映像保證了當(dāng)模式發(fā)

生變化時(shí)可以保證外模式不變,從而是用戶(hù)的應(yīng)用程序不需要修改。模式/內(nèi)模式映像保

證了當(dāng)內(nèi)模式發(fā)生變化,比如存儲(chǔ)位置或存儲(chǔ)文件名改變,可以保持模式不變,從而使

用戶(hù)不需要知道這些變化。

12.數(shù)據(jù)庫(kù)三級(jí)模式劃分的優(yōu)點(diǎn)是什么?它能帶來(lái)哪些數(shù)據(jù)獨(dú)立性?

答:數(shù)據(jù)庫(kù)三級(jí)模式的劃分使用戶(hù)可以在邏輯層處理數(shù)據(jù),而不需要關(guān)心具體的物理細(xì)

節(jié),同時(shí)當(dāng)內(nèi)模式或模式發(fā)生變化時(shí),可以通過(guò)模式之間的映像關(guān)系,保持外模式不變,

從而避免了修改應(yīng)用程序。三級(jí)模式以及三級(jí)模式之間的兩級(jí)映像帶來(lái)了數(shù)據(jù)的邏輯獨(dú)

立性和物理獨(dú)立性。

13.簡(jiǎn)單說(shuō)明數(shù)據(jù)庫(kù)管理系統(tǒng)包含的功能。

答:數(shù)據(jù)定義、數(shù)據(jù)操縱、優(yōu)化和執(zhí)行、數(shù)據(jù)安全性和完整性、數(shù)據(jù)恢復(fù)和并發(fā)、盡可能高

效的完成各種操作。

第3章SQL語(yǔ)言基礎(chǔ)及數(shù)據(jù)定義功能

1.Tinyint數(shù)據(jù)類(lèi)型定義的數(shù)據(jù)的取值范圍是多少?

答:0、255。

2.日期時(shí)間類(lèi)型中的日期和時(shí)間的輸入格式是什么?

答:在輸入日期部分時(shí)可采用英文數(shù)字格式、數(shù)字加分隔符格式和純數(shù)字格式。采

用英文數(shù)字格式時(shí),月份可用英文全名或縮寫(xiě)形式。

在輸入時(shí)間部分時(shí)可以采用12小時(shí)格式或24小時(shí)格式。使用12小時(shí)制時(shí)要加

上AM或PY說(shuō)明是上午還是下午。在時(shí)與分之間可以使用冒號(hào)(:)作為分隔符

3.SmallDatatime類(lèi)型精確到哪個(gè)時(shí)間單位?

答:分鐘。

4.定點(diǎn)小數(shù)類(lèi)型numeric中的p和q的含義分別是什么?

答:P代表數(shù)字位長(zhǎng)度,即整數(shù)部分和小數(shù)部分的數(shù)字位之和。q代表小數(shù)位數(shù)。

5.Char(10)>nchar(10)的區(qū)別是什么?它們各能存放多少個(gè)字符?占用多少空間?

答:char(10)是普通編碼,固定占10個(gè)字節(jié),最多能存放10個(gè)字母或數(shù)字字符,5個(gè)

漢字。Nchar(10)是統(tǒng)一字符編碼,固定占20個(gè)字節(jié),最多能存放10個(gè)字符(包括字母

和漢字)。

6.Char(n)和varchar(n)的區(qū)別是什么?其中n的含義是什么?各占用多少空間?

答:Char(n)是定長(zhǎng)字符類(lèi)型,varchar(n)是可變長(zhǎng)字符類(lèi)型。Char(n)中的n代表固定

占n個(gè)字節(jié)的空間;varchar(n)中的n代表最多占n個(gè)字節(jié)的空間。

7.數(shù)據(jù)完整性的作用是什么?

答:數(shù)據(jù)的完整性作用是防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù)。

8.在對(duì)數(shù)據(jù)進(jìn)行什么操作時(shí),系統(tǒng)檢查DEFAULT約束?在進(jìn)行什么操作時(shí),檢查CHECK

約束?

答:插入操作且省略了某些列的值時(shí)檢查DEFAULT約束。插入和修改操作檢查CHECK約

束。

9.UNIQUE約束的作用是什么?

答:限制列的取值不重復(fù)。

10.寫(xiě)出創(chuàng)建如下三張表的SQL語(yǔ)句,要求在定義表的同時(shí)定義數(shù)據(jù)的完整性約束:。

答:

Createtable圖書(shū)表(

書(shū)號(hào)nchar⑹primarykey,

書(shū)名nvarchar(30)notnull,

第一作者char(10)notnull,

出版日期smalldatetime,

價(jià)格:numeric(4,1)

Createtable書(shū)店表(

書(shū)店編號(hào)nchar(6)primarykey,

店名nvarchar(30)notnull,

電話(huà)char(8)check(電話(huà)like

'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9:,),

地址varchar(40),

郵政編碼char(6)

>

Createtable圖書(shū)銷(xiāo)售表(

書(shū)號(hào)nchar(6)notnull,

書(shū)店編號(hào)nchar(6)notnull,

銷(xiāo)售日期smalldatetimenotnull;

銷(xiāo)售數(shù)量smalldatetimecheck(銷(xiāo)售數(shù)量>=1);

>

11.為“圖書(shū)表”添加“印刷數(shù)量”歹u,類(lèi)型為整數(shù),同時(shí)添加約束,要求此列的取值

要大于等于1000c

答:altertable圖書(shū)表Add印刷數(shù)量intcheck(印刷數(shù)量>=1000)

12.刪除“書(shū)店表”中的“郵政編碼”列。

答:altertable書(shū)店表Dropcolumn郵政編碼

13.將“圖書(shū)銷(xiāo)售表”中的“銷(xiāo)售數(shù)量”列的數(shù)據(jù)類(lèi)型改為整型。

答:altertable圖書(shū)銷(xiāo)售表Altercolumn銷(xiāo)售數(shù)量int

第4章數(shù)據(jù)操作

1.查詢(xún)sc表中的全部數(shù)據(jù)。

Select*fromsc

2.查詢(xún)計(jì)算機(jī)系學(xué)生的姓名和年齡。

Selectsname,sagefromstudentwheresdept='計(jì)算機(jī)系'

3.查詢(xún)成績(jī)?cè)?0?80分的學(xué)生的學(xué)號(hào)、課程號(hào)和成績(jī)。

Selectsno,eno,gradefromscwheregradebetween70and80

4.查詢(xún)計(jì)算機(jī)系年齡在18?20歲的男學(xué)生的姓名和年齡。

Selectsname,sagefromstudent

wheresdept='計(jì)算機(jī)系'andsagebetween18and20

5.查詢(xún)課程號(hào)為“cOOl”的課程的最高的分?jǐn)?shù)。。

Selectmax(grade)fromscwhereeno='C001z

6.查詢(xún)計(jì)算機(jī)系學(xué)生的最大年齡和最小年齡。

Selectmax(sage)最大年齡,min(sage)最小年齡fromstudent

Wheresdept='計(jì)算機(jī)系,

7.統(tǒng)計(jì)每個(gè)系的學(xué)生人數(shù)。

Selectsdept,count(*)人數(shù)fromstudent

Groupbysdept

8.統(tǒng)計(jì)每門(mén)課程的選課人數(shù)和考試最高分。

Selectcn。,count(*)選課人數(shù),max(grade)最高分fromsc

Groupbyeno

9.統(tǒng)計(jì)每個(gè)學(xué)生的選課門(mén)數(shù)和考試總成績(jī),并按選課門(mén)數(shù)升序顯示結(jié)果。

Selectsno,count(*)選課門(mén)數(shù),sum(grade)fromsc

Groupbysnoorderbycount(*)asc

10.查詢(xún)總成績(jī)超過(guò)200分的學(xué)生,要求列出學(xué)號(hào)、總成績(jī)。

Selectsno,sum(grade)總成績(jī)fromsc

Groupbysnohavingsum(grade)>200

11.查詢(xún)選修“C002”號(hào)課程的學(xué)生的姓名和所在系。

Selectsname,sdeptfromstudentsjoinscons.sno=sc.sno

Whereeno='C002z

12.查詢(xún)成績(jī)80分以上的學(xué)生的姓名、課程號(hào)和成績(jī),并按成績(jī)降序排列結(jié)果。

Selectsname,eno,grade

Fromstudentsjoinscons.sno=sc.sno

Wheregrade>80

Orderbygradedesc

13.查詢(xún)哪些課程沒(méi)有學(xué)生選修,要求列出課程號(hào)和課程名。

Selectc.cnozcnamefromcoursecleftjoinsconc.eno=sc.eno

Wheresc.enoisnull

14.查詢(xún)與Java在同一學(xué)期開(kāi)設(shè)的課程的課程名和開(kāi)課學(xué)期。

Selectame,cl.semesterfromcoursecl

joincoursec2oncl.semester=c2.semester

Whereame='Javazandame!='Java'

15.查詢(xún)與李勇年齡相同的學(xué)生的姓名、所在系和年齡。

Selectsi.sname,si.sdept,si.sagefromstudentsi

joinstudents2onsi.sage=s2.sage

Wheres2.sname='李勇,andsi.sname!='李勇,

16.用子查詢(xún)實(shí)現(xiàn)如下查詢(xún):

(1)查詢(xún)選修了“C001”號(hào)課程的學(xué)生的姓名和所在系。

Selectsname,sdeptfromstudent

Wheresnoin(selectsnofromscwhereeno='C001')

(2)查詢(xún)數(shù)學(xué)系成績(jī)80分以上的學(xué)生的學(xué)號(hào)、姓名、課程號(hào)和成績(jī)。

Selectsnofsname,eno,gradefromstudents

Joinscons.sno=sc.sno

Wheresdept='數(shù)學(xué)系'andsnoin(

Selectsnofromscwheregrade>80)

(3)查詢(xún)計(jì)算機(jī)系考試成績(jī)最高的學(xué)生的姓名。

Selectsnamefromstudentsjoinscons.sno=sc.sno

Wheresdept='計(jì)算機(jī)系,andgrade=(

Selectmax(grade)fromscjoinstudentsons.sno=sc.sno

Wheresdept'計(jì)算機(jī)系,)

(4)查詢(xún)年齡最大的男學(xué)生的姓名和年齡。

Selectsname,sagefromstudent

Wheresage=(selectmax(sage)fromstudent

wheressex='男')

andssex='男'

(5)查詢(xún)數(shù)據(jù)結(jié)構(gòu)考試成績(jī)最高的學(xué)生的姓名、所在系、性別和成績(jī)。

Selectsname,sdept,ssex,gradefromstudents

Joinscons.sno=sc.sno

Joincourseconc.eno=sc.eno

Wherecname='數(shù)據(jù)結(jié)構(gòu)'

Andgradein(

Selectmax(grade)fromscjoincourseconc.cno=sc.eno

Wherecname='數(shù)據(jù)結(jié)構(gòu),)

17.查詢(xún)沒(méi)有選修Java課程的學(xué)生的姓名和所在系。

Selectsname,sdeptfromstudent

Wheresnonotin(

Selectsnofromscjoincourseconc.eno=sc.eno

Wherecname='Java')

18.查詢(xún)計(jì)算機(jī)系沒(méi)有選課的學(xué)生的姓名和性別。

Selectsname,ssexfromstudent

Wheresdept='計(jì)算機(jī)系,

Andsnonotin(

Selectsnofromsc)

19.創(chuàng)建一個(gè)新表,表名為其結(jié)構(gòu)為(COL1,COL2,COL3),其中,

COL1:整型,允許空值。

COL2:字符型,長(zhǎng)度為10,不允許空值。

COL3:字符型,長(zhǎng)度為10,允許空值。

試寫(xiě)出按行插入如下數(shù)據(jù)的語(yǔ)句(空白處表示空值)。

C0L1C0L2C0L3

B1

1B2C2

2B3

Createtabletest_t(

C0L1int,

COL2char(10)notnull>

COL3char(10))

Insertintotest_t(COL2)values('Bl')

Insertintotest_t(COL1,COL2)values(1,zB2f)

Insertintotest_tvalues(2,'B3',NULL)

20.刪除考試成績(jī)低于50分的學(xué)生的選課記錄。

Deletefromscwheregrade<50

21.刪除沒(méi)人選的課程的基本信息。

Deletefromcoursewhereenonotin(

Selectenofromcourse)

22.刪除計(jì)算機(jī)系Java成績(jī)不及格學(xué)生的Java選課記錄。

Deletefromsc

Fromscjoinstudentsons.sno=sc.sno

Joincourseconc.eno=sc.eno

wherecname='Java7andgrade<60

andsdept='計(jì)算機(jī)系,

23.將第2學(xué)期開(kāi)設(shè)的所有課程的學(xué)分增加2分。。

UpdateCoursesetcredit=credit+2

Wheresemester=2

24.將Java課程的學(xué)分改為3分。

Updatecoursesetcredit=3

wherecname='Java7

25.將計(jì)算機(jī)系學(xué)生的年齡增加1歲。

UpdateStudentsetsage=sage+1

wheresdept='計(jì)算機(jī)系'

26.將信息系學(xué)生的“計(jì)算機(jī)文化學(xué)”課程的考試成績(jī)加5分。

UpdateSCsetgrade=grade+5

Fromstudentsjoinscons.sno=sc.sno

Joincourseconc.eno=sc.eno

Wheresdept='信息系,andcname='計(jì)算機(jī)文化學(xué),

27.查詢(xún)每個(gè)系年齡大于等于20的學(xué)生人數(shù),并將結(jié)果保存到一個(gè)新永久表Dept_Age中。

Selectsdept,count(*)人數(shù)intoDept_Agefromstudent

Wheresage>=20

Groupbysdept

28.查詢(xún)計(jì)算機(jī)系每個(gè)學(xué)生的JAVA考試情況,列出學(xué)號(hào)、姓名、成績(jī)和成績(jī)情況,其中成績(jī)

情況的顯示規(guī)則為:

如果成績(jī)大于等于90,則成績(jī)情況為“好”;

如果成績(jī)?cè)?0?89,則成績(jī)情況為“較好”;

如果成績(jī)?cè)?0?79,則成績(jī)情況為“一般”;

如果成績(jī)?cè)?0?69,則成績(jī)情況為“較差”;

如果成績(jī)小于60,則成績(jī)情況為“差二

Selects.sno,snam一,grade,成績(jī)情況=

Case

Whengrade>=90then'好'

Whengradebetween80and89then、較好,

Whengradebetween70and79then'一般,

Whengradebetween60and69then、較差,

Else'差,

end

fromstudentsjoinscons.sno=sc.sno

Joincourseconc.eno=sc.eno

Wheresdept>=20

29.統(tǒng)計(jì)每個(gè)學(xué)生的選課門(mén)數(shù)(包括沒(méi)有選課的學(xué)生),列出學(xué)號(hào)、選課門(mén)數(shù)和選課情況,其

中選課情況顯示規(guī)則為:

如果選課門(mén)數(shù)大于等于6門(mén),則選課情況為“多”;

如果選課門(mén)數(shù)超過(guò)在3?5門(mén),則選課情況為“一般”;

如果選課門(mén)數(shù)在「2H,則選課情況為“偏少

如果沒(méi)有選課,則選課情況為“未選課”。

30.修改全部課程的學(xué)分,修改規(guī)則如下:

如果是第1?2學(xué)期開(kāi)設(shè)的課程,則學(xué)分增加5分;

如果是第3?4學(xué)期開(kāi)設(shè)的課程,則學(xué)分增加3分;

如果是第5?6學(xué)期開(kāi)設(shè)的課程,則學(xué)分增加1分;

對(duì)其他學(xué)期開(kāi)設(shè)的課程,學(xué)分不變。

Selects.sno,count(sc.sno)選課門(mén)數(shù),選課情況=

Case

Whencount(sc.sno)>=6then'多,

Whencount(sc.sno)between3and5then'一般'

Whencount(sc.sno)between1and2then'偏少'

Whencount(sc.sno)=0then'未選課,

end

fromstudentsleftjoinscons.sno=sc.sno

Groupbys.sno

31.查詢(xún)“李勇”和“王大力”所選的全部課程,列出課程名、開(kāi)課學(xué)期和學(xué)分,不包括重

復(fù)的結(jié)果。

Selectcname,semester,creditfromcoursec

joinsconc.eno=sc.eno

Joinstudentsons.sno=sc.sno

Wheresname='李勇'

union

Selectcname,semester^creditfromcoursec

joinsconc.eno=sc.eno

Joinstudentsons.sno=sc.sno

Wheresname='王大力'

32.查詢(xún)?cè)诘?學(xué)期開(kāi)設(shè)的課程中,“李勇”選了但“王大力”沒(méi)選的課程,列出課程名和學(xué)

分。

Selectcname,semester,creditfromcoursec

joinsconc.eno=sc.eno

Joinstudentsons.sno=sc.sno

Wheresname='李勇'andsemester=3

except

Selectcname,semester,creditfromcoursec

joinsconc.eno=sc.eno

Joinstudentsons.sno=sc.sno

Wheresname='王大力'andsemester=3

33.查詢(xún)?cè)趯W(xué)分大于3分的課程中,“李勇”和“王大力”所選的相同課程,列出課程名和學(xué)

分。

Selectcname,semester,creditfromcoursec

joinsconc.eno=sc.eno

Joinstudentsons.sno=sc.sno

Wheresname='李勇'andcredit>3

INTERSECT

Selectcname,semester,creditfromcoursec

joinsconc.eno=sc.eno

Joinstudentsons.sno=sc.sno

Wheresname='王大力'andcredit>3

第5章索引和視圖

1.試說(shuō)明使用視圖的好處。

答:利用視圖可以簡(jiǎn)化客戶(hù)端的數(shù)據(jù)查詢(xún)語(yǔ)句,使用戶(hù)能從多角度看待同一數(shù)據(jù),可以

提高數(shù)據(jù)的安全性,視圖對(duì)應(yīng)數(shù)據(jù)庫(kù)三級(jí)模式中的外模式,因此提供了一定程度的邏輯

獨(dú)立性。

2.使用視圖可以加快數(shù)據(jù)的查詢(xún)速度,這句話(huà)對(duì)嗎?為什么?

答:不對(duì),因?yàn)橥ㄟ^(guò)視圖查詢(xún)數(shù)據(jù)時(shí),比直接針對(duì)基本表查詢(xún)數(shù)據(jù)多了一個(gè)轉(zhuǎn)換過(guò)程,

即從外模式到模式的轉(zhuǎn)換。

3.使用第3章建立的Student、Course和SC表,寫(xiě)出創(chuàng)建滿(mǎn)足下述要求的視圖的SQL

語(yǔ)句。

(1)查詢(xún)學(xué)生的學(xué)號(hào)、姓名、所在系、課程號(hào)、課程名、課程學(xué)分。

CreateviewvlAs

Selects.sno,sname,sdept,c.cnofcnamezcredit

Fromstudentsjoinscons.sno=sc.sno

Joincourseconc.eno=sc.eno

(2)查詢(xún)學(xué)生的學(xué)號(hào)、姓名、選修的課程名和考試成績(jī)。

Createviewv2As

Selects.sno,sname,cname,grade

Fromstudentsjoinscons.sno=sc.sno

Joincourseconc.eno=sc.eno

(3)統(tǒng)計(jì)每個(gè)學(xué)生的選課門(mén)數(shù),要求列出學(xué)生學(xué)號(hào)和選課門(mén)數(shù)。

Createviewv3As

Selectsnozcount(*)astotal

Fromscgroupbysno

(4)統(tǒng)計(jì)每個(gè)學(xué)生的修課總學(xué)分,要求列出學(xué)生學(xué)號(hào)和總學(xué)分(說(shuō)明:考試成績(jī)大于

等于60才可獲得此門(mén)課程的學(xué)分)。

Createviewv4As

Selectsno,sum(credit)astotal_credit

Fromsnojoincourseconc.eno=sc.eno

Wheregrade>=60

Groupbysno

(5)查詢(xún)計(jì)算機(jī)系JAVA考試成績(jī)最高的學(xué)生的學(xué)號(hào)、姓名和JAVA考試成績(jī)。

Createviewv5As

Selecttop1withtiess.sno,snamezgrade

Fromstudentsjoinscons.sno=sc.sno

Joincourseconc.eno=sc.eno

Wheresdept='計(jì)算機(jī)系,andcname='java,

Orderbygradedesc

4.利用第3題建立的視圖,完成如下查詢(xún):

(1)查詢(xún)考試成績(jī)大于等于90分的學(xué)生的姓名、課程名和成績(jī)。

Selectsname,cname,gradeFromv2wheregrade>=90

(2)查詢(xún)選課門(mén)數(shù)超過(guò)3門(mén)的學(xué)生的學(xué)號(hào)和選課門(mén)數(shù)。

Select*fromv3wheretotal>=3

(3)查詢(xún)計(jì)算機(jī)系選課門(mén)數(shù)超過(guò)3門(mén)的學(xué)生的姓名和選課門(mén)數(shù)。

Selectsname,totalfromv3joinstudentsons.sno=v3.sno

Wheresdept='計(jì)算機(jī)系'andtotal>=3

(4)查詢(xún)修課總學(xué)分超過(guò)10分的學(xué)生的學(xué)號(hào)、姓名、所在系和修課總學(xué)分。

Selectv4.sno,sname,sdept,total_credit

Fromv4joinstudentsons.sno=v4.sno

Wheretotal_credit>=10

(5)查詢(xún)年齡大于等于20歲的學(xué)生中,修課總學(xué)分超過(guò)10分的學(xué)生的姓名、年齡、

所在系和修課總學(xué)分。

Selectsname,sage,sdept,total_credit

Fromv4joinstudentsons.sno=v4.sno

Wheresage>=20andtotal_credit>=10

5.修改第3題(4)定義的視圖,使其查詢(xún)每個(gè)學(xué)生的學(xué)號(hào)、總學(xué)分以及總的選課門(mén)數(shù)。

Alterviewv4As

Selectsno,sum(credit)astotal_creditzcount(*)astotal_cno

Fromscjoincourseconc.eno=sc.eno

Groupbysno

6.修改第3題(5)定義的視圖,使其統(tǒng)計(jì)全體學(xué)生中JAVA考試成績(jī)最高的學(xué)生的學(xué)號(hào)、姓

名、所在系和JAVA考試成績(jī)。

Alterviewv5As

Selecttop1withtiess.snozsname,sdept,grade

Fromstudentsjoinscons.sno=sc.sno

Joincourseconc.eno=sc.eno

Wherecname='java,

Orderbygradedesc

第6章關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論

L.關(guān)系規(guī)范化中的操作異常有哪些?它是由什么引起的?解決的辦法是什么?

答:主要有插入異常、刪除異常和修改異常,這些都是由數(shù)據(jù)冗余引起的,解決的辦法

是進(jìn)行模式分解,消除數(shù)據(jù)冗余,

2.第一范式、第二范式和第三范式的關(guān)系的定義分別是什么?

答:第一范式:不包含重復(fù)組的關(guān)系(即不包含非原子項(xiàng)的屬性)是第一范式的關(guān)系。

第二范式:如果R(U,F)W1NF,并且R中的每個(gè)非主屬性都完全函數(shù)依賴(lài)于主碼,

MR(U,F)E2NFo

第三范式:如果R(U,F)W2NF,并且所有的非主屬性都不傳遞依賴(lài)于主碼,則

R(U,F)S3NF。

3.什么是部分函數(shù)依賴(lài)?什么是傳遞函數(shù)依賴(lài)?請(qǐng)舉例說(shuō)明。

答:部分函數(shù)依賴(lài):如果X-Y,并且對(duì)于X的一個(gè)任意真子集X,有X,一Y成立,則稱(chēng)

Y部分函數(shù)依賴(lài)于X。

傳遞函數(shù)依賴(lài):如果X-Y、Y-Z,則稱(chēng)Z傳遞函數(shù)依賴(lài)于X。

例1.對(duì)于關(guān)系模式:選課(學(xué)號(hào),姓名,課程號(hào),成績(jī))

該關(guān)系模式的主碼是(學(xué)號(hào),課程號(hào)),而有:學(xué)號(hào)分姓名

因此姓名對(duì)主碼是部分函數(shù)依賴(lài)關(guān)系。

例2.對(duì)于關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,所在系,系主任)

該關(guān)系模式的主碼是:學(xué)號(hào),由于有:學(xué)號(hào)令所在系,所在系9系主任

因此系主任對(duì)學(xué)號(hào)是傳遞函數(shù)依賴(lài)關(guān)系。

4.第三范式的關(guān)系模式是否一定不包含部分依賴(lài)關(guān)系?

答:是。

5.對(duì)于主碼只由一個(gè)屬性組成的關(guān)系模式,如果它是第一范式關(guān)系模式,則它是否一

定也是第二范式關(guān)系模式?

答:是。

6.設(shè)有關(guān)系模式:學(xué)生修課(學(xué)號(hào),姓名,所在系,性別,課程號(hào),課程名,學(xué)分,成績(jī))。

設(shè)一個(gè)學(xué)生可以選多門(mén)課程,一門(mén)課程可以被多名學(xué)生選。每個(gè)學(xué)生對(duì)每門(mén)課程有唯一

的考試成績(jī)。一個(gè)學(xué)生有唯一的所在系,每門(mén)課程有唯一的課程名和學(xué)分。請(qǐng)指出此關(guān)

系模式的候選碼,判斷此關(guān)系模式是第幾范式的,若不是第三范式的,請(qǐng)將其規(guī)范化為

第三范式關(guān)系模式,并指出分解后的每個(gè)關(guān)系模式的主碼和外碼。

答:候選碼:(學(xué)號(hào),課程號(hào))

第一范式。因?yàn)橛校簩W(xué)號(hào)分姓名,因此存在部分函數(shù)依賴(lài)(學(xué)號(hào),課程號(hào))P-姓名

第三范式關(guān)系模式:

學(xué)生(箜號(hào),姓名,所在系,性別)

課程(課程號(hào),課程名,學(xué)分)

考試(學(xué)號(hào),課程號(hào),成績(jī)),學(xué)號(hào)為引用學(xué)生的外碼,課程號(hào)為引用課程的外碼。

7.設(shè)有關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,所在系,班號(hào),班主任,系主任),其語(yǔ)義為:一

個(gè)學(xué)生只在一個(gè)系的一個(gè)班學(xué)習(xí),一個(gè)系只有一個(gè)系主任,一個(gè)人只擔(dān)任一個(gè)系的系主

任;一個(gè)班只有一名班主任,但一名教師可以擔(dān)任多個(gè)班的班主任;一個(gè)系可以有多個(gè)

班。請(qǐng)指出此關(guān)系模式的候選碼,判斷此關(guān)系模式是第幾范式的,若不是第三范式的,

請(qǐng)將其規(guī)范化為第三范式關(guān)系模式,并指出分解后的每個(gè)關(guān)系模式的主碼和外碼。

答:候選碼:學(xué)號(hào)

屬于第二范式。

但有:學(xué)號(hào)分班號(hào),班號(hào)分班主任,因此存在傳遞函數(shù)依賴(lài):學(xué)號(hào)傳遞分班主任。

第三范式關(guān)系模式:

學(xué)生(學(xué)號(hào),姓名,所在系,班號(hào)),班號(hào)為引用班的外碼,所在系為引用系的外碼。

班(班號(hào),班主任)

系(系名,系主任)

8.設(shè)有關(guān)系模式:教師授課(課程號(hào),課程名,學(xué)分,教師號(hào),教師名,職稱(chēng),授課時(shí)數(shù),

授課學(xué)年),其語(yǔ)義為:一門(mén)課程(由課程號(hào)決定)有確定的課程名和學(xué)分,每名教師

(由教師號(hào)決定)有確定的教師名和職稱(chēng),每門(mén)課程可以由多名教師講授,每名教師也

可以講授多門(mén)課程,在同一學(xué)年每個(gè)教師對(duì)每門(mén)課程只講授一次,且有確定的授課時(shí)數(shù)。

指出此關(guān)系模式的候選碼,判斷此關(guān)系模式屬于第幾范式,若不屬于第三范式,請(qǐng)將其

規(guī)范化為第三范式關(guān)系模式,并指出分解后的每個(gè)關(guān)系模式的主碼和外碼。。

答:候選碼:(課程號(hào),授課教師號(hào))

屬于第一范式。因?yàn)橛校赫n程號(hào)分課程名,因此存在部分函數(shù)依賴(lài)關(guān)系:(課程號(hào),

授課教師號(hào))pl課程名

第三范式關(guān)系模式:

課程(課程號(hào),課程名,學(xué)分)

教師(教師號(hào),教師名,職稱(chēng))

授課(課程號(hào),教師號(hào),授課時(shí)數(shù),授課學(xué)年),課程號(hào)為引用課程的外碼,教師號(hào)

為引用教師的外碼。

第7章數(shù)據(jù)庫(kù)保護(hù)

1.試說(shuō)明事務(wù)的概念及四個(gè)特征。

答:事務(wù)的概念及四個(gè)特征為原子性、一致性、隔離性和持久性。原子性指事務(wù)的原子

性是指事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,事務(wù)中的操作,要么都做,要么都不做。一致

性指定事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。隔

離性指數(shù)據(jù)庫(kù)中一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。持久性指事務(wù)一旦提交,則其

對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就是永久的。

2.事務(wù)處理模型有哪兩種?

答:一種是ISO制定的事務(wù)處理模型,即明尾暗頭;另一種是T-SQL事務(wù)處理模型,即

事務(wù)有明確的開(kāi)始和結(jié)束標(biāo)記。

3.并發(fā)控制的措施是什么?

答:加鎖。

4.設(shè)有如下三個(gè)事務(wù):

TLB二A+1:T2:B=B*2:T3:A=B+1

(1)設(shè)A的初值為2,B的初值為1,如果這三個(gè)事務(wù)并發(fā)的執(zhí)行,則可能的正確的執(zhí)行

結(jié)果有哪些?

答:Ti-T23T3:A=7B=6

ITT39T2:A=4B=6

T2^TI^T3:A=3B=3

A=3B=4

T;^TI^T2:A=2B=6

T^L^Ti:A=2B=3

(2)給出一種遵守兩段鎖協(xié)議的并發(fā)調(diào)度策略。

5.當(dāng)某個(gè)事務(wù)對(duì)某段數(shù)據(jù)加了S鎖之后,在此事務(wù)釋放鎖之前,其他事務(wù)可以對(duì)此段數(shù)據(jù)

加什么鎖?

答:S鎖(共享鎖)。

6.什么是死鎖?如何預(yù)防死鎖?

答:事務(wù)為得到某個(gè)資源而處于無(wú)限等待狀態(tài),就是死鎖。預(yù)防死鎖的方法有多種,常用

的方法有一次封鎖法和順序封鎖法。

7.三級(jí)封鎖協(xié)議分別是什么?各級(jí)封鎖協(xié)議的主要區(qū)別是什么?每一級(jí)封鎖協(xié)議能保證

什么?

答:一級(jí)封鎖協(xié)議:對(duì)事務(wù)T要修改的數(shù)據(jù)加X(jué)鎖,直到事務(wù)結(jié)束(包括正常結(jié)束和非正

常結(jié)束)時(shí)才釋放。

二級(jí)封鎖協(xié)議:一級(jí)封鎖協(xié)議加上事務(wù)T對(duì)要讀取的數(shù)據(jù)加S鎮(zhèn),讀完后即釋放S鎖。

三級(jí)封鎖協(xié)議:一級(jí)封鎖協(xié)議加上事務(wù)T對(duì)要讀取的數(shù)據(jù)加S鎖,并直到事務(wù)結(jié)束才釋

放。

三個(gè)封鎖協(xié)議的區(qū)別是在對(duì)讀數(shù)據(jù)的加鎖上。

一級(jí)封鎖協(xié)議可以防止丟失修改;二級(jí)封鎖協(xié)議除了可以防止丟失修改外,還可以防止

讀“臟”數(shù)據(jù);三級(jí)封鎖協(xié)議除了可以防止丟失修改和不讀“臟”數(shù)據(jù)之外,還進(jìn)一步防止

了不可重復(fù)讀。

8.什么是可串行化調(diào)度?如何判斷一個(gè)并行執(zhí)行的結(jié)果是否是正確的?

答:多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一順序的串行執(zhí)行的結(jié)果相同,

稱(chēng)這種調(diào)度為可串行化的調(diào)度。

如果并發(fā)調(diào)度的執(zhí)行結(jié)果和某個(gè)串行調(diào)度結(jié)果一樣,這個(gè)并發(fā)調(diào)度就是正確的調(diào)度。

9.兩段鎖的含義是什么?

答:兩段鎖是指所有的事務(wù)必須分為兩個(gè)階段對(duì)數(shù)據(jù)進(jìn)行加鎖和解鎖,具體內(nèi)容如下:

?在對(duì)任何數(shù)據(jù)進(jìn)行讀、寫(xiě)操作之前,首先要獲得對(duì)該數(shù)據(jù)的封鎖。

?在釋放一個(gè)封鎖之后,事務(wù)不再申請(qǐng)和獲得任何其他鎖。。

10.數(shù)據(jù)庫(kù)故障大致分為幾類(lèi)?

答:主要有三類(lèi):事務(wù)內(nèi)部的故障;系統(tǒng)故障;其他故障。

11.數(shù)據(jù)庫(kù)備份的作用是什么?

答:主要有三類(lèi):事務(wù)內(nèi)部的故障;系統(tǒng)故障;其他故障。

第8章數(shù)據(jù)庫(kù)設(shè)計(jì)

1.簡(jiǎn)述數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程。

答;數(shù)據(jù)庫(kù)設(shè)計(jì)一般包含如下過(guò)程;

?需求分析。

?結(jié)構(gòu)設(shè)計(jì),包括概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)。

?行為設(shè)計(jì),包括功能設(shè)計(jì)、事務(wù)設(shè)計(jì)和程序設(shè)計(jì)。

?數(shù)據(jù)庫(kù)實(shí)施,包括加載數(shù)據(jù)庫(kù)數(shù)據(jù)和調(diào)試運(yùn)行應(yīng)用程序。

?數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段。

2.數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)包含哪幾個(gè)過(guò)程?

答:概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)。

3.需求分析中發(fā)現(xiàn)事實(shí)的方法有哪些?

答:常用的有檢查文檔、面談、觀察操作中的業(yè)務(wù)、研究和問(wèn)卷調(diào)查等。

4.數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)有哪些特點(diǎn)?

答:

?有豐富的語(yǔ)義表達(dá)能力。

?易于交流和理解。

?易于更改°

?易于向各種數(shù)據(jù)模型轉(zhuǎn)換,易于導(dǎo)出與DBMS有關(guān)的邏輯模型。

5.什么是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)?簡(jiǎn)述其設(shè)計(jì)步驟。

答:邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是把在概念結(jié)構(gòu)設(shè)計(jì)中設(shè)計(jì)的基本E-R模型轉(zhuǎn)換為具體的數(shù)據(jù)

庫(kù)管理系統(tǒng)支持的組織層數(shù)據(jù)模型。

邏輯結(jié)構(gòu)設(shè)計(jì)一般包含兩個(gè)步驟:

(1)將概念結(jié)構(gòu)轉(zhuǎn)換為某種組織層數(shù)據(jù)模型。

(2)對(duì)組織層數(shù)據(jù)模型進(jìn)行優(yōu)化。

6.把E-R模型轉(zhuǎn)換為關(guān)系模式的轉(zhuǎn)換規(guī)則有哪些?

答:轉(zhuǎn)換的一般規(guī)則如下:

一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的

主碼。

對(duì)于實(shí)體間的聯(lián)系有以下不同的情況:

(1)1:1聯(lián)系一般是將聯(lián)系與任意一端實(shí)體所對(duì)應(yīng)的關(guān)系模式合并,即在一個(gè)實(shí)體

的關(guān)系模式的屬性中加入另一個(gè)實(shí)體的碼和聯(lián)系本身的屬性。

(2)1:n聯(lián)系一般與n端所對(duì)應(yīng)的關(guān)系模式合并,即在n端對(duì)應(yīng)的關(guān)系模式中加入

1端實(shí)體的碼以及聯(lián)系本身的屬性。

(3)m:n聯(lián)系必須轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式。與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)

系本身的屬性均轉(zhuǎn)換為此關(guān)系模式的屬性,且關(guān)系模式的主碼包含各實(shí)體的碼。

(4)有相同主碼的關(guān)系模式可以合并。

7.數(shù)據(jù)模型的優(yōu)化包含哪些方法?

答:數(shù)據(jù)模型的優(yōu)化通常以關(guān)系規(guī)范化理論為指導(dǎo),并考慮系統(tǒng)的性能。具體為:

(1)確定各屬性間的函數(shù)依賴(lài)關(guān)系。根據(jù)需求分析階段得出的語(yǔ)義,分別寫(xiě)出每個(gè)關(guān)系

模式的各屬性之間的函數(shù)依賴(lài)以及不同關(guān)系模式中各屬性之間的數(shù)據(jù)依賴(lài)關(guān)系。

(2)對(duì)各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴(lài)進(jìn)行極小化處理,消除冗余的聯(lián)系。

(3)判斷每個(gè)關(guān)系模式的范式,根據(jù)實(shí)際需要確定最合適的范式。

(4)根據(jù)需求分析階段得到的處理要求,分析這些模式對(duì)于這樣的應(yīng)用環(huán)境是否合適,

確定是否要對(duì)某些模式進(jìn)行分解或合并。

(5)對(duì)關(guān)系模式進(jìn)行必要的分解,以提高數(shù)據(jù)的操作效率和存儲(chǔ)空間的利用率。常用的

分解方法是水平分解和垂直分解。

8.圖7-28(a)~(d)所示為某企業(yè)信息管理系統(tǒng)中的局部E-R圖,請(qǐng)將這些局部E-R

圖合并為一個(gè)全局E-R圖,并指明各實(shí)體以及聯(lián)系的屬性,標(biāo)明聯(lián)系的種類(lèi)(注:

為使圖形簡(jiǎn)潔明了,在全局E-R圖中可只畫(huà)出實(shí)體和聯(lián)系,屬性單獨(dú)用文字描述)。

將合并后的E-R圖轉(zhuǎn)換為符合3NF要求的關(guān)系模式,并說(shuō)明主碼和外碼。

9.將下列E-R圖轉(zhuǎn)換為符合3NF的關(guān)系模式,并指出每個(gè)關(guān)系模式的主碼和外碼。

(1)圖8-27所示為描述圖書(shū)、讀者以及讀者借閱圖書(shū)的E-R圖。

答:對(duì)圖書(shū)、讀者E-R模型,轉(zhuǎn)換后的關(guān)系模式為:

圖書(shū)(書(shū)號(hào),書(shū)名,出版日期,作者)

讀者(讀者編號(hào),讀者姓名,聯(lián)系電話(huà),所在單位)

借閱(書(shū)號(hào),讀者編號(hào),借書(shū)日期)書(shū)號(hào)為引用圖書(shū)的外碼,讀者編號(hào)為引用讀者

的外碼。

(2)

廠(chǎng)家(廠(chǎng)家編號(hào),聯(lián)系地址,聯(lián)系電話(huà))

商店(商店編號(hào),商店名,聯(lián)系電話(huà))

商品(商品編號(hào),商品名稱(chēng),庫(kù)存量,商品分類(lèi)),

訂購(gòu)(商店號(hào),廠(chǎng)家編號(hào),商品編號(hào),訂購(gòu)日期,訂購(gòu)數(shù)量),商店號(hào)為引用商店的

外碼,商品編號(hào)為引用商品的外瑪,廠(chǎng)家編號(hào)為引用廠(chǎng)家的外碼。

(3)

學(xué)生(學(xué)號(hào),姓名,性別,專(zhuān)業(yè),社團(tuán)號(hào),參加日期),社團(tuán)號(hào)是引用社團(tuán)的外碼。

社團(tuán)(社團(tuán)號(hào),社團(tuán)名,電話(huà),性質(zhì))

第9章SQLServer基礎(chǔ)

二.SQLServer2012提供了幾個(gè)版本?

答:提供了企業(yè)版、商業(yè)智能版、標(biāo)準(zhǔn)版、開(kāi)發(fā)版、簡(jiǎn)易版。

對(duì)操作系統(tǒng)的要求:

2.安裝SQLServer2012對(duì)硬盤(pán)及內(nèi)存的要求分別是什么?

答:全部安裝大概需要4GB空間,內(nèi)存不小于IGBo

3.SQLServer實(shí)例的含義是什么?實(shí)例名的作用是什么?

答:實(shí)例代表一個(gè)實(shí)際安裝的SQLServer,實(shí)例名標(biāo)識(shí)了每個(gè)不同的實(shí)例。

4.SQLServer2012的核心引擎是什么?

答:SQLServer(MSSQLSERVER)。

5.SQLServer2012提供的設(shè)置服務(wù)啟動(dòng)方式的工具是哪個(gè)?

答:SQLServerConfigurationManager。

7.提供通過(guò)圖形化方法操作數(shù)據(jù)庫(kù)的工具是哪個(gè)?

答:SQLServerManagementStudio。

第10章數(shù)據(jù)庫(kù)及表的創(chuàng)建與管理

1.根據(jù)數(shù)據(jù)庫(kù)用途的不同,SQLServer將數(shù)據(jù)庫(kù)分為哪兩類(lèi)?

答:系統(tǒng)數(shù)據(jù)庫(kù)和用戶(hù)數(shù)據(jù)庫(kù)。

2.安裝完SQLServer之后系統(tǒng)提供了哪些系統(tǒng)數(shù)據(jù)庫(kù)?每個(gè)系統(tǒng)數(shù)據(jù)庫(kù)的作用是什么?

答:4個(gè)系統(tǒng)數(shù)據(jù)庫(kù):master、msdb>model和tempdbo

?master:用于記錄SQLServer系統(tǒng)中所有系統(tǒng)級(jí)信息。

?msdb:供SQLServer代理服務(wù)調(diào)度報(bào)警和作業(yè)以及記錄操作員時(shí)使用,保

存關(guān)于調(diào)度報(bào)警、作業(yè)、操作員等信息。

?mode1:包含所有用戶(hù)數(shù)據(jù)庫(kù)的共享信息。

?tempdb:是臨時(shí)數(shù)據(jù)走,用于存儲(chǔ)用戶(hù)創(chuàng)建的臨時(shí)表、用戶(hù)聲明的變量以及

用戶(hù)定義的游標(biāo)數(shù)據(jù)等,并為數(shù)據(jù)的排序等操作提供一個(gè)臨時(shí)工作空間。

3.SQLServer數(shù)據(jù)庫(kù)由哪兩類(lèi)文件組成?這些文件的推薦擴(kuò)展名分別是什么?

答:數(shù)據(jù)文件和日志文件。數(shù)據(jù)文件中主數(shù)據(jù)文件的推薦擴(kuò)展名為:.mdf;次要數(shù)據(jù)文

件的推薦擴(kuò)展名為:.ndf。日志文件的推薦擴(kuò)展名為:

4.SQLServer數(shù)據(jù)庫(kù)可以包含幾個(gè)主要數(shù)據(jù)文件?幾個(gè)次要數(shù)據(jù)文件?幾個(gè)日志文件?

答:1個(gè)主數(shù)據(jù)文件,。個(gè)或多個(gè)次要數(shù)據(jù)文件,1個(gè)或多個(gè)日志文件。

5.數(shù)據(jù)文件和口志文件分別包含哪些屬性?

答:包含:邏輯文件名、物理存儲(chǔ)位置、初始大小、增長(zhǎng)方式、最大大小5個(gè)屬性。

6.SQLServer中數(shù)據(jù)的存儲(chǔ)單位是什么?存儲(chǔ)單位對(duì)存儲(chǔ)數(shù)據(jù)有何限制?

答:數(shù)據(jù)頁(yè)。數(shù)據(jù)頁(yè)是數(shù)據(jù)的最小存儲(chǔ)分配單位,其大小也就是表中一行數(shù)據(jù)的最大大

小,因?yàn)樾胁荒芸珥?yè)存儲(chǔ)。

7.SQLServer2012每個(gè)數(shù)據(jù)頁(yè)的大小是多少?數(shù)據(jù)頁(yè)的大小對(duì)表中一行數(shù)據(jù)大小的限制

有何關(guān)系?

答:8KB。表中一行數(shù)據(jù)的大小不能超過(guò)一個(gè)數(shù)據(jù)頁(yè)的大小。

8.如何估算某個(gè)數(shù)據(jù)表所占的存儲(chǔ)空間?如果某個(gè)數(shù)據(jù)表包含20000行數(shù)據(jù),每行的

大小是5000字節(jié),則此數(shù)據(jù)庫(kù)表大約需要多少存儲(chǔ)空間?在這些存儲(chǔ)空間中,有多少

空間是浪費(fèi)的?

答:根據(jù)數(shù)據(jù)是按數(shù)據(jù)頁(yè)存儲(chǔ),且行不能跨頁(yè)存儲(chǔ)的原則即可估算出一個(gè)數(shù)據(jù)表所占的

大致空間。需要160MB。有差不多3/8是浪費(fèi)的。

9.用戶(hù)創(chuàng)建數(shù)據(jù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論