數(shù)據(jù)庫原理與應(yīng)用(第3版)答案_第1頁
數(shù)據(jù)庫原理與應(yīng)用(第3版)答案_第2頁
數(shù)據(jù)庫原理與應(yīng)用(第3版)答案_第3頁
數(shù)據(jù)庫原理與應(yīng)用(第3版)答案_第4頁
數(shù)據(jù)庫原理與應(yīng)用(第3版)答案_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.數(shù)據(jù)庫原理與應(yīng)用(第三版)習(xí)題參考答案第 1 章 數(shù)據(jù)庫概述1 試說明數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的概念。答:數(shù)據(jù)是描述事物的符號(hào)記錄。數(shù)據(jù)庫是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)中的有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫管理系統(tǒng)是一個(gè)專門用于實(shí)現(xiàn)對(duì)數(shù)據(jù)進(jìn)行管理和維護(hù)的系統(tǒng)軟件。數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及相關(guān)的實(shí)用工具)、應(yīng)用程序、數(shù)據(jù)庫管理員組成。2 數(shù)據(jù)管理技術(shù)的發(fā)展主要經(jīng)歷了哪幾個(gè)階段? 答:文件管理和數(shù)據(jù)庫管理。3 與文件管理相比,數(shù)據(jù)庫管理有哪些優(yōu)點(diǎn)?答:與文件系統(tǒng)管理數(shù)據(jù)相比,數(shù)據(jù)庫系統(tǒng)管理數(shù)據(jù)帶來了如下好處:將相互關(guān)聯(lián)的數(shù)據(jù)集成在一起

2、,較少的數(shù)據(jù)冗余,程序與數(shù)據(jù)相互獨(dú)立,保證數(shù)據(jù)的安全可靠,最大限度地保證數(shù)據(jù)的正確性,數(shù)據(jù)可以共享并能保證數(shù)據(jù)的一致性。4 在數(shù)據(jù)庫管理方式中,應(yīng)用程序是否需要關(guān)心數(shù)據(jù)的存儲(chǔ)位置和存儲(chǔ)結(jié)構(gòu)?為什么?答:不需要。因?yàn)閿?shù)據(jù)庫管理系統(tǒng)提供了邏輯獨(dú)立性和物理獨(dú)立性。5 在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫的作用是什么?答:數(shù)據(jù)庫是數(shù)據(jù)的匯集,它以一定的組織形式保存在存儲(chǔ)介質(zhì)上。6 在數(shù)據(jù)庫系統(tǒng)中,應(yīng)用程序可以不通過數(shù)據(jù)庫管理系統(tǒng)而直接訪問數(shù)據(jù)文件嗎?答:不能7 數(shù)據(jù)獨(dú)立性指的是什么?它能帶來哪些好處?答:數(shù)據(jù)獨(dú)立性是指應(yīng)用程序不會(huì)因數(shù)據(jù)的物理表示方式和訪問技術(shù)的改變而改變,即應(yīng)用程序不依賴于任何特定的物理表示方式和

3、訪問技術(shù),它包含兩個(gè)方面:邏輯獨(dú)立性和物理獨(dú)立性。物理獨(dú)立性是指當(dāng)數(shù)據(jù)的存儲(chǔ)位置或存儲(chǔ)結(jié)構(gòu)發(fā)生變化時(shí),不影響應(yīng)用程序的特性;邏輯獨(dú)立性是指當(dāng)表達(dá)現(xiàn)實(shí)世界的信息內(nèi)容發(fā)生變化時(shí),不影響應(yīng)用程序的特性。8 數(shù)據(jù)庫系統(tǒng)由哪幾部分組成,每一部分在數(shù)據(jù)庫系統(tǒng)中的作用大致是什么?答:數(shù)據(jù)庫系統(tǒng)一般包括數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及相應(yīng)的實(shí)用工具)、應(yīng)用程序和數(shù)據(jù)庫管理員四個(gè)部分。數(shù)據(jù)庫是數(shù)據(jù)的匯集,它以一定的組織形式保存在存儲(chǔ)介質(zhì)上;數(shù)據(jù)庫管理系統(tǒng)是管理數(shù)據(jù)庫的系統(tǒng)軟件,它可以實(shí)現(xiàn)數(shù)據(jù)庫系統(tǒng)的各種功能;應(yīng)用程序?qū)V敢詳?shù)據(jù)庫數(shù)據(jù)為基礎(chǔ)的程序,數(shù)據(jù)庫管理員負(fù)責(zé)整個(gè)數(shù)據(jù)庫系統(tǒng)的正常運(yùn)行。第2章 數(shù)據(jù)模型與數(shù)據(jù)庫結(jié)構(gòu)1

4、 解釋數(shù)據(jù)模型的概念,為什么要將數(shù)據(jù)模型分成兩個(gè)層次?答:答:數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。數(shù)據(jù)模型一般要滿足三個(gè)條件:第一是數(shù)據(jù)模型要能夠比較真實(shí)地模擬現(xiàn)實(shí)世界;第二是數(shù)據(jù)模型要容易被人們理解;第三是數(shù)據(jù)模型要能夠很方便地在計(jì)算機(jī)上實(shí)現(xiàn)。由于用一種模型來同時(shí)很好地滿足這三方面的要求在目前是比較困難的,因此在數(shù)據(jù)庫系統(tǒng)中就可以針對(duì)不同的使用對(duì)象和應(yīng)用目的,采用不同的數(shù)據(jù)模型。根據(jù)模型應(yīng)用的不同目的,將這些模型分為兩大類:概念層數(shù)據(jù)模型和組織層數(shù)據(jù)模型,以方便對(duì)信息的描述。2 概念層數(shù)據(jù)模型和組織層數(shù)據(jù)模型分別是針對(duì)什么進(jìn)行的抽象?答:概念層數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界的抽象,形成信息世界模型,組

5、織層數(shù)據(jù)模型是對(duì)信息世界進(jìn)行抽象和轉(zhuǎn)換,形成具體的DBMS支持的數(shù)據(jù)組織模型。3 實(shí)體之間的聯(lián)系有哪幾種?請(qǐng)為每一種聯(lián)系舉出一個(gè)例子。答:實(shí)體之間的聯(lián)系有一對(duì)一、一對(duì)多和多對(duì)多三種。例如:系和正系主任是一對(duì)一聯(lián)系(假設(shè)一個(gè)系只有一個(gè)正系主任),系和教師是一對(duì)多聯(lián)系(假設(shè)一個(gè)教師只在一個(gè)系工作),教師和課程是多對(duì)多聯(lián)系(假設(shè)一個(gè)教師可以講授多門課程,一門課程可由多個(gè)教師講授)。4 說明實(shí)體-聯(lián)系模型中的實(shí)體、屬性和聯(lián)系的概念。5指明下列實(shí)體間聯(lián)系的種類:(1)教研室和教師(設(shè)一個(gè)教師只屬于一個(gè)教研室,一個(gè)教研室可有多名教師)。(2)商品和顧客。(3)國(guó)家和首都(假設(shè)一個(gè)國(guó)家的首都可以變化)。(4

6、)飛機(jī)和乘客。(5)銀行和賬戶。(6)圖書和借閱者。(設(shè)一個(gè)借閱者可同時(shí)借閱多本書,可在不同時(shí)間對(duì)同一本書借閱多次)6數(shù)據(jù)庫系統(tǒng)包含哪三級(jí)模式?試分別說明每一級(jí)模式的作用?答:數(shù)據(jù)庫系統(tǒng)包含的三級(jí)模式為:內(nèi)模式、模式和外模式。外模式是對(duì)現(xiàn)實(shí)系統(tǒng)中用戶感興趣的整體數(shù)據(jù)結(jié)構(gòu)的局部描述,用于滿足不同數(shù)據(jù)庫用戶需求的數(shù)據(jù)視圖,是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是對(duì)數(shù)據(jù)庫整體數(shù)據(jù)結(jié)構(gòu)的子集或局部重構(gòu)。模式是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。內(nèi)模式是對(duì)整個(gè)數(shù)據(jù)庫的底層表示,它描述了數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。7 數(shù)據(jù)庫管理系統(tǒng)提供的兩級(jí)映像的作用是什么?它帶來

7、了哪些功能?答:數(shù)據(jù)庫系統(tǒng)的兩級(jí)映象是模式與內(nèi)描述間的映象和外模式與模式間的映象。模式內(nèi)模式的映象帶來了物理獨(dú)立性,即如果數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變了,可通過調(diào)整模式內(nèi)模式的映象,使模式能夠保持不變。外模式概念模式間的映象帶來了邏輯獨(dú)立性,當(dāng)概念模式的結(jié)構(gòu)可發(fā)生改變時(shí),也可通過調(diào)整外模式/模式間的映象關(guān)系,使外模式可以保持不變。8數(shù)據(jù)庫三級(jí)模式劃分的優(yōu)點(diǎn)是什么?它能帶來哪些數(shù)據(jù)獨(dú)立性?答:數(shù)據(jù)庫的三級(jí)模式的劃分實(shí)際上將用戶、邏輯數(shù)據(jù)庫與物理數(shù)據(jù)庫進(jìn)行了劃分,使彼此之間的相互干擾減到最少。這三個(gè)模式的劃分實(shí)際上帶來了兩個(gè)數(shù)據(jù)獨(dú)立性:物理獨(dú)立性和邏輯獨(dú)立性。這使得底層的修改和變化盡量不影響到上層。第3章

8、 關(guān)系數(shù)據(jù)庫1 試述關(guān)系模型的三個(gè)組成部分。答:關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束。2 解釋下列術(shù)語的含義:(1) 笛卡爾積:設(shè)D1,D2,Dn為任意集合,定義笛卡爾積D1,D2,Dn為:D1D2 Dn (d1,d2,dn) | di Di,i1,2,n (2) 主鍵:也稱主碼為或主關(guān)鍵字,是表中的屬性或?qū)傩越M,用于惟一地確定一個(gè)元組。(3) 候選鍵:如果一個(gè)屬性或?qū)傩约闹的軌蛭┮粯?biāo)識(shí)一個(gè)關(guān)系的元組而又不包含多余的屬性,則稱該屬性或?qū)傩约癁楹蜻x鍵。(4) 外鍵:設(shè)F是關(guān)系R的一個(gè)或一組屬性,如果F與關(guān)系S的主鍵相對(duì)應(yīng),則稱F是關(guān)系R的外鍵。(5) 關(guān)系:關(guān)系就是簡(jiǎn)單二維表。(6) 關(guān)

9、系模式:二維表的結(jié)構(gòu)稱為關(guān)系模式。(7) 關(guān)系數(shù)據(jù)庫:對(duì)應(yīng)于一個(gè)關(guān)系模型的所有關(guān)系的集合稱為關(guān)系數(shù)據(jù)庫。3 關(guān)系數(shù)據(jù)庫的三個(gè)完整性約束是什么?各是什么含義?答:實(shí)體完整性、參照完整性和用戶定義的完整性。實(shí)體完整性是保證關(guān)系中的每個(gè)元組都是可識(shí)別的和惟一的。參照完整性也稱為引用完整性,用于表達(dá)現(xiàn)實(shí)世界中的實(shí)體之間的關(guān)聯(lián)關(guān)系。用戶定義的完整性也稱為域完整性或語義完整性,用于保證數(shù)據(jù)庫中存儲(chǔ)的值與現(xiàn)實(shí)世界相符。4 連接運(yùn)算有哪些?等值連接和自然連接的區(qū)別是什么?答:連接運(yùn)算中最重要也是最常用的連接有兩個(gè),一個(gè)是等值連接,一個(gè)是自然連接。自然連接與等值連接的差別為:l 自然連接要求相等的分量必須有共同

10、的屬性名,等值連接則不要求;l 自然連接要求把重復(fù)的屬性名去掉,等值連接卻不這樣做。5 對(duì)參與并、交、差運(yùn)算的兩個(gè)關(guān)系R、S有什么要求?答:必須結(jié)構(gòu)相同,且相應(yīng)的屬性值取自同一個(gè)值域。6 對(duì)參與除運(yùn)算的兩個(gè)關(guān)系(RS)有什么要求?除運(yùn)算的結(jié)果關(guān)系中包含哪些屬性?答:R中必須包含S的全部或部分屬性,除運(yùn)算的結(jié)果包含的屬性是只屬于R不屬于S的屬性。7 對(duì)參與自然連接和等值連接操作的兩個(gè)關(guān)系R、S有什么要求? 答:有語義相同的屬性。8 投影操作的結(jié)果關(guān)系中是否有可能存在重復(fù)的記錄?為什么?答:不可能,因?yàn)橥队斑\(yùn)算會(huì)自動(dòng)去掉投影后重復(fù)的記錄。9利用表3-10至3-12所示的三個(gè)關(guān)系,寫出實(shí)現(xiàn)如下查詢要

11、求的關(guān)系代數(shù)表達(dá)式。(1)查詢“信息系”學(xué)生的選課情況,列出學(xué)號(hào)、姓名、課程號(hào)和成績(jī)。Sno, Sname, Cno, Grade(Sdept=信息系(SC Student)或:Sno, Sname, Cno, Grade(SC Sdept=信息系(Student)(2) 查詢“VB”課程的考試情況,列出學(xué)生姓名、所在系和考試成績(jī)。Sname, Sdept, Grade(Cname=VB(Coure SC Student)或:Sname, Sdept, Grade(Cname=VB(Coure) SC Student)(3) 查詢考試成績(jī)高于90分的學(xué)生的姓名、課程名和成績(jī)。Sname, Cn

12、ame, Grade(Grade90(Coure SC Student)或:Sname, Cname, Grade(Coure Grade90(SC) Student)(4) 查詢至少選修了0512101號(hào)學(xué)生所選的全部課程的學(xué)生的姓名和所在系。Sname, Sdept(Student (SC Cno(sno=0512101(SC))(5) 查詢至少選了“C01”和“C02”兩門課程的學(xué)生的姓名、所在系和所選的課程號(hào)。Sname, Sdept, Cno(Student (SC Sno(cno=C01 V Cno=C02(SC))(6) 查詢沒有選修第1學(xué)期開設(shè)的全部課程的學(xué)生的學(xué)號(hào)、姓名和所選

13、的課程號(hào)。Sno, Sname, Cno(Student SC (sno(SC) - sno(semester=1(Course)SC)(7) 查詢計(jì)算機(jī)系和信息系選了VB課程的學(xué)生姓名。Sname(sdept=計(jì)算機(jī)系V sdept=信息系) cname=vb(StudentSC Course)或:Sname(sdept=計(jì)算機(jī)系V sdept=信息系(Student)SC cname=vb(Course)第4章 SQL Server 2012基礎(chǔ)1 安裝SQL Server 2012對(duì)硬盤及內(nèi)存的要求分別是什么?答:SQL Server 2012實(shí)際硬盤空間需求取決于系統(tǒng)配置和您決定安裝的

14、功能,一般應(yīng)確保系統(tǒng)驅(qū)動(dòng)器中是否有至少 6.0 GB 的可用磁盤空間。內(nèi)存:Express 版本:最少512 MB;其他版本:最少1 GB。2 SQL Server實(shí)例的含義是什么?實(shí)例名的作用是什么?答:一個(gè)實(shí)例代表一個(gè)獨(dú)立的數(shù)據(jù)庫管理系統(tǒng)。實(shí)例名是實(shí)例的標(biāo)識(shí),用戶通過“計(jì)算機(jī)名/實(shí)例名”的方式可訪問指定的命令實(shí)例。3 SQL Server 2012的核心引擎是什么?答:SQL Server(MSSQLSERVER)4 SQL Server 2012提供的設(shè)置服務(wù)啟動(dòng)方式的工具是哪個(gè)?答:配置管理器5 在SQL Server 2012中,每個(gè)數(shù)據(jù)庫至少包含幾個(gè)文件?答:2個(gè)文件,一個(gè)數(shù)據(jù)文件

15、,一個(gè)日志文件6 SQL Server 2012數(shù)據(jù)庫文件分為幾類?每個(gè)文件有哪些屬性?答:主要數(shù)據(jù)文件和次要數(shù)據(jù)文件,屬性有:物理文件名及其位置、邏輯文件名、初始大小、增長(zhǎng)方式、最大大小。第 5 章 數(shù)據(jù)類型及關(guān)系表創(chuàng)建1 Tinyint數(shù)據(jù)類型定義的數(shù)據(jù)的取值范圍是多少?答:0-2552 SmallDatatime類型精確到哪個(gè)時(shí)間單位?答:分鐘3 定點(diǎn)小數(shù)類型numeric中的p和q的含義分別是什么?答:p代表整數(shù)位數(shù)+小數(shù)位數(shù)的和值,q代表小數(shù)位數(shù)。4 Char(n)、nchar(n)的區(qū)別是什么?它們各能存放多少個(gè)字符?答:Char(n)中的n代表能存放n個(gè)字節(jié)的字符,如果是字母可以

16、存放n個(gè),如果是漢字可存放n/2個(gè)。Nchar(n)中的n代表能存放的字符個(gè)數(shù)。5 Char(n)和varchar(n)的區(qū)別是什么? 答:Char(n)是定長(zhǎng)存儲(chǔ),一定占n個(gè)字節(jié)的空間。Varchar(n)代表最多占n個(gè)字節(jié)的空間。6 數(shù)據(jù)完整性約束的作用對(duì)象有哪些?答:表和列7 CHECK約束的作用是什么?答:限制列的取值范圍。8 UNIQUE約束的作用是什么?答:限制列取值不重。9 DEFAULT約束的作用是什么?答:提供列的默認(rèn)值。上機(jī)練習(xí)1 在第4章創(chuàng)建的Students數(shù)據(jù)庫中,寫出創(chuàng)建如下三張表的SQL語句,要求在定義表的同時(shí)定義數(shù)據(jù)的完整性約束:(1)“圖書”表結(jié)構(gòu)如下: 書號(hào)

17、:統(tǒng)一字符編碼定長(zhǎng)類型,長(zhǎng)度為6,主鍵; 書名:統(tǒng)一字符編碼可變長(zhǎng)類型,長(zhǎng)度為30,非空; 第一作者:普通編碼定長(zhǎng)字符類型,長(zhǎng)度為10,非空; 出版日期:小日期時(shí)間型; 價(jià)格:定點(diǎn)小數(shù),小數(shù)部分1位,整數(shù)部分3位。create table 圖書( 書號(hào) nchar(6) primary key, 書名 nvarchar(30) not null, 第一作者 char(10) not null, 出版日期 smalldate, 價(jià)格 numeric(4,1)(2)“書店”表結(jié)構(gòu)如下: 書店編號(hào):統(tǒng)一字符編碼定長(zhǎng)類型,長(zhǎng)度為6,主鍵; 店名:統(tǒng)一字符編碼可變長(zhǎng)類型,長(zhǎng)度為30,非空; 電話:普通編

18、碼定長(zhǎng)字符類型,8位長(zhǎng),每一位的取值均是09的數(shù)字; 地址:普通編碼可變長(zhǎng)字符類型,40位長(zhǎng)。 郵政編碼:普通編碼定長(zhǎng)字符類型,6位長(zhǎng)。create table 書店( 書店編號(hào) nchar(6) primary key, 店名 nvarchar(30) not null 電話 char(8) check(電話 like 0-90-90-90-90-90-90-90-9), 地址 varchar(40), 郵政編碼 char(6)(3)“圖書銷售”表結(jié)構(gòu)如下: 書號(hào):統(tǒng)一字符編碼定長(zhǎng)類型,長(zhǎng)度為6,非空; 書店編號(hào):統(tǒng)一字符編碼定長(zhǎng)類型,長(zhǎng)度為6,非空; 銷售日期:小日期時(shí)間型,非空; 銷售數(shù)

19、量:小整型,大于等于1。 主鍵為(書號(hào),書店編號(hào),銷售日期); 其中“書號(hào)”為引用“圖書表”的“書號(hào)”的外鍵;“書店編號(hào)”為引用“書店表”的“書店編號(hào)”的外鍵。create table 圖書銷售( 書號(hào) nchar(6) not null, 書店編號(hào) nchar(6) not null, 銷售日期 samlldate, 銷售數(shù)量 smallint check(銷售數(shù)量 = 1), primary key(書號(hào), 書店編號(hào), 銷售日期), foreign key(書號(hào)) references 圖書(書號(hào)), foreign key(書店編號(hào)) references 書店(書店編號(hào))2 為圖書表添

20、加“印刷數(shù)量”列,類型為整數(shù),同時(shí)添加取值大于等于1000的約束。 Alter table 圖書 add 印刷數(shù)量 int check(印刷數(shù)量 = 1000)3 刪除書店表中的“郵政編碼”列。 Alter table 書店 drop column 郵政編碼4 將圖書銷售表中的“銷售數(shù)量”列的數(shù)據(jù)類型改為整型。Alter table 圖書 alter column 銷售數(shù)量 int第 6 章 數(shù)據(jù)操作語句1. 簡(jiǎn)單說明SELECT語句中,F(xiàn)ROM、WHERE、GROUP BY、HAVING子句的作用。答:FROM子句指定數(shù)據(jù)來自的表,WHERE子句指定行數(shù)據(jù)的篩選條件,GROUP BY子句指定

21、用于分組的列,HAVING子句用于對(duì)分組后的統(tǒng)計(jì)值進(jìn)行篩選。2. 簡(jiǎn)單說明COUNT(*)與COUNT(列名)的區(qū)別。答:COUNT(*)用于統(tǒng)計(jì)行的個(gè)數(shù),并且不忽略NULL;COUNT(列名)用于統(tǒng)計(jì)該列中非空值個(gè)數(shù),這個(gè)函數(shù)會(huì)去掉NULL。3. 在聚合函數(shù)中,不忽略空值的函數(shù)是哪個(gè)?答:COUNT(*)4. 哪些數(shù)據(jù)類型的列可以使用SUM(列名)和AVG(列名)函數(shù)?答:數(shù)值類型的列5. 外連接和內(nèi)連接的區(qū)別是什么?答:外連接結(jié)果會(huì)包含連接中一個(gè)表的全部數(shù)據(jù),內(nèi)連接結(jié)果是只包含兩個(gè)表中滿足連接條件的數(shù)據(jù)。6. TOP子句的作用是什么?答:限定取查詢結(jié)果中的前若干行數(shù)據(jù)。7. DISTINC

22、T子句的作用是去掉表中的重復(fù)行數(shù)據(jù),這個(gè)說法對(duì)嗎?答:應(yīng)該是去掉查詢結(jié)果中的重復(fù)行數(shù)據(jù)。8. 簡(jiǎn)單說明嵌套子查詢的執(zhí)行順序。答:嵌套子查詢是先執(zhí)行子查詢,然后在根據(jù)子查詢結(jié)果執(zhí)行外層查詢。上機(jī)練習(xí)1 查詢學(xué)生選課表中的全部數(shù)據(jù)。答:select * from SC2 查詢計(jì)算機(jī)系的學(xué)生姓名、年齡。答:select sname, sage from student where sdept = 計(jì)算機(jī)系3 查詢成績(jī)?cè)?080分之間的學(xué)生學(xué)號(hào)、課程號(hào)和成績(jī)。答:select sno,cno,grade from sc where grade between 70 and 804 查詢計(jì)算機(jī)系年齡在1

23、820且性別為“男”的學(xué)生姓名、年齡。答:select sname,sage from student where sdept = 計(jì)算機(jī)系 and sage between 18 and 20 and ssex = 男5 查詢“c01”課程最高分。答:select max(grade) from sc where cno = C016 查詢計(jì)算機(jī)系學(xué)生的最大年齡和最小年齡。答:select max(sage) as max_age, min(sage) as min_age from student where sdept = 計(jì)算機(jī)系7 統(tǒng)計(jì)每個(gè)系的學(xué)生人數(shù)。答:select sdept,

24、 count(*) 學(xué)生人數(shù) from student group by sdept8 統(tǒng)計(jì)每個(gè)學(xué)生的選課門數(shù)和考試總成績(jī),并按選課門數(shù)升序顯示結(jié)果(不包括沒選課的學(xué)生)。答:select sno,count(*) 選課門數(shù), sum(grade) 考試總成績(jī) from sc group by sno order by count(*) asc9 查詢總成績(jī)超過200分的學(xué)生,列出學(xué)號(hào)、總成績(jī)。答:select sno,sum(grade) 總成績(jī) from sc group by sno having sum(grade) 20010 查詢選了“c02”課程的學(xué)生姓名和所在系。答:selec

25、t sname,sdept from student s join sc on s.sno = sc.sno where cno = C0211 查詢成績(jī)80分以上的學(xué)生姓名、課程號(hào)和成績(jī),并按成績(jī)降序排列結(jié)果。答:select sname,cno,grade from student s join sc on s.sno = sc.sno where grade 80 order by grade desc12 查詢哪些學(xué)生沒有選課,要求列出學(xué)號(hào)、姓名和所在系。答:select s.sno, sname, sdept from student s left join sc on s.sno

26、= sc.snoWhere sc.sno is null13 統(tǒng)計(jì)每門課程的選課人數(shù),列出課程號(hào)和選課人數(shù)。( 包括沒人選的課程)答:select o,count(o) 選課人數(shù)from course c left join sc on o = oGroup by o14 查詢與VB在同一學(xué)期開設(shè)的課程的課程名和開課學(xué)期。答:select ame,c2.semesterfrom course c1 join course c2 on c1.semester = c2.semesterWhere ame = VB and

27、ame != VB15 查詢與李勇年齡相同的學(xué)生的姓名、所在系和年齡。答:select S2.Sname,S2.Sdept, S2.sagefrom student s1 join student s2 on s1.sage = s2.sageWhere s1.sname = 李勇 and s2.sname != 李勇16 查詢計(jì)算機(jī)系年齡最小的2名學(xué)生的姓名和年齡。答:select top 2 with ties sname, sagefrom student Where sdept = 計(jì)算機(jī)系Order by sage asc17 查詢VB成績(jī)最高的前2名學(xué)生的姓名、所在系和VB成績(jī),包

28、括并列的情況。答:select top 2 with ties sname, sdept, gradefrom student s join sc on s.sno = sc.snoJoin course c on o = oWhere cname = VBOrder by grade desc18 查詢選課門數(shù)最多的前2名學(xué)生的學(xué)號(hào)和選課門數(shù),包括并列的情況。答:select top 2 with ties sno, count(*) 選課門數(shù)from sc Group by snoOrder by count(*) desc19 查詢學(xué)生人數(shù)最多的系,列出系名和人數(shù)。答:

29、select top 1 with ties sdept, count(*) 人數(shù)from studentGroup by sdeptOrder by count(*) desc20 用子查詢實(shí)現(xiàn)如下查詢:(1) 查詢選修了“c01”號(hào)課程的學(xué)生姓名和所在系。答:select sname, sdept from student where sno in( select sno from sc where cno = C01)(2) 查詢數(shù)學(xué)系成績(jī)80分以上的學(xué)生學(xué)號(hào)、姓名、課程號(hào)和成績(jī)。答:select sno,sname,cno,gradefrom student s join sc on

30、s.sno = sc.snowhere s.sno in( select sno from sc where grade 80) and sdept = 數(shù)學(xué)系(3) 查詢計(jì)算機(jī)系考試成績(jī)最高的學(xué)生姓名。答:select sname from student where sno in( select top 1 sno from sc join student s on s.sno = sc.snowhere sdept = 計(jì)算機(jī)系Order by grade desc )(4) 查詢數(shù)據(jù)結(jié)構(gòu)考試成績(jī)最高的學(xué)生姓名、所在系、性別和成績(jī)。答:select sname,sdept,ssex,gr

31、ade from student s join sc on s.sno = sc.sno where s.sno in( Select top 1 sno from sc join course c on o = o Where cname = 數(shù)據(jù)結(jié)構(gòu) Order by grade desc )21. 查詢沒選VB課程的學(xué)生姓名和所在系。答:select sname,sdept from student Where sno not in ( Select sno from sc join course c on o = o Where cname = VB

32、 )22. 查詢計(jì)算機(jī)系沒選課的學(xué)生的姓名和性別。答:select sname,ssex from student Where sdept = 計(jì)算機(jī)系A(chǔ)nd sno not in ( Select sno from sc )23. 查詢計(jì)算機(jī)系考試平均成績(jī)最低的學(xué)生的姓名及所選的課程名。答:select sname,cname from student s join sc on s.sno = sc.sno Join course c on o = o where s.sno in ( Select top 1 sno from sc Where sdept = 計(jì)算機(jī)系

33、Group by sno Order by avg(grade) asc )24. 查詢15學(xué)期中,選課人數(shù)最少的課程的課程名、開課學(xué)期和學(xué)分。答:select cname,semester,credit from course Where semester between 1 and 5And cno in (Select top 1 cno from sc Group by cno Order by count(*) desc )25. 查詢計(jì)算機(jī)系每個(gè)學(xué)生的考試情況,列出姓名、課程名和考試成績(jī),并將查詢結(jié)果保存到一個(gè)新表中。新表名為:Computer_Dept答:select sname

34、,cname,grade into Computer_Deptfrom student s join sc on s.sno = sc.snoJoin course c on o = oWhere sdept = 計(jì)算機(jī)系26. 創(chuàng)建一個(gè)新表,表名為test_t,其結(jié)構(gòu)為:(COL1, COL 2, COL 3),其中:COL1:整型,允許空值。COL2:普通編碼字符型,長(zhǎng)度為10 ,不允許空值。COL3:普通編碼字符型,長(zhǎng)度為10 ,允許空值。試寫出按行插入如下數(shù)據(jù)的語句(空白處表示空值)。COL1COL2COL3B11B2C22B3答:create table test_

35、t( Col1 int, Col2 char(10) not null, Col3 char(10) ) Insert into test_t values(null,B1,null) Insert into test_t values(1,B2,C2) Insert into test_t values(2,B3,null)27. 刪除考試成績(jī)低于50分的學(xué)生的選課記錄。答:delete from sc where grade 5028. 刪除沒有人選的課程。答:delete from course where cno not in( Select cno from sc )29. 刪除計(jì)算

36、機(jī)系VB成績(jī)不及格學(xué)生的VB選課記錄。答:delete from sc From student s join sc on s.sno = oJoin course c on o = owhere sdept = 計(jì)算機(jī)系 and cname = VB and grade 、=、 和 、=、 和 = 60 Group by sno13利用第12題建立的視圖,完成如下查詢:(1)查詢考試成績(jī)大于等于90分的學(xué)生的姓名、課程名和成績(jī)。答:Select sname,cname,grade From v2 where grade = 90(2)查詢選課門數(shù)超過3門的學(xué)生的學(xué)

37、號(hào)和選課門數(shù)。答:Select * from v3 where total = 3(3)查詢計(jì)算機(jī)系選課門數(shù)超過3門的學(xué)生的姓名和選課門數(shù)。答:Select sname,total from v3 join student s on s.sno = v3.sno Where sdept = 計(jì)算機(jī)系 and total = 3(4)查詢修課總學(xué)分超過10分的學(xué)生的學(xué)號(hào)、姓名、所在系和修課總學(xué)分。答:Select v4.sno,sname,sdept,total_credit From v4 join student s on s.sno = v4.sno Where total_credit

38、= 10(5)查詢年齡大于等于20歲的學(xué)生中,修課總學(xué)分超過10分的學(xué)生的姓名、年齡、所在系和修課總學(xué)分。答:Select sname,sage,sdept,total_credit From v4 join student s on s.sno = v4.sno Where sage = 20 and total_credit = 1014修改12題(4)定義的視圖,使其查詢每個(gè)學(xué)生的學(xué)號(hào)、平均成績(jī)以及總的選課門數(shù)。答: Alter view v4 AsSelect sno,avg(grade) as avg_grade,count(*) as total_cno Group by sno第

39、8章 關(guān)系數(shù)據(jù)庫理論1. 關(guān)系規(guī)范化中的操作異常有哪些?它是由什么引起的?解決的辦法是什么? 答:增、刪、改異常。數(shù)據(jù)冗余引起。解決辦法:模式分解。2. 第一范式、第二范式和第三范式的定義分別是什么?答:第一范式:每個(gè)列都是原子項(xiàng)。第二范式:第一范式且不含部分函數(shù)依賴。第三范式:第二范式且不含傳遞函數(shù)依賴。3. 什么是部分函數(shù)依賴?什么是傳遞函數(shù)依賴?請(qǐng)舉例說明。答:如果XY,并且對(duì)于X的一個(gè)任意真子集X/ 都有X/ /Y,則稱Y完全函數(shù)依賴于X,記作XY;如果X/ Y成立,則稱Y部分函數(shù)依賴于X,記作XY。示例:學(xué)生修課(學(xué)號(hào),姓名,性別,選的課程號(hào),課程名,考試成績(jī)) 主鍵:(學(xué)號(hào),課程號(hào)

40、)因?yàn)閷W(xué)號(hào)-姓名,因此(學(xué)號(hào),課程號(hào))姓名4. 第三范式的關(guān)系模式是否一定不包含部分函數(shù)依賴?答:是5. 對(duì)于主鍵只由一個(gè)屬性組成的關(guān)系模式,如果它是第一范式的,則它是否一定也是第二范式的?答:是。6 設(shè)有關(guān)系模式:學(xué)生修課(學(xué)號(hào),姓名,所在系,性別,課程號(hào),課程名,學(xué)分,成績(jī))。設(shè)一個(gè)學(xué)生可以選多門課程,一門課程可以被多名學(xué)生選。一個(gè)學(xué)生有唯一的所在系,每門課程有唯一的課程名和學(xué)分。請(qǐng)指出此關(guān)系模式的候選鍵,判斷此關(guān)系模式是第幾范式的,若不是第三范式的,請(qǐng)將其規(guī)范化為第三范式關(guān)系模式,并指出分解后的每個(gè)關(guān)系模式的主鍵和外鍵。答:(1)候選碼:(學(xué)號(hào),課程號(hào))(2)學(xué)號(hào)姓名,學(xué)號(hào)所在系,學(xué)號(hào)性

41、別,課程號(hào)課程名,課程號(hào)學(xué)分, (學(xué)號(hào),課程號(hào))成績(jī)(3)屬于第二范式,因?yàn)榇嬖诓糠趾瘮?shù)依賴:學(xué)號(hào)姓名。(4)第三范式關(guān)系模式:學(xué)生(學(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),班主任,系主任),其語義為:一個(gè)學(xué)生只在一個(gè)系的一個(gè)班學(xué)習(xí),一個(gè)系只有一個(gè)系主任,一個(gè)班只有一名班主任,一個(gè)系可以有多個(gè)班。請(qǐng)指出此關(guān)系模式的候選鍵,判斷此關(guān)系模式是第幾范式的,若不是第三范式的,請(qǐng)將其規(guī)范化為第三范式關(guān)系模式,并指出分解后的每個(gè)關(guān)系模式的主鍵和外鍵。答:(1)候選碼:學(xué)

42、號(hào)(2)學(xué)號(hào)姓名,學(xué)號(hào)所在系,學(xué)號(hào)班號(hào),班號(hào)班主任,所在系系主任(3)第二范式,因?yàn)橛校簩W(xué)號(hào)班號(hào),班號(hào)班主任,因此存在傳遞函數(shù)依賴:學(xué)號(hào)班主任(4)第三范式關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,所在系,班號(hào)),班號(hào)為引用班的外碼,所在系為引用系的外碼。班(班號(hào),班主任)系(系名,系主任)8設(shè)有關(guān)系模式:教師授課(課程號(hào),課程名,學(xué)分,授課教師號(hào),教師名,授課時(shí)數(shù)),其語義為:一門課程(由課程號(hào)決定)有確定的課程名和學(xué)分,每名教師(由教師號(hào)決定)有確定的教師名,每門課程可以由多名教師講授,每名教師也可以講授多門課程,每名教師對(duì)每門課程有確定的授課時(shí)數(shù)。指出此關(guān)系模式的候選鍵,判斷此關(guān)系模式屬于第幾范式,若

43、不屬于第三范式,請(qǐng)將其規(guī)范化為第三范式關(guān)系模式,并指出分解后的每個(gè)關(guān)系模式的主鍵和外鍵。答:(1)候選碼:(課程號(hào),授課教師號(hào))(2)課程號(hào)課程名,課程號(hào)學(xué)分,授課教師號(hào)教師名,(課程號(hào),授課教師號(hào))授課時(shí)數(shù)(3)屬于第一范式。因?yàn)橛校赫n程號(hào)課程名,因此存在部分函數(shù)依賴關(guān)系:(課程號(hào),授課教師號(hào))課程名(4)第三范式關(guān)系模式:課程(課程號(hào),課程名,學(xué)分)教師(教師號(hào),教師名)授課(課程號(hào),教師號(hào),授課時(shí)數(shù)),課程號(hào)為引用課程的外碼,教師號(hào)為引用教師的外碼。第9章 事務(wù)與并發(fā)控制1試說明事務(wù)的概念及四個(gè)特征。答:原子性、隔離性、一致性、持久性。2 事務(wù)處理模型有哪兩種?答:T-SQL事務(wù)處理模型

44、、T-SQL事務(wù)處理模型。3 在數(shù)據(jù)庫中為什么要有并發(fā)控制?答:為避免多個(gè)事務(wù)之間的相互干擾。4 并發(fā)控制的措施是什么?答:加鎖。5設(shè)有三個(gè)事務(wù):T1、T2和T3,其所包含的動(dòng)作為:T1:A = A + 2;T2:A = A * 2;T3:A = A - 1設(shè)A的初值為3,若這三個(gè)事務(wù)并行執(zhí)行,則可能的調(diào)度策略有幾種?A的最終結(jié)果分別是什么?答:T1T2T3:A = 9T1T3T2:A = 8T2T1T3:A = 7T2T3T1:A = 9T3T1T2:A = 8T3T2T1:A = 65 當(dāng)某個(gè)事務(wù)對(duì)某段數(shù)據(jù)加了S鎖之后,在此事務(wù)釋放鎖之前,其他事務(wù)還可以對(duì)此段數(shù)據(jù)添加什么鎖?答:S鎖6 什

45、么是死鎖?預(yù)防死鎖有哪些方法?答:相互等待對(duì)方釋放資源。7 如何診斷和解除死鎖?答:診斷死鎖方法:一般使用超時(shí)法和事務(wù)等待圖法。解除死鎖:通常采用的方法是選擇一個(gè)處理死鎖代價(jià)最小的事務(wù),將其撤銷,釋放此事務(wù)所持有的全部鎖,使其他事務(wù)可以繼續(xù)運(yùn)行下去。8 怎樣保證多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的?答:遵守兩階段鎖協(xié)議。9 一級(jí)封鎖協(xié)議對(duì)讀和寫分別加什么鎖?加鎖范圍分別是什么?能避免哪些干擾?答:寫全程加X鎖,讀不加鎖。能避免丟失修改。10 二級(jí)封鎖協(xié)議對(duì)讀和寫分別加什么鎖?加鎖范圍分別是什么?能避免哪些干擾?答:寫全程加X鎖,讀前加S鎖,讀完釋放S鎖。能避免丟失修改和不讀臟數(shù)據(jù)。11 三級(jí)封鎖協(xié)議對(duì)讀

46、和寫分別加什么鎖?加鎖范圍分別是什么?能避免哪些干擾?答:寫全程加X鎖,讀全程加S鎖。能避免丟失修改、不讀臟數(shù)據(jù)和不可重復(fù)讀。第10章 數(shù)據(jù)庫設(shè)計(jì)1試說明數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)。答:綜合性、結(jié)構(gòu)設(shè)計(jì)和行為設(shè)計(jì)相分離。2 簡(jiǎn)述數(shù)據(jù)庫的設(shè)計(jì)過程。答:設(shè)計(jì)分為如下幾個(gè)階段。l 需求分析。l 結(jié)構(gòu)設(shè)計(jì),包括概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)。l 行為設(shè)計(jì),包括功能設(shè)計(jì)、事務(wù)設(shè)計(jì)和程序設(shè)計(jì)。l 數(shù)據(jù)庫實(shí)施,包括加載數(shù)據(jù)庫數(shù)據(jù)和調(diào)試運(yùn)行應(yīng)用程序。l 數(shù)據(jù)庫運(yùn)行和維護(hù)階段。3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)包含哪幾個(gè)過程?答:包括概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)。4 需求分析中發(fā)現(xiàn)事實(shí)的方法有哪些?答:檢查文檔、面談、觀察操作中的業(yè)務(wù)、研

溫馨提示

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

評(píng)論

0/150

提交評(píng)論