2010數(shù)據(jù)庫(kù)原理上機(jī)試驗(yàn)指導(dǎo)書1_第1頁(yè)
2010數(shù)據(jù)庫(kù)原理上機(jī)試驗(yàn)指導(dǎo)書1_第2頁(yè)
2010數(shù)據(jù)庫(kù)原理上機(jī)試驗(yàn)指導(dǎo)書1_第3頁(yè)
2010數(shù)據(jù)庫(kù)原理上機(jī)試驗(yàn)指導(dǎo)書1_第4頁(yè)
2010數(shù)據(jù)庫(kù)原理上機(jī)試驗(yàn)指導(dǎo)書1_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(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ù)庫(kù)原理實(shí)驗(yàn)大綱及實(shí)驗(yàn)指導(dǎo)廣西工學(xué)院信計(jì)系數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)課程教學(xué)大綱及上機(jī)實(shí)驗(yàn)指導(dǎo)書數(shù)據(jù)庫(kù)軟件名稱:Microsoft SqIServer 2000企業(yè)版實(shí)驗(yàn)設(shè)備:服務(wù)器一臺(tái),網(wǎng)絡(luò)管理機(jī)一臺(tái),客戶機(jī)每人一臺(tái)軟件運(yùn)行環(huán)境要求:服務(wù)器:Windows 2000 ServerMicrosoft SqIServer 20000 實(shí)例客戶機(jī):Windows 98 或 Windows2000 ProfessionalMicrosoft SqlServer 20000 客戶端客戶端開發(fā)工具(PowerBuilder、Visual Basic、Delphi、Visual c+等)實(shí)驗(yàn)總體要求:1、每個(gè)學(xué)生單

2、獨(dú)完成。2、每次實(shí)驗(yàn)后交一份源程序、一份實(shí)驗(yàn)報(bào)告。實(shí)驗(yàn)內(nèi)容:實(shí)驗(yàn)一 SQLServer基本管理、T SQL基本操作:數(shù)據(jù)定義 (驗(yàn)證)實(shí)驗(yàn)二T SQL基本操作:數(shù)據(jù)查詢(驗(yàn)證、設(shè)計(jì))實(shí)驗(yàn)三T SQL基本操作:數(shù)據(jù)操作、數(shù)據(jù)控制(驗(yàn)證)實(shí)驗(yàn)四數(shù)據(jù)完整性、存儲(chǔ)過程與觸發(fā)器(驗(yàn)證、設(shè)計(jì))實(shí)驗(yàn)五 安全性控制、備份與恢復(fù)(驗(yàn)證)實(shí)驗(yàn)一 SQLServer 管理基礎(chǔ)、 T SQL 基本操作 :數(shù)據(jù)定義一、實(shí)驗(yàn)?zāi)康耐ㄟ^本實(shí)驗(yàn)熟悉 SQLServer 數(shù)據(jù)庫(kù)環(huán)境,掌握數(shù)據(jù)庫(kù)管理和數(shù)據(jù)庫(kù)對(duì)象管理的 相關(guān)命令。學(xué)會(huì)建立數(shù)據(jù)庫(kù);在數(shù)據(jù)庫(kù)添加表,修改表結(jié)構(gòu)。二、實(shí)驗(yàn)內(nèi)容:1、要求熟練掌握 SQL 的基本使用2、SQL

3、Server企業(yè)管理器、查詢分析器的使用3、建立數(shù)據(jù)庫(kù)4、根據(jù)要求設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)的表三、實(shí)驗(yàn)步驟1登錄到SQLServer服務(wù)器客戶端連接方法:用戶名:學(xué)號(hào) 初始密碼: 可用命令更改密碼: sp_password , 新密碼2、建庫(kù)(庫(kù)名二業(yè)務(wù)主題+班號(hào)+學(xué)號(hào))CREATE DATABASE 訂貨 ON( NAME = order_dat,FILENAME = c:mssqldataorderdat.mdf,SIZE = 10,MAXSIZE = 50,FILEGROWTH = 5 )LOG ON( NAME = order_log,FILENAME = d:mssqllogorderlog.

4、ldf,SIZE = 5MB,MAXSIZE = 25MB,FILEGROWTH = 5MB )3、建表CREATE TABLE 倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào) CHAR(5) PRIMARY KEY ,城市 CHAR(10),面積 INT CHECK ( 面積 0) )CREATE TABLE 職工 (- 倉(cāng)庫(kù)號(hào) CHAR(5) FOREIGN KEY REFERENCES 倉(cāng)庫(kù),- 倉(cāng)庫(kù)號(hào) CHAR(5) FOREIGN KEY REFERENCES 倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào)),倉(cāng)庫(kù)號(hào) CHAR(5) FOREIGN KEY (倉(cāng)庫(kù)號(hào))REFERENCES倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào)), 職工號(hào) CHAR(5) PRIMARY KEY

5、 ,工資 INT CHECK (工資 =1000 AND 工資 1230)AND (職工.倉(cāng)庫(kù)號(hào) = 倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào))-或SELECT 職工號(hào) ,城市FROM 職工 JOIN 倉(cāng)庫(kù)ON 職工 .倉(cāng)庫(kù)號(hào) = 倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)WHERE 工資 1230 -5.14 找出工作在面積大于 400 的倉(cāng)庫(kù)的職工號(hào)以及這些職工工作所在 的城市SELECT 職工號(hào) ,城市FROM 倉(cāng)庫(kù) ,職工WHERE (面積 400)AND (職工.倉(cāng)庫(kù)號(hào) = 倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào))-或SELECT 職工號(hào) ,城市 FROM 職工 JOIN 倉(cāng)庫(kù)ON 職工 .倉(cāng)庫(kù)號(hào) = 倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)WHERE 面積 400 -* 給出有北京倉(cāng)庫(kù)訂購(gòu)單

6、的北京供應(yīng)商的名稱SELECT 供應(yīng)商名FROM供應(yīng)商,訂購(gòu)單,職工,倉(cāng)庫(kù)WHERE地址二北京AND 城市二北京AND供應(yīng)商.供應(yīng)商號(hào)二訂購(gòu)單.供應(yīng)商號(hào)AND訂購(gòu)單.職工號(hào)=職工.職工號(hào)AND職工.倉(cāng)庫(kù)號(hào)二倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)-或SELECT供應(yīng)商名FROM 供應(yīng)商 JOIN訂購(gòu)單JOIN職工JOIN倉(cāng)庫(kù)ON職工倉(cāng)庫(kù)號(hào)二倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)ON訂購(gòu)單.職工號(hào)二職工.職工號(hào)ON供應(yīng)商.供應(yīng)商號(hào)二訂購(gòu)單.供應(yīng)商號(hào)WHERE地址二北京AND 城市二北京-5.15設(shè)有雇員關(guān)系,其中雇員號(hào)和經(jīng)理兩個(gè)屬性出自同一個(gè) -值域,同一元組的這兩個(gè)屬性值是“上、下級(jí)”關(guān)系。create table 雇員( 雇員號(hào)char(2),

7、雇員姓名char(8),經(jīng)理 char(2)-插入數(shù)據(jù)insert 雇員 values(E3,趙涌,null)insert 雇員 values(E4,錢潮,E3)insert 雇員 values(E6,孫潔,E3)insert 雇員 values(E8,李淥,E6)SELECT S.雇員姓名,領(lǐng)導(dǎo),E.雇員姓名FROM雇員S,雇員EWHERE S.雇員號(hào)=E.經(jīng)理實(shí)驗(yàn)三 T SQL 基本操作:數(shù)據(jù)操作、數(shù)據(jù)控制一、實(shí)驗(yàn)?zāi)康耐ㄟ^本實(shí)驗(yàn)熟悉 SQLServerTSQL 的數(shù)據(jù)操作功能、數(shù)據(jù)控制功能二、實(shí)驗(yàn)內(nèi)容: 學(xué)會(huì)使用各種數(shù)據(jù)操作、數(shù)據(jù)控制語(yǔ)句:插入元組、更新元組、刪除元組,對(duì)指定用戶的權(quán)限授予

8、和權(quán)限回收-插入一個(gè)完整的元組INSERT INTO 訂購(gòu)單 VALUES(E7,S4,OR76,05-25-2002)-插入一個(gè)不完整的元組INSERT INTO 訂購(gòu)單 (職工號(hào) ,訂購(gòu)單號(hào) )VALUES(E7,OR76)-插入一個(gè)查詢結(jié)果 (訂購(gòu)單備份不存在,建新表 )SELECT *INTO 訂購(gòu)單備份FROM 訂購(gòu)單- 插入一個(gè)查詢結(jié)果 (訂購(gòu)單備份已經(jīng)存在 )INSERT INTO 訂購(gòu)單備份 SELECT * FROM 訂購(gòu)單 select * from 訂購(gòu)單備份-給 WH1 倉(cāng)庫(kù)的職工提高 10% 的工資UPDATE 職工 SET 工資 = 工資 *1.10 WHERE 倉(cāng)

9、庫(kù)號(hào) = WH1給所有職工增加 10%的工資UPDATE 職工 SET工資=工資*1.10給“武漢”倉(cāng)庫(kù)的職工提高10%的工資UPDATE 職工 SET工資=工資*1.10FROM倉(cāng)庫(kù)WHERE倉(cāng)庫(kù).倉(cāng)庫(kù)號(hào)=職工.倉(cāng)庫(kù)號(hào) AND 城市=武漢實(shí)驗(yàn)四 數(shù)據(jù)完整性、存儲(chǔ)過程與觸發(fā)器一、實(shí)驗(yàn)?zāi)康耐ㄟ^本實(shí)驗(yàn)了解SQLServer的數(shù)據(jù)完整性的實(shí)現(xiàn)方法;掌握存儲(chǔ)過程的創(chuàng)建、 執(zhí)行及其應(yīng)用場(chǎng)合,了解存儲(chǔ)過程返回值及狀態(tài)信息;掌握觸發(fā)器的建立和觸發(fā)器 的不同種類及其觸發(fā)條件和作用機(jī)制。二、實(shí)驗(yàn)內(nèi)容1、四種數(shù)據(jù)完整性及其在SQLServer數(shù)據(jù)庫(kù)上的常用手段,按照自己的數(shù)據(jù)庫(kù) 模式定義相應(yīng)的數(shù)據(jù)完整性。2、自行

10、設(shè)計(jì)、創(chuàng)建存儲(chǔ)過程,并執(zhí)行之3、自行設(shè)計(jì)、創(chuàng)建觸發(fā)器,并執(zhí)行相應(yīng)操作,分析觸發(fā)器有沒有被觸發(fā)-例:創(chuàng)建一個(gè)最簡(jiǎn)單的存儲(chǔ)過程CREATE PROCedure sp_getemp;1ASSELECT * FROM 職工-帶參數(shù)的存儲(chǔ)過程:CREATE PROCedure sp_getemp;2(salary int)ASSELECT * FROM 職工 WHERE 工資 salary - 例:執(zhí)行帶參數(shù)的 sp_getemp;2 存儲(chǔ)過程execute sp_getemp;1execute sp_getemp;2 1240CREATE PROCedure sp_getemp;3(salary in

11、t =NULL)ASIF salary IS NULLBEGINPRINT 必須提供一個(gè)數(shù)值作參數(shù)! RETURN 13ENDIF NOT EXISTS (SELECT * FROM 職工 WHERE 工資 salary)BEGINPRINT 沒有滿足條件的記錄! RETURN -103ENDSELECT * FROM 職工 WHERE 工資 salaryRETURN 0-調(diào)用示例 :無(wú)參execute sp_getemp;3- 調(diào)用示例 :execute sp_getemp;3 1000execute sp_getemp;3 2000-調(diào)用示例:接收返回值DECLARE status int

12、EXECUTE status=sp_getemp;3 11200print status-建立一個(gè)簡(jiǎn)單的觸發(fā)器。CREATE TRIGGER wh_triggerON倉(cāng)庫(kù)FOR INSERTASPRINT 插入了一個(gè)倉(cāng)庫(kù)元組-執(zhí)行插入insert 倉(cāng)庫(kù) values (WH1,柳州,511)select * from 倉(cāng)庫(kù)-定義一個(gè)觸發(fā)器,使得當(dāng)刪除倉(cāng)庫(kù)記錄時(shí),同時(shí)將所-屬所有職工記錄的倉(cāng)庫(kù)號(hào)字段值置為空值NULL :drop trigger w_del_triggerCREATE TRIGGER w_del_triggerON 倉(cāng)庫(kù) FOR DELETEASUPDATE職工SET倉(cāng)庫(kù)號(hào)=NU

13、LLWHERE 倉(cāng)庫(kù)號(hào) in (SELECT 倉(cāng)庫(kù)號(hào) FROM deleted)delete 倉(cāng)庫(kù) where 倉(cāng)庫(kù)號(hào) =WH1實(shí)驗(yàn)五 數(shù)據(jù)庫(kù)保護(hù)一、實(shí)驗(yàn)?zāi)康?通過本實(shí)驗(yàn)掌握數(shù)據(jù)庫(kù)保護(hù)的幾種手段:事務(wù)、封鎖;掌握安全性控制的概念 和實(shí)現(xiàn)方法,角色、用戶、權(quán)限管理;掌握數(shù)據(jù)庫(kù)的備份與恢復(fù)的相關(guān)操作命令。二、實(shí)驗(yàn)內(nèi)容-如下命令將訂貨數(shù)據(jù)庫(kù)備份到 C:dumpdump1.bak:BACKUP DATABASE 訂貨TO DISK=C:dumpdumpfull.bak-將對(duì)訂貨數(shù)據(jù)庫(kù)做增量備份(備份到 C:dumpdump1.bak):BACKUP DATABASE 訂貨TO DISK=C:dumpd

14、ump1.bakWITH DIFFERENTIAL-將備份訂貨數(shù)據(jù)庫(kù)的日志(備份到 C:dumpdumplog.bak):-NORECOVERY 只與 BACKUP LOG 一起使用。備份日志尾部并使數(shù)據(jù)庫(kù)處于 正在還原的狀態(tài)。-當(dāng) 將故障轉(zhuǎn)移 到輔助數(shù)據(jù)庫(kù)或在 RESTORE 操 作前保存日志 尾部時(shí), NORECOVERY 很有用。BACKUP LOG 訂貨TO DISK=C:dumpdumplog.bakWITH NORECOVERY-在備份了訂貨數(shù)據(jù)庫(kù)或事務(wù)日志后,為了截?cái)嘤嗀浌芾頂?shù)據(jù)庫(kù)的事務(wù)日志可以使 用如下命令:BACKUP LOG 訂貨WITH TRUNCATE_ONLY-對(duì)訂貨數(shù)據(jù)庫(kù)warehouse文件的備份:(參見下例)BACKUP DATABASE 訂貨FI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論