版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第1章 習(xí)題與實訓(xùn)答案1填空題(1)人工管理階段;文件系統(tǒng)階段;數(shù)據(jù)庫系統(tǒng)階段(2)DBS;數(shù)據(jù)庫管理系統(tǒng);DBMS (3)層次;網(wǎng)狀;關(guān)系(4)層次 (5)網(wǎng)狀(6)關(guān)系(7)靜態(tài)特征(數(shù)據(jù)結(jié)構(gòu));動態(tài)特征(數(shù)據(jù)操作);數(shù)據(jù)約束條件(8)實體(9)域(10)一對一聯(lián)系;一對多聯(lián)系;多對多聯(lián)系(11)數(shù)據(jù)庫;數(shù)據(jù)庫管理系統(tǒng);硬件;軟件;人員(12)關(guān)鍵字(13)外鍵(14)關(guān)系(15)并;交;差;廣義笛卡爾積(16)選擇;投影;連接;自然連接(17)插入異常;刪除異常;更新異常(18)部分函數(shù)依賴;傳遞函數(shù)依賴(19)第1(20)都不傳遞依賴于(21)部分(22)需求分析;概念結(jié)構(gòu)設(shè)計;邏輯結(jié)
2、構(gòu)設(shè)計;數(shù)據(jù)庫物理設(shè)計;數(shù)據(jù)庫實施;數(shù)據(jù)庫運行和維護(23)數(shù)據(jù)項;數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)流;數(shù)據(jù)存儲;處理過程(24)概念模型數(shù)據(jù)表示(25)數(shù)據(jù)庫物理設(shè)計2選擇題(1) A (2)C (3)A (4)C (5)C (6)A (7)A (8)A (9)C (10)B(11)D (12)D (13)A (14)C (15)D (16)B (17)D (18)B (19)A (20)C(21)D (22)C (23)D (24)C 3簡答題(1)試述數(shù)據(jù)管理技術(shù)發(fā)展的幾個階段及其特征。手工管理階段:20世紀(jì)50年代中期以前,當(dāng)時的計算機系統(tǒng)沒有專門管理數(shù)據(jù)的軟件,也沒有像磁盤可以隨機存取的外部存儲設(shè)備。
3、數(shù)據(jù)由計算或處理它的程序自行攜帶,數(shù)據(jù)和應(yīng)用程序一一對應(yīng)。這一時期計算機數(shù)據(jù)管理的特點是:數(shù)據(jù)的獨立性差、數(shù)據(jù)不能被長期保存、數(shù)據(jù)的冗余度大、數(shù)據(jù)面向的應(yīng)用沒有軟件對其進行數(shù)據(jù)管理等。文件系統(tǒng)階段:20世紀(jì)50年代后期到60年代中后期,磁盤成為計算機的主要外存儲器,并在軟件方面出現(xiàn)了高級語言和操作系統(tǒng),計算機不僅用于科學(xué)計算,還用于管理。在此階段,數(shù)據(jù)以文件的形式進行組織,并能長期保存在外存儲器上,用戶能對數(shù)據(jù)文件進行查詢、修改、插入和刪除等操作。程序與數(shù)據(jù)有了一定的獨立性,程序和數(shù)據(jù)分開存儲,然而依舊存在數(shù)據(jù)的冗余度大及數(shù)據(jù)不一致等缺點。數(shù)據(jù)庫系統(tǒng)階段:20世紀(jì)60年代后期,為了解決日益增長
4、的數(shù)據(jù)量帶來的數(shù)據(jù)管理上的嚴(yán)重問題,數(shù)據(jù)庫技術(shù)也逐漸發(fā)展和成熟起來。數(shù)據(jù)庫技術(shù)使數(shù)據(jù)有了統(tǒng)一的結(jié)構(gòu),對所有的數(shù)據(jù)進行統(tǒng)一、集中、獨立的管理,以實現(xiàn)數(shù)據(jù)的共享,保證數(shù)據(jù)的完整和安全,提高了數(shù)據(jù)管理效率。在應(yīng)用程序和數(shù)據(jù)庫之間有數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)的處理方式與文件系統(tǒng)不同,它把所有應(yīng)用程序中使用的數(shù)據(jù)匯集在一起,并以記錄為單位存儲起來,便于應(yīng)用程序使用。數(shù)據(jù)庫系統(tǒng)主要特點是:數(shù)據(jù)庫中的數(shù)據(jù)是結(jié)構(gòu)化的,數(shù)據(jù)冗余度小、易擴充、較高的數(shù)據(jù)獨立性、較高的數(shù)據(jù)共享性,數(shù)據(jù)由DBMS統(tǒng)一管理和控制等。(2)什么是數(shù)據(jù)庫?數(shù)據(jù)庫有哪些主要特征?數(shù)據(jù)庫是一個以一定的組織方式存儲在一起的、能為多個用
5、戶共享的、具有盡可能小的冗余度、與應(yīng)用彼此獨立的相互關(guān)聯(lián)的數(shù)據(jù)集合。數(shù)據(jù)庫體系結(jié)構(gòu)分為兩部分:一部分是存儲應(yīng)用所需的數(shù)據(jù),稱為物理數(shù)據(jù)庫部分;一部分是描述部分,描述數(shù)據(jù)庫的各級結(jié)構(gòu),這部分由數(shù)據(jù)字典管理。主要特征:數(shù)據(jù)庫中的數(shù)據(jù)是結(jié)構(gòu)化的,數(shù)據(jù)冗余度小、易擴充、較高的數(shù)據(jù)獨立性、較高的數(shù)據(jù)共享性,數(shù)據(jù)由DBMS統(tǒng)一管理和控制等。(3)簡述數(shù)據(jù)模型的組成及各組成部分的作用。數(shù)據(jù)模型是嚴(yán)格定義的一組概念的集合,這些概念精確地描述了系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)(靜態(tài)特征)、數(shù)據(jù)操作(動態(tài)特征)和數(shù)據(jù)約束條件,這是數(shù)據(jù)模型的三要素。數(shù)據(jù)結(jié)構(gòu):用于描述系統(tǒng)的靜態(tài)特征,是所研究的對象類型的集合數(shù)據(jù)操作:對數(shù)據(jù)庫中各種對
6、象的實例允許執(zhí)行的操作集合。數(shù)據(jù)操作包括操作對象及有關(guān)的操作規(guī)則,主要有檢索和操縱兩類。數(shù)據(jù)約束條件:是一組完整性規(guī)則的集合。完整性規(guī)則是給定數(shù)據(jù)模型中的數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。(4)什么是關(guān)系模型?關(guān)系模型有什么特點?試舉一個關(guān)系模型的例子。(5)試舉三個實例,要求實體型之間分別具有一對一、一對多和多對多的聯(lián)系。一對一聯(lián)系:班級和班長,一個班級有一個班長,一個班長只能是一個班級的班長;一對多聯(lián)系:部門和職工,一個部門有多個職工,一個職工只屬于一個部門;多對多聯(lián)系:倉庫和商品,一個倉庫可以存放多種商品,一
7、種商品可以在多個倉庫存放。(6)DBMS的主要功能有哪些?數(shù)據(jù)定義、數(shù)據(jù)操作、數(shù)據(jù)查詢、數(shù)據(jù)維護(7)解釋以下術(shù)語,實體、實體型、實體集、屬性、鍵、DBMS。實體:客觀存在并且可以相互區(qū)別的事物稱為實體。屬性:描述實體的特性稱為屬性。實體型:具有相同屬性的實體必然具有共同的特征和性質(zhì),用實體名及其屬性名的集合來抽象和表達(dá)同類實體,稱為實體型。實體集:同類實體的集合稱為實體集,例如全體學(xué)生、全體教師等。鍵:二維表中能唯一標(biāo)識一個元組的屬性或者是屬性組合稱為關(guān)鍵字。在數(shù)據(jù)庫系統(tǒng)中稱為“主鍵”。DBMS:數(shù)據(jù)庫管理系統(tǒng)的簡稱,是用來管理和維護數(shù)據(jù)庫的計算機系統(tǒng)軟件。(8)什么是數(shù)據(jù)庫系統(tǒng),組成部分有
8、哪些?數(shù)據(jù)庫系統(tǒng)簡稱為DBS,數(shù)據(jù)庫系統(tǒng)(DBS)是一個帶有數(shù)據(jù)庫的計算機系統(tǒng),它能夠按照數(shù)據(jù)庫的方式存儲和維護數(shù)據(jù),并且能夠向應(yīng)用程序提供數(shù)據(jù)。數(shù)據(jù)庫系統(tǒng)通常由數(shù)據(jù)庫、硬件、軟件和人員四個部分組成。4實訓(xùn)操作(1)設(shè)有關(guān)系職工關(guān)系,如表1-21所示表1-21 職工關(guān)系職工號職工名年齡性別單位號單位名E1趙三20男D3CCCE2劉強25男D1AAAE3李寶庫38女D3CCCE4張強25男D3CCC試問職工關(guān)系屬于3NF嗎?為什么?若不是,它屬于第幾范式?如何將其規(guī)范化為3NF?答:職工關(guān)系不屬于3NF,因為職工關(guān)系的主鍵是“職工號”,該關(guān)系的函數(shù)依賴關(guān)系為:職工號-職工名,職工號-年齡,職工號
9、-性別,職工號-單位號,單位號-單位名,從而職工號-單位名。職工關(guān)系存在傳遞函數(shù)依賴,為此不是3NF。該關(guān)系屬于2NF。將職工關(guān)系規(guī)范化為3NF:職工(職工號,職工名,年齡,性別,單位號)單位(單位號,單位名)(2)假設(shè)某商業(yè)集團數(shù)據(jù)庫有關(guān)系模式R如下:R(商店編號,商品編號,庫存數(shù)量,部門編號,負(fù)責(zé)人)如果規(guī)定:每個商店的每種商品只在一個部門銷售。每個商店的每個部門只有一個負(fù)責(zé)人。每個商店的每種商品只有一個庫存數(shù)量回答下列問題:根據(jù)上述規(guī)定,寫出關(guān)系模式R的基本函數(shù)依賴商品編號-商店編號,(部門編號,商品編號)-庫存數(shù)量,商品編號-部門編號,部門編號-負(fù)責(zé)人寫出關(guān)系模式R的候選鍵商店編號,商
10、品編號試問關(guān)系模式R最高已經(jīng)達(dá)到第幾范式?為什么?如果R不屬于3NF,將R分解成3NF模式集。1NF,因為R關(guān)系中存在部分函數(shù)依賴和傳遞函數(shù)依賴。將R分解為3NF:商品(部門編號,商品編號,庫存數(shù)量)部門(部門編號,負(fù)責(zé)人,商店編號)(3)設(shè)計一個圖書管理系統(tǒng)的數(shù)據(jù)庫,系統(tǒng)約定: 圖書:圖書號、圖書名、作者、類型、單價、數(shù)量出版社:出版社號、出版社名稱、所在城市、電話、郵政編碼、聯(lián)系人讀者:借書證號、姓名、性別、班級其中約定:任何人可以借多本圖書,任何一種圖書可以被多個讀者借閱,讀者在借書和還書時,要登記借書日期和還書日期;圖書入庫時要記錄購買數(shù)量;一個出版社可以出版多種書籍,同一種書僅為一個
11、出版社所出版。根據(jù)以上約定,回答如下問題:設(shè)計圖書管理系統(tǒng)的出版局部E-R圖、借閱局部E-R圖。將出版局部E-R圖與借閱局部E-R圖集合成全局E-R圖。根據(jù)以上全局E-R圖導(dǎo)出關(guān)系模式,并指出主鍵和外鍵。第1章 習(xí)題與實訓(xùn)答案1填空題(1)SQL Server的實例主要包括兩種,分別是_和_。(2)SQL Server 2012功能模塊眾多,但是從總體來說可以將其分成兩大模塊:_和_。(3)SQL Server數(shù)據(jù)庫引擎有四大組件:_、_、_、_。(4)SQL Server 2012服務(wù)器組件主要包括_、_、_、_、_等。(5)_服務(wù)是SQL Server 2012數(shù)據(jù)庫用于存儲、處理和保護數(shù)
12、據(jù)的核心服務(wù)。(6)啟動SQL Server服務(wù)有多種方法,分別是_、_。(7)SQL Server可以在兩種不同的身份驗證模式下操作,分別是_和_。(8)在SQL Server提供的管理工具中,_管理工具是用于訪問、配置、管理和開發(fā)SQL Server組件的集成環(huán)境,使各種技術(shù)水平的開發(fā)人員和管理員都能使用SQL Server。2簡答題(1)SQL Server 2012有哪些新功能特性?(2)簡述SQL Server 各版本功能。(3)簡述安裝SQL Server 2012應(yīng)滿足的軟件、硬件環(huán)境的要求。(4)SQL Server 2012的安裝方式有哪些?(5)SQL Server 201
13、2安裝后,如何啟動數(shù)據(jù)庫服務(wù)器?如何斷開與服務(wù)器的連接? 3操作題(1)請在用戶的計算機系統(tǒng)上安裝SQL Server 2012數(shù)據(jù)庫平臺。(2)使用Windows控制面板管理工具的服務(wù)功能對SQL Server服務(wù)進行配置。(3)使用SQL Server配置管理器對SQL Server服務(wù)進行配置。(4)使用SSMS管理工具連接到網(wǎng)絡(luò)服務(wù)器。第3章 習(xí)題與實訓(xùn)答案1填空題(1)數(shù)據(jù)庫文件;事務(wù)日志文件;數(shù)據(jù)庫文件組(2).mdf;.ndf;.ldf(3)SQL Server數(shù)據(jù)庫分為_、_和_三類。(4)系統(tǒng)數(shù)據(jù)庫;示例數(shù)據(jù)庫;用戶數(shù)據(jù)庫(5)Master(6)Creat Database;
14、Alter Database;Drop Database;(7)name;size;maxsize;filegrowth2操作題(1)使用SSMS管理工具創(chuàng)建圖書管理系統(tǒng)數(shù)據(jù)庫,數(shù)據(jù)庫名為Library,要求數(shù)據(jù)庫物理數(shù)據(jù)文件存儲在“D:data”文件夾中,主數(shù)據(jù)文件初始大小為10 MB,自動增長方式為無限制。數(shù)據(jù)庫事務(wù)日志文件初始大小為3 MB,自動增長方式為無限制,未指定名稱的均為默認(rèn)值。請參照教材,操作過程略。(2)將創(chuàng)建的數(shù)據(jù)庫Library的主數(shù)據(jù)庫文件初始大小擴大為15 MB。請參照教材,操作過程略。(3)使用Transact-SQL語言的ALTER DATABASE語句為數(shù)據(jù)庫B
15、OOK添加次要數(shù)據(jù)文件,邏輯名稱為“Library_1dat”,存儲在“D:data”文件夾中,設(shè)置初始大小為3 MB,最大大小為100 MB,自動增長方式為15%。USE masterGOALTER DATABASE BOOKADD FILE ( NAME = Library_1dat, FILENAME=D:dataLibrary_1dat.ndf , SIZE = 3 MB, MAXSIZE = 100 MB, FILEGROWTH =15)GO(4)使用Transact-SQL語言的CREATE DATABASE語句創(chuàng)建商品銷售數(shù)據(jù)庫,數(shù)據(jù)庫名稱為“Merchandising”,數(shù)據(jù)文
16、件和日志文件保存在“D:spxs”文件夾,主數(shù)據(jù)文件名為“Merchandising_dat.mdf”,初始大小為5 MB,自動增長方式為無限制,日志文件名為“Merchandising”,初始大小為5 MB,最大大小為50 MB,自動增長為5 MB。CREATE DATABASE MerchandisingON (NAME=Merchandising_dat, FILENAME=d:spxs Merchandising_dat.mdf , SIZE=5)LOG ON (NAME=Merchandising, FILENAME=d:spxsMerchandising_log.ldf , SIZ
17、E=5, MAXSIZE=50, FILEGROWTH=5 MB)GO(5)將商品銷售數(shù)據(jù)庫“Merchandising”從SQL Server數(shù)據(jù)庫服務(wù)器中分離。請參照教材,操作過程略。(6)將分離出來的商品銷售數(shù)據(jù)庫“Merchandising”附加到當(dāng)前的SQL Server數(shù)據(jù)庫服務(wù)器中。請參照教材,操作過程略。(7)將商品銷售數(shù)據(jù)庫“Merchandising”使用Transact-SQL語言刪除。DROP DATABASE Merchandising 第4章 習(xí)題與實訓(xùn)答案1.選擇題(1) A (2)C (3)A (4)B (5)A (6) B (7)A (8)D (9)A (10
18、)B(11)C (12)D (13)A (14)B (15)A2.實訓(xùn)題(1)使用SSMS管理工具在數(shù)據(jù)庫Library中創(chuàng)建Booktype表、Book表。請參照教材,操作過程略。(2)使用Transact-SQL語句創(chuàng)建Readertype表、Reader表和Record表。創(chuàng)建ReadertypeCREATE TABLE Readertype(Typeid int primary key,Typename Varchar(20) not null,Booksum int not null,Bookday int not null)創(chuàng)建Reader表CREATE TABLE Reader(
19、Readerid nchar(13) primary key,Readername Varchar(20) not null,Typeid int foreign key references Readertype(Typeid),Birthday date,Sex nchar(1),Address varchar(40),Postalcode nchar(6),ENrolldate date,State varchar(10),Memo Varchar(200)創(chuàng)建Record表CREATE TABLE Record(Recordid int primary key,Readerid nch
20、ar(13) foreign key references Reader(Readerid),Bookid nchar(20) foreign key references Book(Bookid),Outdate date not null,Indate date,State varchar(10) not null)(3)使用SSMS管理工具修改Reader表,增加一個字段電話號碼“Tel”,數(shù)據(jù)類型為char(15) 。請參照教材,操作過程略。(4)使用Transact-SQL語句修改Reader表,刪除Tel列。ALTER TABLE Reader DROP COLUMN Tel第5章
21、 習(xí)題與實訓(xùn)答案1.選擇題(1) C (2)B (3)D (4)B (5)D (6) A (7)D (8)A (9)C (10)A2.操作題在Library數(shù)據(jù)庫中使用SQL語句實現(xiàn)下面查詢:(1)查詢圖書價格在1020之間的圖書信息。SELECT * FROM bookWHERE price BETWEEN 10 AND 20(2)查詢“陜西師范大學(xué)出版社”和“電子工業(yè)出版社”出版的圖書的編號、圖書名稱以及作者。SELECT bookid,booktitle,author FROM bookWHERE press IN (陜西師范大學(xué)出版社”,電子工業(yè)出版社)(3)查詢所有姓“李”的作者編寫
22、的圖書的基本信息。SELECT * FROM book WHERE author LIKE 李%(4)查詢出版日期為空的讀者的基本信息。(無電話號碼)SELECT * FROM reader WHERE birthday IS NULL(5)查詢所有家庭住址為“江蘇省”并且性別為“男”的讀者的信息。SELECT * FROM readerWHERE address=江蘇省 AND sex=男(6)查詢每類圖書的平均價格、最高價格、最低價格,結(jié)果顯示圖書類別編號和平均價格、最高價格、最低價格SELECT typeid,AVG(price) AS 平均價格,MAX(price) AS 最高價格,M
23、IN(price) AS 最低價格FROM book GROUP typeid(7)查詢讀者編號、讀者姓名、借閱圖書編號以及借閱日期。SELECT readerid,readername,book.bookid,outdate FROM book,reader,record WHERE book.bookid=record.bookid AND reader.readerid=record.readerid (8)查詢圖書類別為“文學(xué)”的圖書的編號、名稱以及價格。SELECT bookid,booktitle,price FROM book,booktype WHERE book.typeid
24、=booktype.typeid(9)查詢所有價格高于該類所有圖書平均價格的圖書的編號和名稱。SELECT bookid,price FROM bookWHERE price(select AVG(price) FROM book)(10)查詢沒有被借閱過的圖書的編號和名稱。SELECT bookid,bookname FROM bookWHERE bookid not in (SELECT bookid FROM record)(11)查詢所有類別圖書中平均價格高于25元的圖書類別編號和平均價格,結(jié)果按照平均價格降序排列。SELECT typeid AS 類別編號,AVG(price) as
25、 平均價格 FROM bookGROUP typeid HAVING AVG(price)25ORDER BY AVG(price) DESC(12)查詢每個讀者借閱的圖書數(shù)量,結(jié)果顯示借閱數(shù)量在前3名的讀者的編號以及借閱的數(shù)量。SELECT TOP 3 readerid AS 讀者編號,COUNT(*) AS 借閱數(shù)量FROM recordGROUP readerid ORDER COUNT(*) DESC (13)查詢與讀者“郭玉嬌”屬于同一讀者類別的讀者編號和姓名。SELECT readerid,readernameFROM readerWHERE typeid=(SELECT type
26、id FROM reader WHERE readername=郭玉嬌)(14)查詢所有未借閱過任何書籍的讀者編號和姓名,并將查詢結(jié)果插入到新表“未借閱讀者”。SELECT readerid,readername INTO 未借閱讀者FROM readerWHERE readerid NOT IN(Select reaerid FROM record)第6章 習(xí)題與實訓(xùn)答案1選擇題(1) C (2)B (3)B (4)D (5)C (6)C (7)A (8)B (9)A (10)B2操作題在Library數(shù)據(jù)庫中實現(xiàn)下列題目:(1)使用管理平臺創(chuàng)建視圖V_book,功能是存放圖書信息,包括圖書
27、名、作者、出版社和價格。操作步驟參考例2。(2)使用管理平臺修改視圖V_book,在已有信息基礎(chǔ)上,增加ISBN和出版日期兩列內(nèi)容。操作步驟參考例10。(3)使用T-SQL語句創(chuàng)建視圖V_readbook,存放讀者借閱圖書信息,包括讀者姓名、圖書名、ISBN、借閱日期。參考代碼如下:create view V_readbookasselect readename,booktitle,ISBN,outdatefrom book b,reader r,record rewhere b.Bookid=re.Bookid and r.Readerid=re.Readerid(4)使用T-SQL語句修改
28、視圖V_readbook,在已有信息基礎(chǔ)上,增加讀者編號、圖書類別名稱兩列內(nèi)容。alter view V_readbookasselect r.readerid,readename,booktitle,typename,ISBN,outdatefrom book b,reader r,record re,booktype btwhere b.Bookid=re.Bookid and r.Readerid=re.Readerid and b.Typeid=bt.Typeid(5)使用T-SQL語句創(chuàng)建索引,在圖書表“Book”的“ISBN”列上創(chuàng)建非聚集的唯一索引“IX_B_ISBN”。crea
29、te unique nonclustered index IX_B_ISBNon book(ISBN)(6)在借閱表“Record”的“借閱日期”列和“歸還日期”列上,分別創(chuàng)建聚集索引“IX_RD_OUT”和“IX_RD_IN”。create clustered index IX_RD_OUT on record(outdate)drop index IX_RD_OUT on record(每個表上只能創(chuàng)建一個聚集索引,刪除再創(chuàng)建)create clustered index IX_RD_IN on record(indate) 第7章 習(xí)題與實訓(xùn)答案1填空題(1)數(shù)據(jù)定義語言;數(shù)據(jù)操縱語言;
30、數(shù)據(jù)控制語言(2)變量;常量(3)SET;SELECT;一個SET語句只能給一個變量賦值,SELECT語句可以同時給幾個變量賦值(4)GO(5)GOTO(6)BEGINEND(7)靜態(tài)游標(biāo);動態(tài)游標(biāo);只進游標(biāo);鍵集驅(qū)動游標(biāo)(8)聲明游標(biāo);打開游標(biāo);讀取數(shù)據(jù);關(guān)閉游標(biāo);釋放游標(biāo)(9)SCROLL(10)fetch_status(11)4;256(12)12.60;12.40;12(13)12;13(14)1;0;-1(15)4(16)97;C(17)8(18)江蘇?。怀V菔?;常州(19)江蘇 常州市2簡答題(1)什么是常量和變量?常量也稱為字面值或標(biāo)量值,是表示一個特定數(shù)據(jù)值的符號,其值在程序運
31、行過程中不改變。變量指在程序運行過程中值可以發(fā)生變化的量。常用于保存程序運行過程中的計算結(jié)果或輸入/輸出結(jié)果。SQL Server變量分為全局變量和局部變量。(2)什么是游標(biāo)?游標(biāo)有什么功能? 游標(biāo)是處理數(shù)據(jù)的一種方法,允許應(yīng)用程序?qū)Σ樵冋Z句SELECT 返回的結(jié)果集中每一行進行相同或不同的操作,而不是一次對整個結(jié)果集進行同一種操作。游標(biāo)作用:游標(biāo)實際上是一種能從包括多條數(shù)據(jù)記錄的結(jié)果集中每次提取一條記錄的機制。游標(biāo)提供了在結(jié)果集中一次一行或者多行前進或向后瀏覽數(shù)據(jù)的能力,可以把游標(biāo)當(dāng)作一個指針,指定結(jié)果中的任何位置,然后允許用戶對指定位置的數(shù)據(jù)進行處理。(3)關(guān)閉游標(biāo)與釋放游標(biāo)有什么區(qū)別?關(guān)
32、閉游標(biāo)后,游標(biāo)區(qū)的數(shù)據(jù)不可再讀,但不釋放游標(biāo)占用的數(shù)據(jù)結(jié)構(gòu)。CLOSE語句關(guān)閉已打開的游標(biāo),之后不能對游標(biāo)進行讀取等操作,但可以使用OPEN語句再次打開該游標(biāo)。DEALLOCATE語句刪除定義游標(biāo)的數(shù)據(jù)結(jié)構(gòu),釋放后不可再用。3操作題(1)編寫Transact-SQL程序,使用IF.ELSE語句實現(xiàn)成績表Score中百分制轉(zhuǎn)換為五級制,要求顯示學(xué)生學(xué)號,課程編號,百分制成績,五級制成績。print 學(xué)號 課程號 成績 五級制DECLARE score_Cursor CURSOR SCROLLFOR SELECT studentid,courseid,score FROM score OPEN s
33、core_CursorDECLARE sid nchar(13),cid nchar(8),s int, g nchar(6)FETCH ABSOLUTE 1 FROM score_Cursor into sid,cid,sWHILE fetch_status=0 BEGIN if( s=90 and s=80 and s=70 and s=60 and s=0 and s60) set g=不及格 print sid+space(3)+cid+str(s)+space(8)+g FETCH NEXT FROM score_Cursor into sid,cid,s ENDCLOSE scor
34、e_CursorDEALLOCATE score_CursorGO(2)編寫Transact-SQL程序,統(tǒng)計課程表Course中基礎(chǔ)課程的數(shù)目,使用WHILE語句配合CONTINUE語句實現(xiàn)。DECLARE type_Cursor CURSOR SCROLLFOR SELECT type FROM course OPEN type_Cursordeclare count int,t varchar(10)set count=0FETCH ABSOLUTE 1 FROM type_Cursor into tWHILE fetch_status=0 BEGIN if(t基礎(chǔ)課) begin FE
35、TCH NEXT FROM type_Cursor into t continue end else begin set count=count+1 FETCH NEXT FROM type_Cursor into t end END PRINT 課程表Course中基礎(chǔ)課程的數(shù)目為:+STR(count)CLOSE type_CursorDEALLOCATE type_CursorGO(3)使用游標(biāo)實現(xiàn)如下操作:在數(shù)據(jù)庫Student的班級表Class上,聲明一個顯示班級表所有信息的游標(biāo),打開游標(biāo),使用系統(tǒng)變量查詢游標(biāo)的數(shù)據(jù)行數(shù),將結(jié)果保存到用戶自定義的ROWL變量中。提取游標(biāo)中的第三條記錄
36、,并查詢系統(tǒng)提取狀態(tài)變量值,將狀態(tài)變量值保存到用戶自定義的STUTASL中。SELECT * FROM classdeclare ROWL int,STUTASL intset ROWL=ROWCOUNTPRINT 游標(biāo)數(shù)據(jù)行為:+str(ROWL)DECLARE class_Cursor CURSOR SCROLLFOR SELECT * FROM class OPEN class_CursorFETCH ABSOLUTE 3 FROM class_Cursor SET STUTASL=fetch_statusPRINT 讀取第三行狀態(tài)變量值為:+str(STUTASL)CLOSE clas
37、s_CursorDEALLOCATE class_CursorGO(4)使用游標(biāo)實現(xiàn)如下操作:在數(shù)據(jù)庫Library中,使用循環(huán)語句和系統(tǒng)全局變量fetch_status,逐一讀取讀者借閱圖書信息,包括讀者編號、讀者姓名、電話號碼、書名、出版社、借閱日期。DECLARE lib_Cursor CURSOR SCROLLFOR SELECT r.readerid,readename,tel,booktitle,press,outdate FROM book b,reader r,record reWHERE b.Bookid=re.Bookid and r.Readerid=re.Readeri
38、dOPEN lib_CursorFETCH ABSOLUTE 1 FROM lib_Cursor WHILE fetch_status=0 FETCH NEXT FROM lib_Cursor CLOSE lib_CursorDEALLOCATE lib_CursorGO第8章 習(xí)題與實訓(xùn)答案1選擇題(1) C (2)B (3)C (4)A (5)C (6)D (7)A (8)A (9)B (10)B2操作題在Library數(shù)據(jù)庫中創(chuàng)建存儲過程和觸發(fā)器實現(xiàn)如下功能:(1)創(chuàng)建無參數(shù)存儲過程PD1,實現(xiàn):查詢圖書信息,包括圖書編號,圖書名稱,ISBN,作者,出版社,單價,并執(zhí)行存儲過程。crea
39、te procedure PD1asbegin select bookid,booktitle,ISBN,author,press,price from bookend-執(zhí)行存儲過程語句如下:exec PD1(2)創(chuàng)建帶參數(shù)存儲過程PD2,實現(xiàn):根據(jù)指定ISBN,檢索圖書信息,包括圖書編號,圖書名稱,ISBN,作者,出版社,單價,自定義實參,執(zhí)行存儲過程。create procedure PD2ISBN nchar(21)asbegin select bookid,booktitle,ISBN,author,press,price from book where ISBN=ISBNend-執(zhí)行
40、存儲過程語句如下:exec PD2 9787506345050(3)創(chuàng)建帶參數(shù)存儲過程PD3,實現(xiàn):根據(jù)指定的讀者姓名,檢索讀者相關(guān)信息,包括讀者編號,姓名,電話,讀者類別名稱,借閱圖書數(shù)目,借閱圖書日期,自定義實參,執(zhí)行存儲過程。create procedure PD3rname varchar(20)asbegin select readename,tel,typename,booksum,outdate from reader r,readertype rt,record re where r.Readerid=re.Readerid and r.Typeid=rt.Typeid and
41、 readename=rnameend-執(zhí)行存儲過程語句如下:exec PD3 郭玉嬌(4)創(chuàng)建帶默認(rèn)參數(shù)的存儲過程PD4,實現(xiàn):向讀者表Reader中插入記錄,若沒給出性別,則性別默認(rèn)為“女”,自定義記錄,執(zhí)行存儲過程。create procedure PD4readerid nchar(13),readername varchar(20),typeid int,birthday date,sex nchar(1)= 女,address varchar(40),postalcode nchar(6),tel varchar(15),enrolldate date,state varchar(
42、10),memo varchar(200)asbegin insert into reader values(readerid ,readername,typeid ,birthday,sex ,address, postalcode,tel,enrolldate,state,memo)end-執(zhí)行存儲過程語句如下:exec PD4 3872-3423-022,李玲玲,1,1985-08-17,default,北京,100081,2008-09-01,有效,NULL(5)創(chuàng)建帶OUTPUT參數(shù)的存儲過程PD5,實現(xiàn):根據(jù)指定讀者姓名,查詢并輸出讀者借閱圖書信息,包括讀
43、者姓名,讀者電話,借閱圖書名稱,借書時間,自定義實參,執(zhí)行存儲過程。create procedure PD5 ( rname varchar(20) OUTPUT, booktitle varchar(40) OUTPUT, tel varchar(15) OUTPUT, outdate date OUTPUT)AS select rname=readename,tel=tel,booktitle=booktitle,outdate=outdate from reader r,book b,record re where r.Readerid=re.Readerid and b.Bookid=
44、re.Bookid and readename=rname SELECT 讀者姓名=rname ,讀者電話=tel,借閱圖書名稱=booktitle,借書時間=outdate-執(zhí)行存儲過程語句如下:DECLARE rname varchar(20) DECLARE booktitle varchar(40)DECLARE tel varchar(15) DECLARE outdate date EXEC PD5 張蓓蕾,booktitle OUTPUT,tel OUTPUT,outdate OUTPUT(6)創(chuàng)建DML觸發(fā)器TR1,當(dāng)向book圖書表中錄入數(shù)據(jù)時,顯示表中所有記錄信息。CREA
45、TE TRIGGER TR1ON bookFOR INSERTASBEGIN SELECT * FROM bookEND-測試語句如下:INSERT INTO bookvalues(7-5402-1197-0,鋼鐵是怎樣煉成的,978754021974,1,奧斯特洛夫斯基,北京燕山出版社,2001-11-1,12.5,2002-1-1,可借,NULL)(7)創(chuàng)建DML觸發(fā)器TR2,當(dāng)刪除Reader讀者表中某個讀者信息時,同時刪除Record借閱表中對應(yīng)讀者的信息。CREATE TRIGGER TR2ON readerFOR DELETEASBEGIN IF EXISTS(SELECT rea
46、derid FROM deleted) BEGIN DELETE FROM record WHERE readerid in (SELECT readerid FROM deleted) SELECT * FROM reader END ELSE PRINT 不存在這個讀者的信息END-測試語句如下:Delete from reader where readerid=3872-3423-022(8)創(chuàng)建Instead Of觸發(fā)器TR3,當(dāng)在Record借閱表錄入或更新信息時,判斷讀者的圖書借出時間和歸還時間是否合法,并給出提示信息。CREATE trigger TR3ON recordinst
47、ead of Insert,updateAS BEGIN -觸發(fā)器的主體語句 declare date0 date -聲明2個日期類型的變量 declare date1 date -用來存放借出日期和歸還日期 set date0=(select outdate from inserted) -從臨時表中選取借出和歸還日期 set date1=(select indate from inserted) if date0date1 -對借出日期和歸還日期進行比較 beginprint 借出日期歸還日期,借閱記錄表禁止此操作! rollback transaction -如果不符合條件,則撤銷所做操作endEND-測試語句如下:insert into recordvalues(12,3872-3423-001,7-5402-1197-0,2002-3-1,2002-2-16,NULL) update record set indate=2009-9-1 where recordid=3第9章 習(xí)題與實訓(xùn)答案一習(xí)題1.角色管理;權(quán)限管理2. Windows身份驗證;SQL Server身份驗證3.服務(wù)器角色;數(shù)據(jù)庫角色4.grant; revoke; deny 5.WITH GRANT OPTION;CASCADE二實訓(xùn)操作(1)創(chuàng)建windows 身份驗證的登
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第7單元 語文園地(教學(xué)實錄)2024-2025學(xué)年三年級語文上冊同步教學(xué)(統(tǒng)編版)
- 上海交通職業(yè)技術(shù)學(xué)院《高分子化學(xué)與物理基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海建橋?qū)W院《高爾夫技能技術(shù)(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 教師暑期 實踐報告范文
- 2023三年級語文上冊 第三單元 9 那一定會很好配套教學(xué)實錄 新人教版
- 建筑論文調(diào)研報告范文
- 建行個人研修報告范文
- 企業(yè)員工管理制度集粹大合集
- 2024年中國密度板家具市場調(diào)查研究報告
- 上海工商外國語職業(yè)學(xué)院《軟件分析與設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 粉末銷售合同范例
- 2024-2025學(xué)年人教版生物學(xué)八年級上冊期末復(fù)習(xí)練習(xí)題(含答案)
- 檔案管理基本知識課件
- 高二語文上學(xué)期期末考點大串講(統(tǒng)編版選擇性必修上冊+中冊)專題01 信息類文本閱讀(知識清單)
- 2025年上半年廈門市外事翻譯護照簽證中心招考易考易錯模擬試題(共500題)試卷后附參考答案
- 名師工作室建設(shè)與管理方案
- 2024年小學(xué)體育新課標(biāo)測評考試題庫(含答案)
- 新《安全生產(chǎn)法》安全培訓(xùn)
- 【MOOC】油氣地質(zhì)與勘探-中國石油大學(xué)(華東) 中國大學(xué)慕課MOOC答案
- 山東省濟南市2023-2024學(xué)年高一上學(xué)期1月期末考試 物理 含答案
- 管理咨詢服務(wù)實施方案
評論
0/150
提交評論