




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第1章 習題與實訓答案1填空題(1)人工管理階段;文件系統階段;數據庫系統階段(2)DBS;數據庫管理系統;DBMS (3)層次;網狀;關系(4)層次 (5)網狀(6)關系(7)靜態特征(數據結構);動態特征(數據操作);數據約束條件(8)實體(9)域(10)一對一聯系;一對多聯系;多對多聯系(11)數據庫;數據庫管理系統;硬件;軟件;人員(12)關鍵字(13)外鍵(14)關系(15)并;交;差;廣義笛卡爾積(16)選擇;投影;連接;自然連接(17)插入異常;刪除異常;更新異常(18)部分函數依賴;傳遞函數依賴(19)第1(20)都不傳遞依賴于(21)部分(22)需求分析;概念結構設計;邏輯結
2、構設計;數據庫物理設計;數據庫實施;數據庫運行和維護(23)數據項;數據結構;數據流;數據存儲;處理過程(24)概念模型數據表示(25)數據庫物理設計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)試述數據管理技術發展的幾個階段及其特征。手工管理階段:20世紀50年代中期以前,當時的計算機系統沒有專門管理數據的軟件,也沒有像磁盤可以隨機存取的外部存儲設備。
3、數據由計算或處理它的程序自行攜帶,數據和應用程序一一對應。這一時期計算機數據管理的特點是:數據的獨立性差、數據不能被長期保存、數據的冗余度大、數據面向的應用沒有軟件對其進行數據管理等。文件系統階段:20世紀50年代后期到60年代中后期,磁盤成為計算機的主要外存儲器,并在軟件方面出現了高級語言和操作系統,計算機不僅用于科學計算,還用于管理。在此階段,數據以文件的形式進行組織,并能長期保存在外存儲器上,用戶能對數據文件進行查詢、修改、插入和刪除等操作。程序與數據有了一定的獨立性,程序和數據分開存儲,然而依舊存在數據的冗余度大及數據不一致等缺點。數據庫系統階段:20世紀60年代后期,為了解決日益增長
4、的數據量帶來的數據管理上的嚴重問題,數據庫技術也逐漸發展和成熟起來。數據庫技術使數據有了統一的結構,對所有的數據進行統一、集中、獨立的管理,以實現數據的共享,保證數據的完整和安全,提高了數據管理效率。在應用程序和數據庫之間有數據庫管理系統。數據庫管理系統對數據的處理方式與文件系統不同,它把所有應用程序中使用的數據匯集在一起,并以記錄為單位存儲起來,便于應用程序使用。數據庫系統主要特點是:數據庫中的數據是結構化的,數據冗余度小、易擴充、較高的數據獨立性、較高的數據共享性,數據由DBMS統一管理和控制等。(2)什么是數據庫?數據庫有哪些主要特征?數據庫是一個以一定的組織方式存儲在一起的、能為多個用
5、戶共享的、具有盡可能小的冗余度、與應用彼此獨立的相互關聯的數據集合。數據庫體系結構分為兩部分:一部分是存儲應用所需的數據,稱為物理數據庫部分;一部分是描述部分,描述數據庫的各級結構,這部分由數據字典管理。主要特征:數據庫中的數據是結構化的,數據冗余度小、易擴充、較高的數據獨立性、較高的數據共享性,數據由DBMS統一管理和控制等。(3)簡述數據模型的組成及各組成部分的作用。數據模型是嚴格定義的一組概念的集合,這些概念精確地描述了系統的數據結構(靜態特征)、數據操作(動態特征)和數據約束條件,這是數據模型的三要素。數據結構:用于描述系統的靜態特征,是所研究的對象類型的集合數據操作:對數據庫中各種對
6、象的實例允許執行的操作集合。數據操作包括操作對象及有關的操作規則,主要有檢索和操縱兩類。數據約束條件:是一組完整性規則的集合。完整性規則是給定數據模型中的數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的數據庫狀態及其狀態的變化,以保證數據的正確、有效和相容。(4)什么是關系模型?關系模型有什么特點?試舉一個關系模型的例子。(5)試舉三個實例,要求實體型之間分別具有一對一、一對多和多對多的聯系。一對一聯系:班級和班長,一個班級有一個班長,一個班長只能是一個班級的班長;一對多聯系:部門和職工,一個部門有多個職工,一個職工只屬于一個部門;多對多聯系:倉庫和商品,一個倉庫可以存放多種商品,一
7、種商品可以在多個倉庫存放。(6)DBMS的主要功能有哪些?數據定義、數據操作、數據查詢、數據維護(7)解釋以下術語,實體、實體型、實體集、屬性、鍵、DBMS。實體:客觀存在并且可以相互區別的事物稱為實體。屬性:描述實體的特性稱為屬性。實體型:具有相同屬性的實體必然具有共同的特征和性質,用實體名及其屬性名的集合來抽象和表達同類實體,稱為實體型。實體集:同類實體的集合稱為實體集,例如全體學生、全體教師等。鍵:二維表中能唯一標識一個元組的屬性或者是屬性組合稱為關鍵字。在數據庫系統中稱為“主鍵”。DBMS:數據庫管理系統的簡稱,是用來管理和維護數據庫的計算機系統軟件。(8)什么是數據庫系統,組成部分有
8、哪些?數據庫系統簡稱為DBS,數據庫系統(DBS)是一個帶有數據庫的計算機系統,它能夠按照數據庫的方式存儲和維護數據,并且能夠向應用程序提供數據。數據庫系統通常由數據庫、硬件、軟件和人員四個部分組成。4實訓操作(1)設有關系職工關系,如表1-21所示表1-21 職工關系職工號職工名年齡性別單位號單位名E1趙三20男D3CCCE2劉強25男D1AAAE3李寶庫38女D3CCCE4張強25男D3CCC試問職工關系屬于3NF嗎?為什么?若不是,它屬于第幾范式?如何將其規范化為3NF?答:職工關系不屬于3NF,因為職工關系的主鍵是“職工號”,該關系的函數依賴關系為:職工號-職工名,職工號-年齡,職工號
9、-性別,職工號-單位號,單位號-單位名,從而職工號-單位名。職工關系存在傳遞函數依賴,為此不是3NF。該關系屬于2NF。將職工關系規范化為3NF:職工(職工號,職工名,年齡,性別,單位號)單位(單位號,單位名)(2)假設某商業集團數據庫有關系模式R如下:R(商店編號,商品編號,庫存數量,部門編號,負責人)如果規定:每個商店的每種商品只在一個部門銷售。每個商店的每個部門只有一個負責人。每個商店的每種商品只有一個庫存數量回答下列問題:根據上述規定,寫出關系模式R的基本函數依賴商品編號-商店編號,(部門編號,商品編號)-庫存數量,商品編號-部門編號,部門編號-負責人寫出關系模式R的候選鍵商店編號,商
10、品編號試問關系模式R最高已經達到第幾范式?為什么?如果R不屬于3NF,將R分解成3NF模式集。1NF,因為R關系中存在部分函數依賴和傳遞函數依賴。將R分解為3NF:商品(部門編號,商品編號,庫存數量)部門(部門編號,負責人,商店編號)(3)設計一個圖書管理系統的數據庫,系統約定: 圖書:圖書號、圖書名、作者、類型、單價、數量出版社:出版社號、出版社名稱、所在城市、電話、郵政編碼、聯系人讀者:借書證號、姓名、性別、班級其中約定:任何人可以借多本圖書,任何一種圖書可以被多個讀者借閱,讀者在借書和還書時,要登記借書日期和還書日期;圖書入庫時要記錄購買數量;一個出版社可以出版多種書籍,同一種書僅為一個
11、出版社所出版。根據以上約定,回答如下問題:設計圖書管理系統的出版局部E-R圖、借閱局部E-R圖。將出版局部E-R圖與借閱局部E-R圖集合成全局E-R圖。根據以上全局E-R圖導出關系模式,并指出主鍵和外鍵。第1章 習題與實訓答案1填空題(1)SQL Server的實例主要包括兩種,分別是_和_。(2)SQL Server 2012功能模塊眾多,但是從總體來說可以將其分成兩大模塊:_和_。(3)SQL Server數據庫引擎有四大組件:_、_、_、_。(4)SQL Server 2012服務器組件主要包括_、_、_、_、_等。(5)_服務是SQL Server 2012數據庫用于存儲、處理和保護數
12、據的核心服務。(6)啟動SQL Server服務有多種方法,分別是_、_。(7)SQL Server可以在兩種不同的身份驗證模式下操作,分別是_和_。(8)在SQL Server提供的管理工具中,_管理工具是用于訪問、配置、管理和開發SQL Server組件的集成環境,使各種技術水平的開發人員和管理員都能使用SQL Server。2簡答題(1)SQL Server 2012有哪些新功能特性?(2)簡述SQL Server 各版本功能。(3)簡述安裝SQL Server 2012應滿足的軟件、硬件環境的要求。(4)SQL Server 2012的安裝方式有哪些?(5)SQL Server 201
13、2安裝后,如何啟動數據庫服務器?如何斷開與服務器的連接? 3操作題(1)請在用戶的計算機系統上安裝SQL Server 2012數據庫平臺。(2)使用Windows控制面板管理工具的服務功能對SQL Server服務進行配置。(3)使用SQL Server配置管理器對SQL Server服務進行配置。(4)使用SSMS管理工具連接到網絡服務器。第3章 習題與實訓答案1填空題(1)數據庫文件;事務日志文件;數據庫文件組(2).mdf;.ndf;.ldf(3)SQL Server數據庫分為_、_和_三類。(4)系統數據庫;示例數據庫;用戶數據庫(5)Master(6)Creat Database;
14、Alter Database;Drop Database;(7)name;size;maxsize;filegrowth2操作題(1)使用SSMS管理工具創建圖書管理系統數據庫,數據庫名為Library,要求數據庫物理數據文件存儲在“D:data”文件夾中,主數據文件初始大小為10 MB,自動增長方式為無限制。數據庫事務日志文件初始大小為3 MB,自動增長方式為無限制,未指定名稱的均為默認值。請參照教材,操作過程略。(2)將創建的數據庫Library的主數據庫文件初始大小擴大為15 MB。請參照教材,操作過程略。(3)使用Transact-SQL語言的ALTER DATABASE語句為數據庫B
15、OOK添加次要數據文件,邏輯名稱為“Library_1dat”,存儲在“D:data”文件夾中,設置初始大小為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語句創建商品銷售數據庫,數據庫名稱為“Merchandising”,數據文
16、件和日志文件保存在“D:spxs”文件夾,主數據文件名為“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)將商品銷售數據庫“Merchandising”從SQL Server數據庫服務器中分離。請參照教材,操作過程略。(6)將分離出來的商品銷售數據庫“Merchandising”附加到當前的SQL Server數據庫服務器中。請參照教材,操作過程略。(7)將商品銷售數據庫“Merchandising”使用Transact-SQL語言刪除。DROP DATABASE Merchandising 第4章 習題與實訓答案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.實訓題(1)使用SSMS管理工具在數據庫Library中創建Booktype表、Book表。請參照教材,操作過程略。(2)使用Transact-SQL語句創建Readertype表、Reader表和Record表。創建ReadertypeCREATE TABLE Readertype(Typeid int primary key,Typename Varchar(20) not null,Booksum int not null,Bookday int not null)創建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)創建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”,數據類型為char(15) 。請參照教材,操作過程略。(4)使用Transact-SQL語句修改Reader表,刪除Tel列。ALTER TABLE Reader DROP COLUMN Tel第5章
21、 習題與實訓答案1.選擇題(1) C (2)B (3)D (4)B (5)D (6) A (7)D (8)A (9)C (10)A2.操作題在Library數據庫中使用SQL語句實現下面查詢:(1)查詢圖書價格在1020之間的圖書信息。SELECT * FROM bookWHERE price BETWEEN 10 AND 20(2)查詢“陜西師范大學出版社”和“電子工業出版社”出版的圖書的編號、圖書名稱以及作者。SELECT bookid,booktitle,author FROM bookWHERE press IN (陜西師范大學出版社”,電子工業出版社)(3)查詢所有姓“李”的作者編寫
22、的圖書的基本信息。SELECT * FROM book WHERE author LIKE 李%(4)查詢出版日期為空的讀者的基本信息。(無電話號碼)SELECT * FROM reader WHERE birthday IS NULL(5)查詢所有家庭住址為“江蘇省”并且性別為“男”的讀者的信息。SELECT * FROM readerWHERE address=江蘇省 AND sex=男(6)查詢每類圖書的平均價格、最高價格、最低價格,結果顯示圖書類別編號和平均價格、最高價格、最低價格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)查詢圖書類別為“文學”的圖書的編號、名稱以及價格。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元的圖書類別編號和平均價格,結果按照平均價格降序排列。SELECT typeid AS 類別編號,AVG(price) as
25、 平均價格 FROM bookGROUP typeid HAVING AVG(price)25ORDER BY AVG(price) DESC(12)查詢每個讀者借閱的圖書數量,結果顯示借閱數量在前3名的讀者的編號以及借閱的數量。SELECT TOP 3 readerid AS 讀者編號,COUNT(*) AS 借閱數量FROM recordGROUP readerid ORDER COUNT(*) DESC (13)查詢與讀者“郭玉嬌”屬于同一讀者類別的讀者編號和姓名。SELECT readerid,readernameFROM readerWHERE typeid=(SELECT type
26、id FROM reader WHERE readername=郭玉嬌)(14)查詢所有未借閱過任何書籍的讀者編號和姓名,并將查詢結果插入到新表“未借閱讀者”。SELECT readerid,readername INTO 未借閱讀者FROM readerWHERE readerid NOT IN(Select reaerid FROM record)第6章 習題與實訓答案1選擇題(1) C (2)B (3)B (4)D (5)C (6)C (7)A (8)B (9)A (10)B2操作題在Library數據庫中實現下列題目:(1)使用管理平臺創建視圖V_book,功能是存放圖書信息,包括圖書
27、名、作者、出版社和價格。操作步驟參考例2。(2)使用管理平臺修改視圖V_book,在已有信息基礎上,增加ISBN和出版日期兩列內容。操作步驟參考例10。(3)使用T-SQL語句創建視圖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,在已有信息基礎上,增加讀者編號、圖書類別名稱兩列內容。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語句創建索引,在圖書表“Book”的“ISBN”列上創建非聚集的唯一索引“IX_B_ISBN”。crea
29、te unique nonclustered index IX_B_ISBNon book(ISBN)(6)在借閱表“Record”的“借閱日期”列和“歸還日期”列上,分別創建聚集索引“IX_RD_OUT”和“IX_RD_IN”。create clustered index IX_RD_OUT on record(outdate)drop index IX_RD_OUT on record(每個表上只能創建一個聚集索引,刪除再創建)create clustered index IX_RD_IN on record(indate) 第7章 習題與實訓答案1填空題(1)數據定義語言;數據操縱語言;
30、數據控制語言(2)變量;常量(3)SET;SELECT;一個SET語句只能給一個變量賦值,SELECT語句可以同時給幾個變量賦值(4)GO(5)GOTO(6)BEGINEND(7)靜態游標;動態游標;只進游標;鍵集驅動游標(8)聲明游標;打開游標;讀取數據;關閉游標;釋放游標(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)江蘇省;常州市;常州(19)江蘇 常州市2簡答題(1)什么是常量和變量?常量也稱為字面值或標量值,是表示一個特定數據值的符號,其值在程序運
31、行過程中不改變。變量指在程序運行過程中值可以發生變化的量。常用于保存程序運行過程中的計算結果或輸入/輸出結果。SQL Server變量分為全局變量和局部變量。(2)什么是游標?游標有什么功能? 游標是處理數據的一種方法,允許應用程序對查詢語句SELECT 返回的結果集中每一行進行相同或不同的操作,而不是一次對整個結果集進行同一種操作。游標作用:游標實際上是一種能從包括多條數據記錄的結果集中每次提取一條記錄的機制。游標提供了在結果集中一次一行或者多行前進或向后瀏覽數據的能力,可以把游標當作一個指針,指定結果中的任何位置,然后允許用戶對指定位置的數據進行處理。(3)關閉游標與釋放游標有什么區別?關
32、閉游標后,游標區的數據不可再讀,但不釋放游標占用的數據結構。CLOSE語句關閉已打開的游標,之后不能對游標進行讀取等操作,但可以使用OPEN語句再次打開該游標。DEALLOCATE語句刪除定義游標的數據結構,釋放后不可再用。3操作題(1)編寫Transact-SQL程序,使用IF.ELSE語句實現成績表Score中百分制轉換為五級制,要求顯示學生學號,課程編號,百分制成績,五級制成績。print 學號 課程號 成績 五級制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程序,統計課程表Course中基礎課程的數目,使用WHILE語句配合CONTINUE語句實現。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基礎課) 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中基礎課程的數目為:+STR(count)CLOSE type_CursorDEALLOCATE type_CursorGO(3)使用游標實現如下操作:在數據庫Student的班級表Class上,聲明一個顯示班級表所有信息的游標,打開游標,使用系統變量查詢游標的數據行數,將結果保存到用戶自定義的ROWL變量中。提取游標中的第三條記錄
36、,并查詢系統提取狀態變量值,將狀態變量值保存到用戶自定義的STUTASL中。SELECT * FROM classdeclare ROWL int,STUTASL intset ROWL=ROWCOUNTPRINT 游標數據行為:+str(ROWL)DECLARE class_Cursor CURSOR SCROLLFOR SELECT * FROM class OPEN class_CursorFETCH ABSOLUTE 3 FROM class_Cursor SET STUTASL=fetch_statusPRINT 讀取第三行狀態變量值為:+str(STUTASL)CLOSE clas
37、s_CursorDEALLOCATE class_CursorGO(4)使用游標實現如下操作:在數據庫Library中,使用循環語句和系統全局變量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章 習題與實訓答案1選擇題(1) C (2)B (3)C (4)A (5)C (6)D (7)A (8)A (9)B (10)B2操作題在Library數據庫中創建存儲過程和觸發器實現如下功能:(1)創建無參數存儲過程PD1,實現:查詢圖書信息,包括圖書編號,圖書名稱,ISBN,作者,出版社,單價,并執行存儲過程。crea
39、te procedure PD1asbegin select bookid,booktitle,ISBN,author,press,price from bookend-執行存儲過程語句如下:exec PD1(2)創建帶參數存儲過程PD2,實現:根據指定ISBN,檢索圖書信息,包括圖書編號,圖書名稱,ISBN,作者,出版社,單價,自定義實參,執行存儲過程。create procedure PD2ISBN nchar(21)asbegin select bookid,booktitle,ISBN,author,press,price from book where ISBN=ISBNend-執行
40、存儲過程語句如下:exec PD2 9787506345050(3)創建帶參數存儲過程PD3,實現:根據指定的讀者姓名,檢索讀者相關信息,包括讀者編號,姓名,電話,讀者類別名稱,借閱圖書數目,借閱圖書日期,自定義實參,執行存儲過程。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-執行存儲過程語句如下:exec PD3 郭玉嬌(4)創建帶默認參數的存儲過程PD4,實現:向讀者表Reader中插入記錄,若沒給出性別,則性別默認為“女”,自定義記錄,執行存儲過程。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-執行存儲過程語句如下:exec PD4 3872-3423-022,李玲玲,1,1985-08-17,default,北京,100081,2008-09-01,有效,NULL(5)創建帶OUTPUT參數的存儲過程PD5,實現:根據指定讀者姓名,查詢并輸出讀者借閱圖書信息,包括讀
43、者姓名,讀者電話,借閱圖書名稱,借書時間,自定義實參,執行存儲過程。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-執行存儲過程語句如下:DECLARE rname varchar(20) DECLARE booktitle varchar(40)DECLARE tel varchar(15) DECLARE outdate date EXEC PD5 張蓓蕾,booktitle OUTPUT,tel OUTPUT,outdate OUTPUT(6)創建DML觸發器TR1,當向book圖書表中錄入數據時,顯示表中所有記錄信息。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)創建DML觸發器TR2,當刪除Reader讀者表中某個讀者信息時,同時刪除Record借閱表中對應讀者的信息。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)創建Instead Of觸發器TR3,當在Record借閱表錄入或更新信息時,判斷讀者的圖書借出時間和歸還時間是否合法,并給出提示信息。CREATE trigger TR3ON recordinst
47、ead of Insert,updateAS BEGIN -觸發器的主體語句 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章 習題與實訓答案一習題1.角色管理;權限管理2. Windows身份驗證;SQL Server身份驗證3.服務器角色;數據庫角色4.grant; revoke; deny 5.WITH GRANT OPTION;CASCADE二實訓操作(1)創建windows 身份驗證的登
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省海門市2025年高三模擬試題數學試題試卷解析
- 2019-2025年二級注冊建筑師之建筑結構與設備通關提分題庫(考點梳理)
- 2025深圳市設備供應合同范本
- 2025租房合同協議書樣本參考
- 餐飲外出營銷方案范本
- 光伏 項目 合同樣本
- 2025光纖買賣合同范本
- 2025中外合作開發合同(電子產品)
- 商場鋼網架施工方案
- 提升團隊協作效率的措施計劃
- 2025年山東省淄博市張店區中考一模歷史試題(含答案)
- 2025年內蒙古中考一模英語試題(原卷版+解析版)
- 外研版(2025新版)七年級下冊英語期中復習:Unit 1~3+期中共4套學情調研測試卷(含答案)
- ISO9001質量管理體系培訓(共60頁).ppt
- 商業票據與核算
- (完整版)PHQ-9抑郁癥篩查量表
- 山中問答教學設計
- 基于高中思想政治學科核心素養的教學研究與實踐PPT課件
- 礦山及其他工程破損山體植被恢復技術(DOC25頁)
- 鋁合金門窗、百葉施工組織設計
- 畢業設計(論文)-網球自動撿球機設計
評論
0/150
提交評論