版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第11章數(shù)據(jù)庫系統(tǒng)原理實(shí)驗(yàn)指導(dǎo)1
實(shí)驗(yàn)一數(shù)據(jù)庫定義實(shí)驗(yàn)二數(shù)據(jù)庫的更新實(shí)驗(yàn)三數(shù)據(jù)庫的簡單查詢和連接查詢實(shí)驗(yàn)實(shí)驗(yàn)四數(shù)據(jù)庫復(fù)雜查詢實(shí)驗(yàn)五關(guān)系圖、索引和視圖的定義及維護(hù)實(shí)驗(yàn)六數(shù)據(jù)庫的安全性和完整性實(shí)驗(yàn)七數(shù)據(jù)庫備份和恢復(fù)實(shí)驗(yàn)實(shí)驗(yàn)八綜合實(shí)驗(yàn)(一)實(shí)驗(yàn)九綜合實(shí)驗(yàn)(二)2
11.1實(shí)驗(yàn)一數(shù)據(jù)庫定義
一、實(shí)驗(yàn)?zāi)康?/p>
1.
掌握使用SQLServer企業(yè)管理器創(chuàng)建數(shù)據(jù)庫、基本表和修改基本表的結(jié)構(gòu)。
2.
掌握使用Transact-SQL語句創(chuàng)建數(shù)據(jù)庫、基本表和修改基本表結(jié)構(gòu)。
3.
掌握數(shù)據(jù)庫的整體結(jié)構(gòu)以及約束、缺省等概念。3二、相關(guān)知識(shí)創(chuàng)建數(shù)據(jù)庫時(shí)首先需要定義恰當(dāng)?shù)臄?shù)據(jù)庫大小,如果設(shè)得太大則會(huì)浪費(fèi)空間,太小則以后擴(kuò)充數(shù)據(jù)庫數(shù)據(jù)時(shí)會(huì)影響數(shù)據(jù)庫的性能。所以創(chuàng)建數(shù)據(jù)庫之前必須估算所建數(shù)據(jù)庫的大小和增幅。4
在SQLServer2000中最基本的數(shù)據(jù)存儲(chǔ)單元是頁,每頁的大小為8KB(8192字節(jié)),每頁除去96字節(jié)的頭部(用來存儲(chǔ)有關(guān)的頁信息,如頁類型、可用空間等),剩下的8096字節(jié)用來存儲(chǔ)數(shù)據(jù),且數(shù)據(jù)從緊接頁頭的位置開始,按行的順序分布在數(shù)據(jù)頁上,但數(shù)據(jù)行不能跨頁存儲(chǔ)。這意味著SQLServer2000數(shù)據(jù)庫可以在1MB字節(jié)的空間里存儲(chǔ)128頁(1024÷8)的數(shù)據(jù)。5
圖11.1
數(shù)據(jù)庫Northwind的邏輯構(gòu)成6
從上圖中,我們可以很清楚地看到示范數(shù)據(jù)庫Northwind的邏輯結(jié)構(gòu),它由表、視圖、角色等組件構(gòu)成。而實(shí)際的物理存儲(chǔ)中,Northwind的所有數(shù)據(jù)和對(duì)象都存儲(chǔ)在操作系統(tǒng)文件northwind.mdf數(shù)據(jù)文件中,它的日志文件為northwnd.ldf。默認(rèn)目錄為:\programFiles\MicrosoftSQLServer\MSSQL\data。
每個(gè)SQLServer2000中的數(shù)據(jù)庫在物理上
7都由至少一個(gè)數(shù)據(jù)文件和至少一個(gè)日志文件組成。數(shù)據(jù)文件又分為主要數(shù)據(jù)文件和次要數(shù)據(jù)文件,具體說明如下:1)主要數(shù)據(jù)文件(Primary):里面包含了數(shù)據(jù)庫啟動(dòng)的信息,這個(gè)主要數(shù)據(jù)文件也是用來存儲(chǔ)數(shù)據(jù)的文件,所有的數(shù)據(jù)庫一定會(huì)有一個(gè)主要數(shù)據(jù)文件,其保存時(shí)的擴(kuò)展名為.mdf。82)次要數(shù)據(jù)文件(Secondary):放置不適合放在文件中或主要數(shù)據(jù)文件放不下的數(shù)據(jù),如果數(shù)據(jù)庫的主要數(shù)據(jù)文件很大就可能會(huì)有這個(gè)次要數(shù)據(jù)文件,但也可能為了數(shù)據(jù)庫運(yùn)行性能、備份或恢復(fù)等因素而有次要數(shù)據(jù)文件。所以一個(gè)數(shù)據(jù)庫可能會(huì)有多個(gè)次要數(shù)據(jù)文件,也可能一個(gè)都沒有,其保存時(shí)的擴(kuò)展名為.ndf。93)日志文件(Log):事務(wù)日志信息文件,用來作數(shù)據(jù)庫恢復(fù)的基礎(chǔ)信息。每個(gè)數(shù)據(jù)庫至少要有一個(gè)日志文件,也有可能會(huì)有很多個(gè),其保存時(shí)的擴(kuò)展名為.ldf。SQLServer2000并未強(qiáng)制用戶使用.mdf、.ndf與.1df作為文件的擴(kuò)展名,但建議用戶使用這些擴(kuò)展名,以便于識(shí)別文件的作用。10三、實(shí)驗(yàn)內(nèi)容假設(shè)要?jiǎng)?chuàng)建的學(xué)生選課數(shù)據(jù)庫以下有幾個(gè)關(guān)系模式:學(xué)生(學(xué)號(hào)
,姓名
,性別
,年齡
,電話,系編號(hào));課程
(課程號(hào)
,課程名稱,學(xué)分);選課
(學(xué)號(hào)
,課程號(hào)
,成績
);有如下規(guī)定:1.在學(xué)生表中,學(xué)號(hào)為主碼,不能為空且不能出現(xiàn)重復(fù)值,姓名不空,年齡缺省值為21,性別為“男”或“女”;112.在課程表中,課程號(hào)為主碼;3.在選課表中,學(xué)號(hào)和課程為主碼,成績值在0∽100之間。具體操作要求如下:1.
創(chuàng)建數(shù)據(jù)庫和查看數(shù)據(jù)庫屬性。2.
創(chuàng)建和管理基本表。包括:創(chuàng)建表、確定表的主碼和約束條件,為主碼建索引,查看和修改表結(jié)構(gòu)。
12四、實(shí)驗(yàn)步驟1.創(chuàng)建數(shù)據(jù)庫SQLServer可以通過下面三種方式創(chuàng)建數(shù)據(jù)庫:(1)通過創(chuàng)建數(shù)據(jù)庫向?qū)?chuàng)建學(xué)生選課數(shù)據(jù)庫。假設(shè)該學(xué)?,F(xiàn)有在校生10000名,則利用上面介紹的數(shù)據(jù)庫空間管理的特點(diǎn)大概估算出學(xué)生選課數(shù)據(jù)庫的初始大小約為5MB。另外由于學(xué)校的學(xué)生人數(shù)13還可能不斷的增長,所以還要選擇SQLServer2000的增長方式自動(dòng)增長。步驟如下:1.依次選擇:【開始】│【程序】│【MicrosoftSQLServer】│【企業(yè)管理器】,打開企業(yè)管理器。2.展開SQLServer組,選擇里面的服務(wù)器,在“工具”菜單中,選擇“向?qū)А?,并選擇“創(chuàng)建數(shù)據(jù)庫向?qū)А?,然后單擊“確定”按鈕,就會(huì)出現(xiàn)歡迎使用向?qū)?duì)話框,如圖11.2所示。14圖11.2歡迎使用創(chuàng)建數(shù)據(jù)庫向?qū)Т翱谙乱徊?5
3.單擊“下一步”,在出現(xiàn)的對(duì)話框中輸入數(shù)據(jù)庫的名稱(學(xué)生選課)、數(shù)據(jù)文件的物理位置(這里指主數(shù)據(jù)文件)和日志文件的位置。單擊“下一步”繼續(xù)。
4.在出現(xiàn)的對(duì)話框中輸入數(shù)據(jù)文件的大小,單擊“下一步”繼續(xù)。5.接著出現(xiàn)定義數(shù)據(jù)庫文件的增長對(duì)話框,可選擇“數(shù)據(jù)庫文件自動(dòng)增長”,這樣當(dāng)數(shù)據(jù)文件不夠大時(shí),SQLServer可以自動(dòng)增加。增加的方式有兩種,一種是“按兆字節(jié)“(MB)方式增加,例如一次增加161MB;另一種是“按百分比”方式遞增,例如一次增長原數(shù)據(jù)庫大小的10%?!白畲笪募笮 斑x項(xiàng)組用來確定數(shù)據(jù)文件的最大值??梢詫?shù)據(jù)文件大小限制在某一個(gè)值內(nèi),例如20MB,也可以設(shè)置無限增長。
6.下一個(gè)對(duì)話框是要輸入日志文件的大小,日志文件的大小應(yīng)該是數(shù)據(jù)文件的25%左右,但最小值為1MB,然后單擊“下一步”。
7.接著出現(xiàn)的對(duì)話框定義日志文件的增幅,單擊“下一步”。178.最后一個(gè)對(duì)話框顯示所有選項(xiàng)的清單,如圖11.3所示。
單擊此處完成圖11.3選項(xiàng)清單
18(2)用SQLServer企業(yè)管理器直接創(chuàng)建和管理數(shù)據(jù)庫
1.打開企業(yè)管理器窗口。
2.選中需要在其上創(chuàng)建數(shù)據(jù)庫的服務(wù)器,單擊前面的“+”號(hào),使其展示為樹型目錄。
3.在“數(shù)據(jù)庫”文件夾上單擊鼠標(biāo)右鍵,在彈出菜單中選擇“新建數(shù)據(jù)庫”選項(xiàng)。此時(shí)就會(huì)出現(xiàn)“數(shù)據(jù)庫屬性”對(duì)話框。
19
“數(shù)據(jù)庫屬性”對(duì)話框中有3個(gè)選項(xiàng)卡:常規(guī)、數(shù)據(jù)文件和事務(wù)日志。常規(guī)選項(xiàng)卡主要用來定義數(shù)據(jù)庫的庫名,數(shù)據(jù)文件選項(xiàng)卡主要用來定義數(shù)據(jù)文件的文件名和屬性,事務(wù)日志選項(xiàng)卡主要用來定義事務(wù)日志的文件名和屬性4.在常規(guī)選項(xiàng)卡中的“名稱”文本框中輸入“學(xué)生選課1”,即建立的數(shù)據(jù)庫為“學(xué)生選課1”數(shù)據(jù)庫;然后依次單擊“數(shù)據(jù)文件”選項(xiàng)卡和“事務(wù)日志”選項(xiàng)卡,可修改數(shù)據(jù)文件和事務(wù)日志文件的文件名、存儲(chǔ)位置、大小等屬性(可采用默認(rèn)屬性)。205.單擊“確定”按鈕,關(guān)閉對(duì)話框。在企業(yè)管理器窗口出現(xiàn)“學(xué)生選課1”數(shù)據(jù)庫標(biāo)志,這表明建庫工作已經(jīng)完成。6.選中“學(xué)生選課1”數(shù)據(jù)庫標(biāo)志,單擊鼠標(biāo)右鍵,在彈出菜單上如果選中“屬性”,則可以查看和修改數(shù)據(jù)庫的屬性;如果選中“刪除”,則可以刪除該數(shù)據(jù)庫。21(3)用Transact-SQL語句創(chuàng)建學(xué)生選課庫。(設(shè)數(shù)據(jù)庫名為“學(xué)生選課2”)。
用向?qū)Ш推髽I(yè)管理器直接創(chuàng)建數(shù)據(jù)庫很簡單也很方便,但如果要?jiǎng)?chuàng)建的數(shù)據(jù)庫很大,用企業(yè)管理器來創(chuàng)建就需要等很長時(shí)間,這是就可以用Transact-SQL語句寫一段程序,自動(dòng)生成數(shù)據(jù)庫。在E盤新建一個(gè)“學(xué)生選課2”文件夾,在查詢分析器中添加如下程序代碼:22CREATEDATABASE學(xué)生選課2ON(NAME=學(xué)生選課2_DAT,FILENAME='E:\學(xué)生選課2\學(xué)生選課2_DAT.MDF',SIZE=4MB,FILEGROWTH=10%)LOGON(NAME=學(xué)生選課2_LOG,FILENAME='E:\學(xué)生選課2\學(xué)生選課2_LOG.LDF',SIZE=1MB,FILEGROWTH=10%)23注意:
由于這是我們的第一個(gè)實(shí)驗(yàn),所以實(shí)驗(yàn)中我們給出了完整的實(shí)驗(yàn)操作步驟和程序代碼。在后面的各個(gè)實(shí)驗(yàn)中,我們將不再詳細(xì)給出操作步驟和程序代碼,而是只給出具體的操作要求。242.創(chuàng)建數(shù)據(jù)庫表(1)使用SQLServer企業(yè)管理器創(chuàng)建表1)啟動(dòng)“企業(yè)管理器”,選擇我們注冊好的數(shù)據(jù)庫服務(wù)器,展開“數(shù)據(jù)庫”文件夾,選中“學(xué)生選課”數(shù)據(jù)庫,單擊前面的“+”號(hào),使其展示為樹型目錄。在樹型目錄中選中“表”,單擊鼠標(biāo)右鍵,在彈出菜單上如果選中“新建表”,則出現(xiàn)“新建表”對(duì)話框。2)在“新建表”對(duì)話框中輸入表的各個(gè)列的屬性。參照圖11.4、11.5、11.6。25學(xué)生表圖11.426課程表圖11.527選課表圖11.628圖11.7“屬性”對(duì)話框293)關(guān)閉“新建表”對(duì)話框,出現(xiàn)“選擇表名”對(duì)話框,輸入相應(yīng)的表名,單擊“確定”按鈕,關(guān)閉對(duì)話框。(2)通過查詢分析器實(shí)現(xiàn)創(chuàng)建和管理基本表SQLServer除了可以用“企業(yè)管理器”創(chuàng)建數(shù)據(jù)表外,還可以利用Transact-SQL語句中的CREATETABLE命令創(chuàng)建表.打開SQLServer查詢分析器,輸入以下相應(yīng)的Transact-SQL語句并執(zhí)行:30USE學(xué)生選課;GOCREATETABLE學(xué)生(學(xué)號(hào)CHAR(4)NOTNULLUNIQUE,姓名CHAR(8)NOTNULL,性別CHAR(2),年齡SMALLINTDEFAULT21,電話CHAR(13),系編號(hào)CHAR(4),31CONSTRAINTC1CHECK(性別IN(‘男’,‘女’)));CREATETABLE課程(課程號(hào)CHAR(5)PRIMARYKEY,
課程名稱CHAR(20),
學(xué)分NUMERIC(2,1));GOCREATETABLE選課(學(xué)號(hào)CHAR(4),
課程號(hào)CHAR(5),
成績SMALLINT,32CONSTRAINTC2CHECK(成績BETWEEN0AND100),CONSTRAINTC3PRIMARYKEY(學(xué)號(hào),課程號(hào)),CONSTRAINTC4FOREIGNKEY(學(xué)號(hào))REFERENCES學(xué)生(學(xué)號(hào)),CONSTRAINTC5FOREIGNKEY(課程號(hào))REFERENCES課程(課程號(hào)));33五、實(shí)驗(yàn)要求1.閱讀SQLServer2000聯(lián)機(jī)幫助文檔中:SQLServer構(gòu)架中的數(shù)據(jù)庫構(gòu)架;創(chuàng)建和維護(hù)數(shù)據(jù)庫兩項(xiàng)內(nèi)容,然后回答下列問題:(1)
數(shù)據(jù)庫包括哪些數(shù)據(jù)庫對(duì)象?各對(duì)象的主要作用是什么?(2)
數(shù)據(jù)庫文件與日志文件的異同點(diǎn)是什么?342.分別用
SQL企業(yè)管理器和查詢分析器建立數(shù)據(jù)庫和表,著重體會(huì)他們的聯(lián)系和區(qū)別。3.通過企業(yè)管理器中“表和索引屬性”對(duì)話框?qū)崿F(xiàn)實(shí)驗(yàn)要求的約束條件,這里沒有具體說明怎樣實(shí)現(xiàn),試著完成它。4.理解實(shí)驗(yàn)中使用查詢分析器時(shí)所涉及到的每一條SQL語句的含義,特別是里面約束的語句的實(shí)現(xiàn)方法及所實(shí)現(xiàn)的功能35六、注意事項(xiàng)1.在用企業(yè)管理器或查詢分析器建表時(shí),本書給出的實(shí)例僅供參考,學(xué)生可以做一些合理的變動(dòng)。2.注意數(shù)據(jù)庫的主碼、外碼和數(shù)據(jù)約束的定義。3.
查詢分析器中輸入SQL語句時(shí),語句中均使用西文操作符號(hào)。
36回目錄七、思考題1.為什么要設(shè)定主碼?怎樣的屬性適合做主碼?2.學(xué)生選課數(shù)據(jù)庫的學(xué)生表中
,屬性學(xué)號(hào)即可采用數(shù)值型,又可采用字符型,選用哪一種比較好?為什么?37一、實(shí)驗(yàn)?zāi)康?.進(jìn)一步熟悉查詢分析器和企業(yè)管理器的使用方法。2.掌握向數(shù)據(jù)庫輸入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù)的方法11.2實(shí)驗(yàn)二數(shù)據(jù)庫的更新38二、相關(guān)知識(shí)
實(shí)驗(yàn)一中,我們已經(jīng)知道,在SQLServer中,可以用企業(yè)管理器和查詢分析器實(shí)現(xiàn)一些相同的功能,表中數(shù)據(jù)的更新也一樣。主要的有兩種方法:一是通過SQLServer企業(yè)管理器展開表,右鍵單擊要操作的表,選擇“打開表”->“返回所有行”,進(jìn)行可視化地輸入、修改和刪除。二是使用Transact-SQL語句,即本實(shí)驗(yàn)主要要掌握INSERT、UPDATE和DELETE語句進(jìn)行數(shù)據(jù)更新.39通過SQLServer企業(yè)管理器進(jìn)行數(shù)據(jù)更新的步驟:1)選中數(shù)據(jù)庫,展開數(shù)據(jù)庫文件夾
,進(jìn)一步展開指定的數(shù)據(jù)庫。單擊表文件夾
,找到需要更新數(shù)據(jù)的基本表。2)用鼠標(biāo)右擊要更新數(shù)據(jù)的表
,會(huì)出現(xiàn)與表相關(guān)操作的彈出菜單
,在彈出菜單中選擇“打開表”→“返回所有行”,就會(huì)出現(xiàn)表數(shù)據(jù)更新對(duì)話框
,如圖2.8所示。方法一40圖11.8數(shù)據(jù)更新界面413)需要數(shù)據(jù)插入時(shí)
,就在最后一條記錄后輸入一條記錄。當(dāng)鼠標(biāo)點(diǎn)擊其他行時(shí)
,輸入的記錄會(huì)自動(dòng)保存在表中。4)需要修改記錄時(shí)
,直接對(duì)表中己有記錄的數(shù)據(jù)進(jìn)行改動(dòng)
,用新值替換原有值。5)需要?jiǎng)h除記錄時(shí)
,先用鼠標(biāo)單擊要?jiǎng)h除行的左邊灰色方塊
,使該記錄成為當(dāng)前行
,然后按
Delete鍵。為了防止誤操作
,SQLServer2000將彈出一42
個(gè)警告框
,要求用戶確認(rèn)刪除操作
,單擊“確認(rèn)”按鈕即可刪除記錄。也可通過先選中一行或多行記錄
,然后再按
Delete鍵的方法一次刪除多條記錄。
6)在表中單擊鼠標(biāo)右鍵時(shí)
,會(huì)彈出如圖11.8所示的菜單
,選擇菜單項(xiàng)可執(zhí)行相應(yīng)的操作
,如剪切、復(fù)制等操作。
7)對(duì)表中的數(shù)據(jù)進(jìn)行操作之后,可點(diǎn)擊工具欄中的感嘆號(hào)“!”按鈕,實(shí)現(xiàn)對(duì)操作的保存,然后就可以關(guān)閉表了。43三、實(shí)驗(yàn)內(nèi)容
建立學(xué)生選課數(shù)據(jù)庫中的學(xué)生、課程和選課3個(gè)表,要求各輸入10條以上記錄。注意:記錄不僅要滿足數(shù)據(jù)約束要求,還要滿足表間關(guān)聯(lián)。示例
如下:44學(xué)號(hào)Snum姓名Sname性別Sex年齡Sage電話Sphone系編號(hào)DnumS001王明男1986824571D2S002李勇男2389454321D3S003劉燕女21D1S004王萍女23D1S005王佳男2413098765892D3S006趙婷女20D1學(xué)生表
45學(xué)號(hào)Snum課程號(hào)Cnum成績ScoreS001C183S001C289S001C365S001C485S001C569S002C378S002C475S005C195S004C185S005C292S005C376課程號(hào)Cnum課程名稱Cname學(xué)分CfreqC1數(shù)據(jù)庫系統(tǒng)原理4C2C程序設(shè)計(jì)4C3計(jì)算機(jī)體系結(jié)構(gòu)3C4自動(dòng)控制原理2C5數(shù)據(jù)結(jié)構(gòu)4選課表課程表46在學(xué)生選課庫中,用Transact-SQL語句實(shí)現(xiàn)下列數(shù)據(jù)更新操作。1)在已經(jīng)存在的學(xué)生表中增加一個(gè)郵件地址“Semail”的新屬性列,允許為空。
2)修改學(xué)生表中Sname的數(shù)據(jù)類型為VARCHAR(20)。3)將新生(學(xué)號(hào):S020;姓名:伍??;性別:男;年齡:22;電話:49542784;系編號(hào):D4)的記錄方法二47插入學(xué)生表,并增加相應(yīng)的選課記錄(‘S020’,‘C1’,80)。4)假設(shè)過了一個(gè)學(xué)年,將所有學(xué)生的年齡增加1歲。5)事后發(fā)現(xiàn)學(xué)生王佳考試作弊,將其所有成績改為0分。486)學(xué)號(hào)為S002的學(xué)生平時(shí)表現(xiàn)優(yōu)異,將其成績增加10分。7)由于選修課程C3的學(xué)生人數(shù)太少,學(xué)校決定暫不開課,刪除所有C3的選課記錄。
8)學(xué)號(hào)為S004的學(xué)生由于退學(xué),刪除該學(xué)生及其選課記錄。49四、實(shí)驗(yàn)步驟1.
按相關(guān)知識(shí)中企業(yè)管理器更新的步驟并參照示例表中的數(shù)據(jù)在學(xué)生選課數(shù)據(jù)庫的表中添加記錄,添加完畢后進(jìn)行刪除、修改等操作。2.把以上題目轉(zhuǎn)化為Transact-SQL語句,輸入到查詢分析器中執(zhí)行,查看數(shù)據(jù)庫中的表記錄,看是否完成了我們所要求的更新,直至正確為止。50五、實(shí)驗(yàn)要求1.
使用企業(yè)管理器時(shí),也要留意沒有用到的菜單、工具等,盡快熟悉企業(yè)管理器的整個(gè)環(huán)境。2.
認(rèn)真做完題目,理解其中Transact-SQL語句的含義;完成以上題目后,自己寫一些SQL語句在查詢分析器中運(yùn)行分析。3.寫出操作的過程及其相應(yīng)的Transact-SQL語句和操作結(jié)果
(數(shù)據(jù)庫中各表的數(shù)據(jù)
)。
51六、注意事項(xiàng)1.在查詢分析器中對(duì)表中的數(shù)據(jù)進(jìn)行插入、修改、刪除時(shí),必須在輸入?yún)^(qū)的頂部選擇表所在的數(shù)據(jù)庫,或者首先執(zhí)行USE[數(shù)據(jù)庫名]語句,選中將要操作的數(shù)據(jù)庫。2.輸入數(shù)據(jù)時(shí)要注意數(shù)據(jù)類型、主碼和數(shù)據(jù)約束的限制。3.數(shù)據(jù)更改和數(shù)據(jù)刪除時(shí)要注意外碼約束。52
七、思考題
1.
SQLServer2000提供了哪些基本數(shù)據(jù)類型?
2.
SQLServer2000有哪些方法可用來保證數(shù)據(jù)的完整性約束?
3.數(shù)據(jù)庫中一般不允許更改主碼數(shù)據(jù)。如果需要更改主碼數(shù)據(jù)時(shí)
,怎樣處理
?4.試著刪除被參照表中的主碼,看看會(huì)出現(xiàn)什么樣的情況?分析一下系統(tǒng)這么做的原因。
回目錄53
11.3實(shí)驗(yàn)三
數(shù)據(jù)庫的簡單查詢和連接查詢實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.
掌握SQLServer查詢分析器的使用方法。2.
加深對(duì)SQL語言的查詢語句的理解。3.
熟練掌握簡單表的數(shù)據(jù)查詢、數(shù)據(jù)排序和數(shù)據(jù)連結(jié)查詢的操作方法。54二、相關(guān)知識(shí)
數(shù)據(jù)庫中數(shù)據(jù)的簡單查詢包括投影、選擇條件表達(dá),數(shù)據(jù)排序,使用臨時(shí)表等;連接查詢包括等值連接、自然連接、求笛卡兒積、一般連接、外連接、內(nèi)連接、左連接、右連接和自身連接等。分別參照教材3.3.1節(jié)的簡單查詢和72頁的連接查詢。55三、實(shí)驗(yàn)內(nèi)容1.在學(xué)生選課庫中,用Transact-SQL語句實(shí)現(xiàn)下列簡單數(shù)據(jù)查詢操作。
1)查詢系編號(hào)為‘D2’學(xué)生的基本信息(學(xué)號(hào)、姓名、性別、年齡)。
2)
查詢學(xué)號(hào)為S006的學(xué)生的姓名。
3)查詢成績在60-85之間的學(xué)生的學(xué)號(hào)。
4)查詢所有姓王,并且姓名為兩個(gè)字的學(xué)生的信息。簡單數(shù)據(jù)查詢565)查詢選修課程號(hào)為‘C1’且成績非空的學(xué)生學(xué)號(hào)和成績,成績按150分制輸出(每個(gè)成績乘以系數(shù)1.5)。6)查詢有選課記錄的所有學(xué)生的學(xué)號(hào),用DISTINCT限制結(jié)果中學(xué)號(hào)不重復(fù)。7)查詢選修課程‘C1’的學(xué)生學(xué)號(hào)和成績,結(jié)果按成績的升序排列,如果成績相同則按學(xué)號(hào)的降序排列。572.在學(xué)生選課庫中,用Transact-SQL語句實(shí)現(xiàn)下列連接數(shù)據(jù)查詢操作。
1)
查詢所有學(xué)生的學(xué)號(hào)、姓名、選修的課程和成績。
2)
查詢所有學(xué)生的姓名、選修的課程名和相應(yīng)的學(xué)分。
3)
查詢選修課程號(hào)為‘C2’且成績優(yōu)秀(85分以上)的學(xué)生學(xué)號(hào)、姓名和成績。連接數(shù)據(jù)查詢58四、實(shí)驗(yàn)步驟
將題目中得查詢需求轉(zhuǎn)換為Transact-SQL語句;輸入查詢分析器的輸入?yún)^(qū)中執(zhí)行,查看結(jié)果區(qū)中的查詢結(jié)果,直至正確為止。59五、實(shí)驗(yàn)要求1.認(rèn)真完成以上題目,遇到問題和錯(cuò)誤,按錯(cuò)誤提示分析原因,在查錯(cuò)和改錯(cuò)中加深對(duì)Transact-SQL語句語義和規(guī)則的了解。2.讀懂語句,預(yù)測結(jié)果,并與實(shí)際運(yùn)行的結(jié)果相對(duì)照。60六、注意事項(xiàng)
1.內(nèi)連接、左外部連接和右外部連接的區(qū)別及Transact-SQL語句的實(shí)現(xiàn)方法。
2.結(jié)果區(qū)中有4種輸出形式:標(biāo)準(zhǔn)執(zhí)行、網(wǎng)格執(zhí)行、計(jì)劃執(zhí)行、索引分析,不同的輸出形式顯示不同的內(nèi)容。61七、思考題
考慮一下影響數(shù)據(jù)查詢和連接速度的因素及提高查詢和連接速度的方法。
回目錄6211.4實(shí)驗(yàn)四數(shù)據(jù)庫復(fù)雜查詢
一、實(shí)驗(yàn)?zāi)康?/p>
1.進(jìn)一步掌握SQLServer查詢分析器的使用方法
2.加深對(duì)SQL語言的嵌套查詢語句的理解。
3.熟練掌握數(shù)據(jù)查詢中分組、統(tǒng)計(jì)、計(jì)算和集合的操作方法。63二、相關(guān)知識(shí)
數(shù)據(jù)庫中的復(fù)雜查詢主要指嵌套查詢、分組和使用函數(shù)查詢、集合查詢等。
數(shù)據(jù)庫嵌套查詢指在SQLServer查詢分析器中使用IN、比較符、ANY或ALL和EXISTS操作符進(jìn)行嵌套查詢操作。64
分組查詢包括分組條件表達(dá)、選擇組條件表達(dá)的方法。往往跟聚合函數(shù)配合使用。聚合函數(shù)是綜合信息的統(tǒng)計(jì)函數(shù),包括計(jì)數(shù)、求最大值、最小值、平均值、和值等。具體用法參照教材3.3.3節(jié)聚合函數(shù)和分組。
由前面的實(shí)驗(yàn)可知,每一個(gè)查詢塊的執(zhí)行結(jié)果都是行的集合,如果結(jié)構(gòu)相同,則不同的查詢塊之間可以進(jìn)行集合運(yùn)算,這就是組合查詢。集合運(yùn)算主要包括并運(yùn)算(UNION)、交運(yùn)算(INTERSECT)和差運(yùn)算(MINUS)。65三、實(shí)驗(yàn)內(nèi)容1.利用Transact-SQL嵌套語句實(shí)現(xiàn)下列數(shù)據(jù)查詢操作。
1)
查詢選修了計(jì)算機(jī)體系結(jié)構(gòu)的學(xué)生的基本信息。
2)查詢年齡比李勇小的學(xué)生的學(xué)號(hào)和成績。
3)
查詢其他系中比系編號(hào)為‘D1’的學(xué)生中年齡最小者要大的學(xué)生的信息。66
4)查詢其他系中比系編號(hào)為‘D3’的學(xué)生年齡都大的學(xué)生的姓名。
5)查詢‘C1’課程的成績高于70的學(xué)生姓名。
6)查詢‘C1’課程的成績不高于70的學(xué)生姓名。
7)查詢不存在該生沒有選修的選課記錄的學(xué)生姓名。672.利用聚合函數(shù)實(shí)現(xiàn)以下查詢操作。1)查詢學(xué)校開設(shè)的課程總數(shù)。2)查詢選修兩門及兩門以上課程的學(xué)生姓名。3)查詢開設(shè)的課程和選修該課程的學(xué)生的總成績、平均成績、最高成績和最低成績。683.利用交、并、差運(yùn)算實(shí)現(xiàn)以下查詢操作。1)查詢系編號(hào)為‘D2’且選修課程的最低成績大于等于60分的學(xué)生信息。2)查詢系編號(hào)為‘D2’或選修課程的最低成績大于等于60分的學(xué)生信息。3)查詢選修課程‘C1’的學(xué)生集合與選修課程‘C2’的學(xué)生集合的差集。4)查詢系編號(hào)為‘D1’、選修課程成績有在80分以上的學(xué)生集合與年齡大于20歲的學(xué)生集合的差集。69四、實(shí)驗(yàn)步驟將查詢需求用Transact-SQL語言表示,在查詢分析器的輸入?yún)^(qū)中輸入Transact-SQL查詢語句并執(zhí)行,在結(jié)果區(qū)中查看查詢結(jié)果,看是否正確。如果否,修改繼續(xù)調(diào)試,直到正確為止。70
五、實(shí)驗(yàn)要求1.寫出查詢語句,上機(jī)驗(yàn)證每一個(gè)題目,掌握利用Transact-SQL語句實(shí)現(xiàn)復(fù)雜查詢的方法,體會(huì)運(yùn)用SQL語言的技巧。2.同一個(gè)題目可以有不同的Transact-SQL語句來實(shí)現(xiàn),用一種方法實(shí)現(xiàn)后,想想還有沒有其他的更好的方法。713.為了便于理解,實(shí)驗(yàn)中給出的例題相對(duì)都比較簡單,要求學(xué)生課外找一些更加復(fù)雜的例子自己實(shí)驗(yàn),也可以自己做出一些查詢需求,通過Transact-SQL語句實(shí)現(xiàn)。72六、注意事項(xiàng)1.這里再次強(qiáng)調(diào),所有的操作符號(hào)都必須在英文輸入法狀態(tài)下輸入。2.子句
WHERE條件表示元組篩選條件
,子句
HAVING條件表示組選擇條件,兩者不可以混淆。而且它們有一個(gè)顯著的區(qū)別,HAVING條件必須和
GROUPBY分組字段子句配合使用。
3.查詢條件比較復(fù)雜時(shí),必須分清層次關(guān)系和括號(hào)的成對(duì)搭配。73七、思考題1.如何使用聚合函數(shù)?聚合函數(shù)包含哪些?2.試用多種形式表示實(shí)驗(yàn)中的查詢語句
,比較它們的優(yōu)劣?;啬夸?411.5實(shí)驗(yàn)五關(guān)系圖、索引和視圖的定義及維護(hù)一、實(shí)驗(yàn)?zāi)康?.掌握創(chuàng)建關(guān)系圖的方法。2.掌握創(chuàng)建、查看和刪除索引的操作和方法。3.理解視圖的含義,能使用SQLServer企業(yè)管理器創(chuàng)建視圖并對(duì)其進(jìn)行管理。75二、相關(guān)知識(shí)虛線表示INSERT和UPDATE事務(wù)不強(qiáng)制引用完整性;關(guān)系線終結(jié)點(diǎn)有一個(gè)主鍵符號(hào)表示主鍵到外鍵的關(guān)系;有一個(gè)無窮符號(hào)表示一對(duì)多關(guān)系的外鍵端。76索引是對(duì)數(shù)據(jù)庫表中一個(gè)或多個(gè)列的值進(jìn)行排序的結(jié)構(gòu),利用索引可以快速訪問數(shù)據(jù)庫表中的特定信息。假設(shè)想按特定課程的課程號(hào)來查找課程信息,如果建立索引就不需要搜索所有的記錄行,從而更快的獲取信息。索引提供指針以指向存儲(chǔ)在表中指定列的數(shù)據(jù)值,然后根據(jù)指定的排序次序排列這些指針。77
數(shù)據(jù)庫使用索引的方式:通過索引找到指定的值,然后跟隨指針到達(dá)包含該值的行。索引本身占用磁盤空間,并且會(huì)降低添加、刪除和更新行的速度,所以只有當(dāng)經(jīng)常查詢索引列中的數(shù)據(jù)時(shí),才需要在表上創(chuàng)建索引。如果應(yīng)用程序非常頻繁地更新數(shù)據(jù)或磁盤空間有限時(shí),最好限制索引的數(shù)量。78視圖是根據(jù)子模式建立的虛擬表。一個(gè)視圖可以由一個(gè)表或其他視圖構(gòu)造,也可以由多個(gè)表或其他視圖構(gòu)造。利用企業(yè)管理器和視圖創(chuàng)建向?qū)нM(jìn)行創(chuàng)建,查看和修改視圖就如同對(duì)表的操作一樣,非常容易。79三、實(shí)驗(yàn)內(nèi)容1.使用向?qū)?chuàng)建一個(gè)關(guān)系圖。2.創(chuàng)建和管理索引。3.創(chuàng)建一個(gè)視圖,對(duì)創(chuàng)建的視圖進(jìn)行查詢、修改和刪除。80四、實(shí)驗(yàn)步驟1.使用創(chuàng)建數(shù)據(jù)庫關(guān)系圖向?qū)閷W(xué)生選課數(shù)據(jù)庫中的學(xué)生表,課程表,選課表創(chuàng)建關(guān)系圖。
2.為選課表創(chuàng)建一個(gè)基于成績列的按降序排列的唯一聚簇索引IX-_選課。
3.對(duì)索引進(jìn)行管理。4.創(chuàng)建一個(gè)視圖VIEW_學(xué)生,顯示學(xué)生的學(xué)號(hào)、姓名和成績。
5.查詢、修改和刪除視圖。
81五、實(shí)驗(yàn)要求1.按實(shí)驗(yàn)步驟認(rèn)真完成實(shí)驗(yàn)操作。2.索引和視圖的創(chuàng)建和管理也可以用查詢分析器實(shí)現(xiàn),參照課本上的相關(guān)Transact-SQL命令,寫出對(duì)應(yīng)的Transact-SQL實(shí)現(xiàn)代碼。3.將視圖的創(chuàng)建、修改、刪除過程與實(shí)驗(yàn)一中表的創(chuàng)建、修改、和刪除進(jìn)行對(duì)照,看看有什么相同點(diǎn)和不同點(diǎn)。
82六、注意事項(xiàng)
注意參照表和被參照表之間的關(guān)系,主碼和外碼之間的關(guān)系。七、思考題
1.
考慮一下視圖的作用,在什么樣的情況下需要建立視圖?
2.
索引、視圖和基本表有什么不同
?
回目錄8311.6實(shí)驗(yàn)六數(shù)據(jù)庫的安全性和完整性一、實(shí)驗(yàn)?zāi)康?.加深對(duì)數(shù)據(jù)安全性和完整性的理解。2.
掌握SQLServer中有關(guān)用戶、角色及操作權(quán)限的管理方法。3.
學(xué)會(huì)創(chuàng)建觸發(fā)器,了解觸發(fā)器的基本概念,理解觸發(fā)器的功能。84二、相關(guān)知識(shí)
SQLServer系統(tǒng)通過Windows認(rèn)證和SQLServer認(rèn)證兩種安全模式來確認(rèn)用戶身份。當(dāng)使用Windows認(rèn)證模式時(shí),由Windows系統(tǒng)確認(rèn)用戶登錄賬號(hào)或組賬號(hào),一旦進(jìn)入系統(tǒng)就可以直接訪問SQLServer系統(tǒng)。當(dāng)使用SQLServer認(rèn)證模式時(shí),必須提供SQLServer的登錄賬號(hào)和密碼,經(jīng)過SQLServer系統(tǒng)的確認(rèn)才可以訪問里面的數(shù)據(jù)。觸發(fā)器是一種特殊類型的存儲(chǔ)過程,用來保證數(shù)85據(jù)完整性,當(dāng)對(duì)它所保護(hù)數(shù)據(jù)進(jìn)行插入、修改和刪除時(shí)自動(dòng)激活,對(duì)改變的數(shù)據(jù)進(jìn)行檢查,以防止對(duì)數(shù)據(jù)進(jìn)行不正確、未授權(quán)或不一致的修改。一個(gè)觸發(fā)器只適用于一個(gè)表,每個(gè)表最多只能有三個(gè)觸發(fā)器,它們分別是INSERT、UPDATE和DELETE觸發(fā)器。觸發(fā)器僅在實(shí)施數(shù)據(jù)完整性和處理業(yè)務(wù)規(guī)則時(shí)使用。有關(guān)更詳細(xì)的信息,感興趣的同學(xué)可以在幫助中搜索主題。86三、實(shí)驗(yàn)內(nèi)容1.在SQLServer企業(yè)管理器中設(shè)置安全認(rèn)證模式為SQLServer認(rèn)證。2.通過SQLServer企業(yè)管理器實(shí)現(xiàn)對(duì)SQLServer的用戶和角色管理、通過SQLServer企業(yè)管理器和SQL的數(shù)據(jù)控制功能設(shè)置和管理數(shù)據(jù)操作權(quán)限。3.用查詢分析器創(chuàng)建簡單的觸發(fā)器,修改觸發(fā)器和刪除觸發(fā)器.87四、實(shí)驗(yàn)步驟1.在SQLServer企業(yè)管理器中設(shè)置認(rèn)證模式為SQLServer和WindowsNT混合安全認(rèn)證模式。其步驟如下:1)在企業(yè)管理器窗口中展開服務(wù)器組,用鼠標(biāo)右擊需要設(shè)置的SQL服務(wù)器,在彈出的菜單中選擇“屬性”項(xiàng),則出現(xiàn)SQLServer屬性對(duì)話框,如圖11.18
所示。
88圖11.18SQLServer屬性對(duì)話框892)在SQLServer屬性對(duì)話框中選擇“安全性”選項(xiàng)卡。身份驗(yàn)證選擇“SQLServer和Windows”單選項(xiàng)。2.在SQLServer企業(yè)管理器中為自己建立一個(gè)服務(wù)器用戶、數(shù)據(jù)庫用戶和數(shù)據(jù)庫角色。步驟如下:1)打開企業(yè)管理器,展開到“安全性”文件夾下的“登錄”,右鍵單擊,選擇“新建登錄”命令,出現(xiàn)新建登錄對(duì)話框,如圖11.19所示。90圖11.19新建登錄對(duì)話框912)在常規(guī)選項(xiàng)卡中,輸入用戶名(如“至尊寶”),選擇SQLServer身份驗(yàn)證,輸入用戶口令。在服務(wù)器角色選項(xiàng)卡中,需要確定用戶所屬的服務(wù)器角色,這里采用缺省值。在數(shù)據(jù)庫訪問選項(xiàng)卡中,指定此登錄可以訪問的數(shù)據(jù)庫(學(xué)生選課數(shù)據(jù)庫)和數(shù)據(jù)庫角色(這里也采用缺省值)。單擊“確定”按鈕,即完成了創(chuàng)建登錄用戶的工作。923.將學(xué)生選課數(shù)據(jù)庫的操作權(quán)限賦予數(shù)據(jù)庫用戶至尊寶。打開企業(yè)管理器,展開到學(xué)生選課數(shù)據(jù)庫下的“用戶”,單擊“用戶”。在屏幕右側(cè)的“用戶”窗口中選擇“至尊寶”項(xiàng),右鍵單擊,選擇“屬性”命令,出現(xiàn)數(shù)據(jù)庫用戶屬性對(duì)話框,如圖11.20,11.21所示。93圖11.20數(shù)據(jù)庫用戶屬性對(duì)話框94圖11.21數(shù)據(jù)庫用戶權(quán)限對(duì)話框95
對(duì)話框的下面是有關(guān)數(shù)據(jù)庫用戶和角色所對(duì)應(yīng)的權(quán)限表。這些權(quán)限均以復(fù)選框的形式表示。復(fù)選框有三種狀態(tài):“√”為授權(quán);“×”為廢除權(quán);空為撤權(quán)。在表中可以對(duì)用戶或角色的各種對(duì)象操作權(quán)(SELECT、INSERT、UPDATE、DELETE、EXEC和DRI)進(jìn)行授予或撤消4.通過查詢分析器,把選課表的INSERT權(quán)限授予用戶至尊寶。以系統(tǒng)管理員或sa用戶登錄進(jìn)入查詢分析器。在查詢分析器中輸入授權(quán)語句“GRANTINSERTON選課TO至尊寶”,然后執(zhí)行即可。965.用企業(yè)管理器創(chuàng)建觸發(fā)器,當(dāng)學(xué)生表中有新的記錄插入時(shí),提示用戶在選課表中加入相應(yīng)的選課記錄。具體步驟:1)打開企業(yè)管理器擴(kuò)展到學(xué)生選課數(shù)據(jù)庫,選擇學(xué)生表,右鍵單擊,選擇“所有任務(wù)”->“管理觸發(fā)器”,出現(xiàn)的觸發(fā)器屬性對(duì)話框,如圖11.22
所示。
97圖11.22觸發(fā)器屬性對(duì)話框982)在文本框中輸入創(chuàng)建觸發(fā)器的Transact-SQL語句(語句見上圖),單擊“檢查語法”按鈕進(jìn)行語法的檢查,檢查無誤后,單擊“確定”按鈕。3)打開查詢分析器,在頂部的下拉框中選中學(xué)生選課數(shù)據(jù)庫,運(yùn)行INSERT語句在學(xué)生表中加入一條學(xué)生記錄(如INSERTINTO學(xué)生VALUES(‘S012’,‘東’,‘男’,22,‘86918842’,‘D2’);),驗(yàn)證觸發(fā)器,看看會(huì)出現(xiàn)什么結(jié)果。4)創(chuàng)建好以后還可以選擇要修改的觸發(fā)器進(jìn)行修改或刪除。99五、實(shí)驗(yàn)要求1.
上機(jī)完成以上實(shí)驗(yàn)步驟。2.查閱一些關(guān)于觸發(fā)器的資料,對(duì)觸發(fā)器做更深層次的了解。100六、注意事項(xiàng)1.不同的SQL
Server的安全認(rèn)證模式有不同的特點(diǎn),在實(shí)際應(yīng)用中,應(yīng)該選擇適合自己需求的方式。2.在實(shí)際的數(shù)據(jù)庫開發(fā)中,用戶、角色和權(quán)限的分配必須十分的小心,這直接牽涉到重要數(shù)據(jù)的安全性。101七、思考題1.
SQLServer中有哪些數(shù)據(jù)安全性功能
?保證數(shù)據(jù)安全性你覺得還需要注意那些方面的問題?
2.什么是觸發(fā)器
?主要功能是什么
?回目錄10211.7實(shí)驗(yàn)七數(shù)據(jù)庫備份和恢復(fù)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.了解SQLServer的數(shù)據(jù)備份和恢復(fù)機(jī)制,2.掌握SQLServer中數(shù)據(jù)庫備份和恢復(fù)的方法。二、相關(guān)知識(shí)
SQLServer提供了三種備份形式:完全備份、差異備份和事務(wù)日志備份。完全備份就是將數(shù)據(jù)庫完全復(fù)制到備份文件中;事務(wù)日志備份則備份發(fā)生103在數(shù)據(jù)庫上的事務(wù);差異備份只備份最近一次完全備份以后數(shù)據(jù)庫發(fā)生變化的數(shù)據(jù)。
數(shù)據(jù)庫的備份和恢復(fù)操作也有兩種方式。一是靜態(tài)的備份和恢復(fù)方式。該方式在進(jìn)行數(shù)據(jù)備份或恢復(fù)操作時(shí),SQL服務(wù)器不接受任何應(yīng)用程序的訪問請求,只執(zhí)行備份或恢復(fù)操作。二是動(dòng)態(tài)的備份和恢復(fù)方式。該方式在進(jìn)行數(shù)據(jù)備份或恢復(fù)操作時(shí),SQL服務(wù)器同時(shí)接受應(yīng)用程序的訪問請求。104三、實(shí)驗(yàn)內(nèi)容1、用企業(yè)管理器創(chuàng)建、查看和刪除備份設(shè)備。2、為學(xué)生選課數(shù)據(jù)庫設(shè)置一個(gè)備份計(jì)劃(如每月對(duì)數(shù)據(jù)庫備份一次)。3、利用向?qū)閷W(xué)生選課數(shù)據(jù)庫生成一個(gè)完全備份。4、在企業(yè)管理器中恢復(fù)學(xué)生選課數(shù)據(jù)庫。105四、實(shí)驗(yàn)步驟1.創(chuàng)建、查看和刪除備份設(shè)備。1)創(chuàng)建備份設(shè)備。打開企業(yè)管理器,展開到管理文件夾下的“備份”。右鍵單擊,選擇“新建備份設(shè)備”命令,出現(xiàn)如圖11.23所示的備份設(shè)備屬性對(duì)話框。輸入備份設(shè)備的名稱“學(xué)生選課數(shù)據(jù)庫設(shè)備1”和文件名(可以單擊文件名欄最右邊的“…”按鈕
,在彈出的對(duì)話框中確定或改變備份設(shè)備的缺省磁盤文件路徑和文件名)。單擊“確定”按鈕,備份設(shè)備就創(chuàng)建成功了。106
2)查看備份設(shè)備的相關(guān)信息。打開企業(yè)管理器,展開到管理文件夾下的“備份”,在右邊的對(duì)象窗口中選擇要查看的備份設(shè)備,右鍵單擊,選擇“屬性”,會(huì)彈出與圖11.23相似的備份設(shè)備屬性對(duì)話框,單擊設(shè)備名稱右邊的“查看內(nèi)容”按鈕
,會(huì)彈出備份設(shè)備的信息框
,從中可以查看備份數(shù)據(jù)庫及備份創(chuàng)建日期等信息。
3)刪除備份設(shè)備。在企業(yè)管理器中選擇要?jiǎng)h除的備份設(shè)備,右鍵單擊,選擇“刪除”命令,即可刪除備份設(shè)備。
107
圖11.23備份設(shè)備屬性對(duì)話框
1082.為學(xué)生選課數(shù)據(jù)庫設(shè)置備份計(jì)劃。1)進(jìn)入數(shù)據(jù)庫備份對(duì)話框。打開企業(yè)管理器,展開到學(xué)生選課數(shù)據(jù)庫,右鍵單擊,選擇“所有任務(wù)”->“備份數(shù)據(jù)庫”,就會(huì)彈出數(shù)據(jù)庫備份對(duì)話框。該對(duì)話框中有常規(guī)(如圖11.24所示)和選項(xiàng)(如圖11.25所示)兩個(gè)頁面。109圖11.24數(shù)據(jù)庫備份的常規(guī)頁面110圖11.25數(shù)據(jù)庫備份的選項(xiàng)頁面111
2)在“數(shù)據(jù)庫”框中選擇學(xué)生選課數(shù)據(jù)庫,在“名稱”框中輸入備份名稱(這里采用默認(rèn)),選擇備份方法為完全備份,按“添加”按鈕把剛才建立的“學(xué)生選課數(shù)據(jù)庫備份1”添加到目的欄中,在“重寫”欄中選擇“追加到媒體”(選擇“追加到媒體”將數(shù)據(jù)庫備份追加在備份設(shè)備已有內(nèi)容之后,選擇“重寫現(xiàn)有媒體”則用數(shù)據(jù)庫備份覆蓋備份設(shè)備中原有的內(nèi)容)。1123)設(shè)定備份計(jì)劃。選中調(diào)度復(fù)選框,單擊右邊的“…”按鈕
,就會(huì)出現(xiàn)編輯備份計(jì)劃對(duì)話框,如圖11.26所示。在名稱中輸入備份計(jì)劃的名稱??梢赃x擇以下4種調(diào)度類型:
(1)SQLServer代理啟動(dòng)時(shí)自動(dòng)啟動(dòng):每當(dāng)SQLServerAgent啟動(dòng)工作時(shí),都自動(dòng)進(jìn)行數(shù)據(jù)庫備份。
(2)每當(dāng)
CPU閑置時(shí)啟動(dòng):每當(dāng)
CPU空閑時(shí)進(jìn)行數(shù)據(jù)庫備份。113(3)一次:設(shè)定進(jìn)行數(shù)據(jù)庫備份的一次性時(shí)間。(4)反復(fù)出現(xiàn):按一定周期進(jìn)行數(shù)據(jù)庫備份。
默認(rèn)選中“反復(fù)出現(xiàn)”調(diào)度類型,單擊右下方的“更改”按鈕,出現(xiàn)“編輯反復(fù)出現(xiàn)的作業(yè)調(diào)度”對(duì)話框,這里可以進(jìn)行備份的發(fā)生頻率、時(shí)間、持續(xù)時(shí)間等參數(shù)的設(shè)置,如圖11.27所示。按“確定”回到圖11.24。114圖11.26編輯備份計(jì)劃對(duì)話框115
圖11.27編輯反復(fù)出現(xiàn)的作業(yè)調(diào)度對(duì)話框
116
4)設(shè)置選項(xiàng)頁面內(nèi)容。選擇“選項(xiàng)”卡,對(duì)復(fù)選框進(jìn)行恰當(dāng)?shù)倪x擇“完成后驗(yàn)證備份”復(fù)選框確定系統(tǒng)是否進(jìn)行備份設(shè)備驗(yàn)證?!皺z查媒體集名稱和備份集到期時(shí)間”復(fù)選框決定是否檢查備份設(shè)備上原有內(nèi)容的失效日期。只有當(dāng)原有內(nèi)容失效后,新的備份才能覆蓋原有內(nèi)容?!俺跏蓟?biāo)識(shí)媒體”復(fù)選框確定是否初始化備份設(shè)備。備份設(shè)備的初始化相當(dāng)于磁盤格式化,只有當(dāng)覆蓋模式為“重寫”時(shí),才可以初始化備份設(shè)備。選擇完成后單擊“確定”按鈕,完成設(shè)置。1173.利用向?qū)閷W(xué)生選課數(shù)據(jù)庫生成一個(gè)完全備份。1)打開企業(yè)管理器,選擇學(xué)生選課數(shù)據(jù)庫。選擇菜單“工具”―>“向?qū)А?,出現(xiàn)向?qū)нx擇對(duì)話框。在向?qū)нx擇對(duì)話框中,展開管理文件夾。選擇“備份向?qū)А?,單擊“確定”按鈕。2)進(jìn)入創(chuàng)建備份向?qū)Ш?,首先出現(xiàn)的是歡迎使用創(chuàng)建數(shù)據(jù)庫備份向?qū)?duì)話框,其中簡單介紹了該向?qū)У墓δ?。單擊“下一步”后,出現(xiàn)“選擇要備份數(shù)據(jù)庫”對(duì)話框。選擇學(xué)生選課數(shù)據(jù)庫,單118擊“下一步”,就會(huì)出現(xiàn)“鍵入備份的名稱和描述”對(duì)話框。輸入備份名稱,單擊“下一步”繼續(xù)。3)接著出現(xiàn)的是“選擇備份類型”對(duì)話框。選擇“數(shù)據(jù)庫備份”,單擊“下一步”,隨后出現(xiàn)的對(duì)話框只要采用默認(rèn)設(shè)置,直接按“下一步”即可,最后單擊“完成”按鈕,完成數(shù)據(jù)庫備份。1194.在企業(yè)管理器中恢復(fù)學(xué)生選課數(shù)據(jù)庫。1)打開學(xué)生選課數(shù)據(jù)庫,刪除其中的一個(gè)表(如課程表),即當(dāng)前的學(xué)生選課數(shù)據(jù)庫中沒有課程表。2)恢復(fù)學(xué)生選課數(shù)據(jù)庫。打開企業(yè)管理器,擴(kuò)展到學(xué)生選課數(shù)據(jù)庫,右鍵單擊選擇“所有任務(wù)”->“還原數(shù)據(jù)庫”,就會(huì)出現(xiàn)還原數(shù)據(jù)庫對(duì)話框。單擊“確定”即可完成數(shù)據(jù)庫恢復(fù)。3)打開學(xué)生選課數(shù)據(jù)庫,驗(yàn)證被破壞(刪除)的課程表是否已經(jīng)成功恢復(fù)。120五、實(shí)驗(yàn)要求1.明白不同數(shù)據(jù)庫備份方式的區(qū)別,在實(shí)際應(yīng)用中能選擇恰當(dāng)?shù)臄?shù)據(jù)庫備份方式。2.實(shí)現(xiàn)以上步驟,當(dāng)數(shù)據(jù)庫發(fā)生錯(cuò)誤時(shí),有能力用已有的備份恢復(fù)數(shù)據(jù)庫。
121六、注意事項(xiàng)1.數(shù)據(jù)庫往往會(huì)遇到許多可知或不可知、人為或自然等因素的破壞,如果不及時(shí)地對(duì)數(shù)據(jù)庫進(jìn)行備份,當(dāng)數(shù)據(jù)受到破壞時(shí)就會(huì)產(chǎn)生災(zāi)難性地結(jié)果,所以必須養(yǎng)成及時(shí)備份地習(xí)慣。2.當(dāng)有多個(gè)備份時(shí),一般選用最新且沒有錯(cuò)誤的備份進(jìn)行恢復(fù)。122七、思考題
SQLServer支持的三種數(shù)據(jù)備份和恢復(fù)策略的功能特點(diǎn)是什么?該如何去判斷選取哪種比較恰當(dāng)?回目錄12311.8實(shí)驗(yàn)八綜合實(shí)驗(yàn)(一)一、實(shí)驗(yàn)?zāi)康?/p>
1.通過完成從用戶需求分析、系統(tǒng)概略設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì)以及數(shù)據(jù)庫的SQL具體實(shí)現(xiàn)等全過程,把我們
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程機(jī)械車輛維修方案招標(biāo)文件
- 特色幼兒園教師聘用協(xié)議
- 電影院放映員聘用合同
- 高速公路設(shè)施招投標(biāo)管理規(guī)定
- 工業(yè)園區(qū)施工合同
- 債務(wù)清償合同樣本
- 旅游景區(qū)食堂后勤招聘合同
- 2024年土地承包經(jīng)營權(quán)變更合同參考文本3篇
- 餐飲業(yè)員工解聘合同模板
- 農(nóng)村文化車輛出入管理方法
- 出租房屋安全檢查制度模版(2篇)
- 《森林防火安全教育》主題班會(huì) 課件
- 漏洞修復(fù)策略優(yōu)化
- 乘風(fēng)化麟 蛇我其誰 2025XX集團(tuán)年終總結(jié)暨頒獎(jiǎng)盛典
- 車間生產(chǎn)現(xiàn)場5S管理基礎(chǔ)知識(shí)培訓(xùn)課件
- 2024年同等學(xué)力申碩英語考試真題
- 文書模板-《公司與村集體合作種植協(xié)議書》
- 碼頭安全生產(chǎn)知識(shí)培訓(xùn)
- 《死亡詩社》電影賞析
- JJF(京) 105-2023 網(wǎng)絡(luò)時(shí)間同步服務(wù)器校準(zhǔn)規(guī)范
- 老年科護(hù)理查房護(hù)理病歷臨床病案
評(píng)論
0/150
提交評(píng)論