




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書目 錄實(shí)驗(yàn)一 SQL SERVER2000數(shù)據(jù)庫的使用1實(shí)驗(yàn)二 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表5實(shí)驗(yàn)三 SQL技術(shù)14實(shí)驗(yàn)四 實(shí)現(xiàn)視圖22實(shí)驗(yàn)五 創(chuàng)建和維護(hù)索引27實(shí)驗(yàn)六 觸發(fā)器管理32實(shí)驗(yàn)七 數(shù)據(jù)的備份與恢復(fù)35*實(shí)驗(yàn)八 SQL Server2000安全管理40實(shí)驗(yàn)一 SQL SERVER2000數(shù)據(jù)庫的使用實(shí)驗(yàn)?zāi)康?1. 了解Microsoft SQL Server安裝方法與步驟2. 了解SQL Server 2000常用管理工具3. 初步熟悉系統(tǒng)提供的學(xué)習(xí)數(shù)據(jù)庫4. 掌握在線手冊(cè)的使用實(shí)驗(yàn)內(nèi)容一、安裝過程操作要求:本地安裝SQL Server 2000,明確安裝步驟以
2、及注意事項(xiàng)。在WindowsXP或Windows2000 Professional操作系統(tǒng)平臺(tái)下安裝SQL Server 2000個(gè)人版。 系統(tǒng)安裝完畢后,在開始菜單“程序”中新增了如圖1.1所示的菜單。圖1.1程序組菜單二、使用服務(wù)管理器操作要求:對(duì)已安裝的本地SQL Server服務(wù)器,完成啟動(dòng)、暫停和停止操作。操作1:執(zhí)行“開始程序Microsoft SQL Server服務(wù)管理器”菜單命令,或雙擊桌面任務(wù)欄上“服務(wù)管理器”圖標(biāo)按鈕,打開“服務(wù)管理器”窗口,如圖1.2所示。注意:SQL Server服務(wù)管理器用交通信號(hào)燈比喻SQL Server的啟動(dòng)( )、停止( )和暫停( )。圖1.
3、2 “服務(wù)管理器”窗口 操作2:在窗口中的“服務(wù)器”欄,選擇要啟動(dòng)的數(shù)據(jù)庫服務(wù)器(取決于所安裝的實(shí)例),在“服務(wù)”中選擇“SQL Server”,單擊“開始/繼續(xù)”按鈕,啟動(dòng)SQL Server。注意:選擇“當(dāng)啟動(dòng)OS時(shí)自動(dòng)啟動(dòng)服務(wù)”復(fù)選按鈕,可在每次Windwos啟動(dòng)時(shí)自動(dòng)啟動(dòng)SQL Server。操作3:?jiǎn)螕簟皶和!卑粹o,觀察信號(hào)燈變化;單擊“停止”按鈕,觀察信號(hào)燈變化;再次單擊“開始/繼續(xù)”按鈕。操作4:關(guān)閉服務(wù)管理器窗口(但SQL Server服務(wù)仍在運(yùn)行,任務(wù)欄上的“ ” 圖標(biāo)表示服務(wù)已啟動(dòng))。三、使用企業(yè)管理器操作要求:?jiǎn)?dòng)SQL Server的“企業(yè)管理器”,查看已安裝的數(shù)據(jù)庫實(shí)
4、例中系統(tǒng)數(shù)據(jù)庫情況。(如果條件許可,并嘗試在企業(yè)管理器中通過向?qū)А靶陆⊿QL Server注冊(cè)”,連接SQL Server教學(xué)遠(yuǎn)程數(shù)據(jù)庫服務(wù)器。)圖1.3 “企業(yè)管理器”窗口操作1:執(zhí)行“開始程序Microsoft SQL Server企業(yè)管理器”菜單命令,打開“企業(yè)管理器”,如圖1.1所示。 操作2:?jiǎn)螕舸翱谥袠錉钅夸洿案裰小癕icrosoft SQL Server”節(jié)點(diǎn),并打開在其下級(jí)SQL Server組下自己安裝的數(shù)據(jù)庫實(shí)例的“數(shù)據(jù)庫”樹節(jié)點(diǎn)(如圖1.3所示),瀏覽系統(tǒng)自動(dòng)創(chuàng)建的數(shù)據(jù)庫情況,并單擊某一數(shù)據(jù)庫(如Pubs或Northwind學(xué)習(xí)數(shù)據(jù)庫)節(jié)點(diǎn),瀏覽其中包含的數(shù)據(jù)庫對(duì)象。注意
5、:如果相應(yīng)實(shí)例的數(shù)據(jù)庫服務(wù)器未啟動(dòng),用鼠標(biāo)右鍵單擊該數(shù)據(jù)庫服務(wù)器,從彈出的快捷菜單中選擇“連接”也可啟動(dòng)SQL Server服務(wù)。四、使用查詢分析器操作要求:通過“企業(yè)管理器”進(jìn)入“查詢分析器”,按示例進(jìn)行簡(jiǎn)單的數(shù)據(jù)查詢操作。操作1:在“企業(yè)管理器”窗口中,選位pubs數(shù)據(jù)庫(系統(tǒng)提供的學(xué)習(xí)用數(shù)據(jù)庫),執(zhí)行“工具SQL查詢分析器”菜單命令(如圖1.4所示),打開“查詢分析器”窗口(如圖1.5所示)。圖1.4 “工具”菜單圖1.5 “查詢分析器”窗口操作2:通過窗口的工具欄確認(rèn)當(dāng)前庫數(shù)據(jù)庫為“ ”,在查詢分析器的文本窗口中輸入查詢語句:SELECT * FROM publishers
6、執(zhí)行“查詢 ”菜單命令或單擊工具欄上相應(yīng)按鈕,執(zhí)行查詢,注意觀察輸出結(jié)果;關(guān)閉查詢分析器窗口。注意:執(zhí)行查詢語句之前,可以先執(zhí)行“查詢分析”菜單命令,分析SQL代碼的語法正確性。操作3:也可以執(zhí)行“開始程序Microsoft SQL Server查詢分析器”菜單命令,打開“查詢分析器”,但首先應(yīng)在如圖1.6所示的連接SQL Server對(duì)話框中選擇連接的服務(wù)器,并輸入合法的用戶名與密碼,可進(jìn)入SQL查詢分析器。圖1.6連接對(duì)話框 五、使用聯(lián)機(jī)叢書操作要求:通過SQL Server 聯(lián)機(jī)叢書了解權(quán)威的“SQL Server”的相關(guān)說明。操作1:通過“開始菜單”的Microsoft SQL Ser
7、ver程序組,打開“聯(lián)機(jī)叢書”,如圖1.7所示。圖1.7“聯(lián)機(jī)叢書”窗口操作2:在聯(lián)機(jī)叢書窗口的“目錄”標(biāo)簽中,選擇感興趣的標(biāo)題,展開瀏覽。如:?jiǎn)螕簟鞍惭bSQL Server基本安裝選項(xiàng)實(shí)例名稱”,查看實(shí)例命名規(guī)則。操作3:在聯(lián)機(jī)叢書窗口的“索引”標(biāo)簽中,輸入關(guān)鍵字“服務(wù)器”,選擇【服務(wù)器-SQL Server, sa 密碼】項(xiàng),查看系統(tǒng)關(guān)于“sa”用戶身份的說明介紹。操作4:在聯(lián)機(jī)叢書窗口的“搜索”標(biāo)簽中,輸入查找的短語“pubs 示例數(shù)據(jù)庫”,打開主題“pubs 示例數(shù)據(jù)庫”,然后查看pubs數(shù)據(jù)庫的有關(guān)信息。注意:在“企業(yè)管理器”或“查詢分析器”中,執(zhí)行“幫助”菜單命令,以及使用工具欄按
8、鈕“ ”也可打開聯(lián)機(jī)幫助說明書。技能要點(diǎn)· Microsoft SQL Server 2000安裝步驟 · 三個(gè)實(shí)用工具程序(服務(wù)管理器、企業(yè)管理器和查詢分析器)的基本操作 · 使用在線手冊(cè),快速查找特定主題內(nèi)容。實(shí)驗(yàn)二 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表 實(shí)驗(yàn)?zāi)康?. 掌握數(shù)據(jù)庫和數(shù)據(jù)表的創(chuàng)建方法與步驟2. 了解數(shù)據(jù)庫及其對(duì)象的SQL腳本的自動(dòng)生成3. 進(jìn)一步熟練企業(yè)管理器和查詢分析器的使用實(shí)驗(yàn)內(nèi)容一、創(chuàng)建和修改數(shù)據(jù)庫操作要求:分別使用SQL Server 2000企業(yè)管理器和Transcat-SQL語句,按下列要求創(chuàng)建和修改用戶數(shù)據(jù)庫。1創(chuàng)建一個(gè)名
9、為“testdb”數(shù)據(jù)庫: (1)包含一個(gè)數(shù)據(jù)文件,邏輯文件名“testdb_data”,磁盤文件名“testdb_data.mdf”,文件初始容量為5MB,最大容量為15MB,文件容量遞增值為1MB;(2)包含一個(gè)事務(wù)日志文件,邏輯文件名為“testdb_log”, 磁盤文件名“testdb_log.ldf”,文件初始容量為5MB,最大容量為10MB,文件容量遞增值為1MB;2對(duì)數(shù)據(jù)庫作如下修改:(1)添加一個(gè)數(shù)據(jù)文件,邏輯文件“testdb2_data”,磁盤文件名“testdb2_data.ndf”,文件初始容量為1MB,最大容量為6MB,文件容量遞增值為1MB;(2)將事務(wù)日志文件的最
10、大容量增加為15MB,遞增值改為2MB;3使用企業(yè)管理器創(chuàng)建和修改數(shù)據(jù)庫操作1:?jiǎn)?dòng)“企業(yè)管理器”,在控制面板的“樹形目錄”中選擇“數(shù)據(jù)庫”節(jié)點(diǎn),單擊鼠標(biāo)右鍵,在彈出菜單中選擇“新建數(shù)據(jù)庫”命令,出現(xiàn)如圖2.12.3所示“數(shù)據(jù)庫屬性”對(duì)話框。· 設(shè)置常規(guī)選項(xiàng)卡:在“名稱”文本框中輸入數(shù)據(jù)庫名稱“testdb”;圖2.1數(shù)據(jù)庫屬性“常規(guī)” 選項(xiàng)卡圖2.2“數(shù)據(jù)文件”選項(xiàng)卡圖2.3“事物日志文件” 選項(xiàng)卡· 設(shè)置數(shù)據(jù)文件選項(xiàng)卡:在文件名字段中輸入數(shù)據(jù)文件邏輯文件名“testdb_data”;設(shè)置該文件初始大小為5MB;標(biāo)記“文件屬性”欄下的“文件自動(dòng)增長” 復(fù)選框,并選中“按兆
11、字節(jié)”設(shè)置文件容量遞增值為1。在“最大文件大小”對(duì)話框中選擇“將文件增長限制為(MB)”為15。· 設(shè)置事務(wù)日志選項(xiàng)卡:在文件名字段中輸入數(shù)據(jù)文件邏輯文件名“testdb_log”;設(shè)置該文件初始大小為5MB,標(biāo)記“文件屬性”欄下的“文件自動(dòng)增長”復(fù)選框,并選中“按兆字節(jié)”設(shè)置文件容量遞增值為1;在“最大文件大小”對(duì)話框中,選擇“將文件增長限制為(MB)”為10。注意:在選項(xiàng)卡中,單擊“位置”下文件名前的“”按鈕,可以選擇相應(yīng)文件夾并輸入文件名保存所新建的數(shù)據(jù)文件和事務(wù)日志文件;本例選擇默認(rèn)值。單擊“確定”按鈕,完成數(shù)據(jù)庫的創(chuàng)建。操作2:修改數(shù)據(jù)庫。1)在“樹狀目錄窗格”中,選擇新建
12、的數(shù)據(jù)庫“testdb”,單擊鼠標(biāo)右鍵,在彈出菜單中選擇“屬性”命令,打開數(shù)據(jù)庫屬性窗口;2)選擇數(shù)據(jù)文件選項(xiàng)卡,在其中添加數(shù)據(jù)文件“testdb2_data”(文件名),確定初始分配容量1MB,文件按1兆字節(jié)增長,文件增長限制為6MB,如圖2.4所示。3)選擇事務(wù)日志選項(xiàng)卡,在其中將事務(wù)日志文件的最大容量改為15,遞增量改為2。注意:修改數(shù)據(jù)庫時(shí),其屬性對(duì)話框中將增加“文件組”、“選項(xiàng)”和“權(quán)限”選項(xiàng)卡,可參照相關(guān)要求設(shè)置,本例中可使用默認(rèn)設(shè)置。圖2.4 添加數(shù)據(jù)文件4使用Transact-SQL語句創(chuàng)建和修改數(shù)據(jù)庫1)創(chuàng)建數(shù)據(jù)庫程序代碼:CREATE DATABASE testdb
13、0; ON PRIMARY ( NAME = testdb_Data, = 'C:Program FilesMicrosoft SQL ServerMSSQLdatatestdb_Data.MDF' , SIZE = 5, MAXSIZE = 15, = 1 ) LOG ON ( NAME = testdb_Log,
14、160; = 'C:Program FilesMicrosoft SQL ServerMSSQL datatestdb_Log.LDF' , SIZE = 5, MAXSIZE = 10, = 1 )GONOTE:若按百分比增長則=n%,如=10%表示按10%遞增。2)修改數(shù)據(jù)庫文件增加輔助文件testdb2_data:USE testdbALTER DATABASE testdbADD FILE(
15、NAME=testdb2_data, = 'C:Program FilesMicrosoft SQL Serverdata testdb2_data.NDF' , SIZE = 1, MAXSIZE = 6, = 1 )GO修改日志文件testdb_Log:USE testdbALTER DATABASE testdbMODIFY FILE( NAME = test
16、db_Log, MAXSIZE = 15, = 2 )GO3)自動(dòng)生成Transcat-SQL程序代碼操作1:使用企業(yè)管理器,自動(dòng)生成已建“testdb”數(shù)據(jù)庫的相關(guān)Transcat-SQL程序代碼。(1)在企業(yè)管理器窗口的“樹形目錄窗格”,選擇已建“testdb”數(shù)據(jù)庫,單擊鼠標(biāo)右鍵,在快捷菜單中執(zhí)行“所有任務(wù)生成SQL腳本”命令,如圖2.5所示。圖2.5 快捷菜單圖2.6“生成SQL腳本”對(duì)話框(2)在彈出的如圖2.6所示對(duì)話框中,單擊“選項(xiàng)”選項(xiàng)卡,標(biāo)記“編
17、寫數(shù)據(jù)庫腳本”復(fù)選框;再選擇“常規(guī)”選項(xiàng)卡,單擊“預(yù)覽”按鈕,在生成的SQL腳本預(yù)覽框中,瀏覽查看;也可選擇“復(fù)制”,將該文本復(fù)制到記事本或其他文本編輯器中備用。注意:以后你可以用類似方法,生成你所需要的SQL腳本代碼。操作2:使用查詢分析器建立數(shù)據(jù)庫。(1)在企業(yè)管理器窗口,選擇原新建數(shù)據(jù)庫“testdb”,單擊鼠標(biāo)右鍵,在快捷菜單中執(zhí)行數(shù)據(jù)庫“刪除”命令;然后執(zhí)行“工具SQL查詢分析器”菜單命令,進(jìn)入查詢分析器窗口。(2)在查詢分析器窗口,輸入建立數(shù)據(jù)庫程序代碼,或?qū)⒈4娴臄?shù)據(jù)庫“自動(dòng)生成的SQL腳本”復(fù)制到其文本窗口,“分析”無誤后“執(zhí)行”,則完成建庫任務(wù)。注意:在查詢分析器窗口的“對(duì)象
18、瀏覽器”中,刷新服務(wù)器對(duì)象,可以觀察到新建的testdb數(shù)據(jù)庫。窗口中SQL代碼可以保存為磁盤文件(.sql)作為備用。操作3:使用查詢分析器修改數(shù)據(jù)庫。(1)假如操作2中,在查詢分析器的文本窗口輸入并執(zhí)行的是本次實(shí)驗(yàn)提供的建立數(shù)據(jù)庫程序代碼,則清除文本窗口內(nèi)容,輸入提供的數(shù)據(jù)庫修改程序代碼,分析并執(zhí)行。(2)假如操作2中,在查詢分析器的文本窗口輸入并執(zhí)行的是自動(dòng)生成的SQL腳本代碼,有關(guān)修改的具體內(nèi)容,由學(xué)習(xí)者自己靈活設(shè)定。二、創(chuàng)建和修改數(shù)據(jù)表操作要求:使用企業(yè)管理器或Transcat-SQL語句,按下列要求testdb數(shù)據(jù)庫中創(chuàng)建兩個(gè)用戶數(shù)據(jù)表(項(xiàng)目表和員工表),并按步驟完成對(duì)數(shù)據(jù)表的相關(guān)
19、修改和約束設(shè)置。項(xiàng)目表員工表字段名數(shù)據(jù)類型注釋字段名數(shù)據(jù)類型注釋項(xiàng)目編號(hào)Int主鍵,標(biāo)識(shí)列編號(hào)Int主鍵,標(biāo)識(shí)列名稱Varchar長度50姓名Char長度10負(fù)責(zé)人Int 性別Char長度2客戶Int 所屬部門Varchar長度50開始日期Datetime 工資Money長度8結(jié)束日期Datetime 1使用企業(yè)管理器創(chuàng)建數(shù)據(jù)表并添加約束操作1:創(chuàng)建數(shù)據(jù)表(1)啟動(dòng)企業(yè)管理器,在樹狀目錄窗格中找到數(shù)據(jù)庫節(jié)點(diǎn)“testdb”,選擇其下級(jí)“表”節(jié)點(diǎn) ,單擊鼠標(biāo)右鍵,從快捷菜單中選擇“新建表”命令,打開表設(shè)計(jì)窗口,輸入前面“員工表”表格中所列字段的
20、“列名”、“數(shù)據(jù)類型”、“長度”以及是否允許空,如圖2.7所示。(2)選定編號(hào)字段,在下面“列”屬性標(biāo)簽上,單擊“標(biāo)識(shí)”下拉列表,選擇“是”,設(shè)置該字段為“標(biāo)識(shí)列”。(3)選定編號(hào)字段,單擊工具欄“ ”按鈕,設(shè)置該字段為“主鍵”。圖2.7 表屬性修改窗口(4)單擊“保存”按鈕,輸入表名“員工表”,關(guān)閉表設(shè)計(jì)窗口,完成項(xiàng)目表創(chuàng)建。同樣步驟,創(chuàng)建數(shù)據(jù)表“項(xiàng)目表”。操作2:參照“員工表”的編號(hào)字段,對(duì)“項(xiàng)目表”的負(fù)責(zé)人字段添加外鍵約束(FOREIGN KEY 約束)。(1)在企業(yè)管理器的控制面板“樹形目錄窗格”中,選定testdb數(shù)據(jù)庫中“表”節(jié)點(diǎn),在內(nèi)容窗格中,鼠標(biāo)右鍵單擊“項(xiàng)目表”,執(zhí)行快捷菜單
21、中 “設(shè)計(jì)表”命令;(2)在打開的表屬性修改窗口中,單擊工具欄管理關(guān)系“ ”按鈕,選擇“關(guān)系”選項(xiàng)卡;(3)單擊“新建”按鈕,主鍵表為“員工表”,選擇字段編號(hào);外鍵表為“項(xiàng)目表”,選擇字段負(fù)責(zé)人,如圖2.8所示。(4)關(guān)系名可使用缺省或另取,單擊關(guān)閉按鈕,完成設(shè)置。圖2.8 表設(shè)計(jì)窗口操作3:對(duì)“員工表”的工資字段,添加檢查 (CHECK) 約束。(1)同樣,在“員工表”的表屬性設(shè)計(jì)窗口中,單擊管理關(guān)系“ ”按鈕,選擇CHECK約束選項(xiàng)卡;(2)單擊“新建”按鈕,在“約束表達(dá)式”文本框中輸入一個(gè)條件表達(dá)式:(工資 >= 1000 and 工資 <= 10000);(3)約束名可缺省
22、或另取,單擊關(guān)閉按鈕,完成設(shè)置。2使用Transcat-SQL語句創(chuàng)建數(shù)據(jù)表并添加約束操作:在查詢分析器窗口的文本窗口中,輸入下列程序代碼,分析并執(zhí)行。USE testdbGO-建立員工表CREATE TABLE 員工表 ( 編號(hào) int NOT NULL PRIMARY KEY, 姓名 char(10), 性別 char(2), 所屬部門 varchar(50), 工資 money
23、 )GO-建立項(xiàng)目表CREATE TABLE 項(xiàng)目表 ( 項(xiàng)目編號(hào) int NOT NULL PRIMARY KEY, 名稱 varchar(50) , 負(fù)責(zé)人 int,客戶 int,開始日期 datetime ,結(jié)束日期 datetime )GO-添加外鍵約束ALTER TABLE 項(xiàng)目表 ADD CONSTRAINT FK_項(xiàng)目表_員工表 FOREIGN
24、 KEY (負(fù)責(zé)人) REFERENCES 員工表 (編號(hào))GO-添加檢查約束ALTER TABLE 員工表 ADD CONSTRAINT CK_員工表CHECK (工資>= 1000 and 工資<= 10000)GO你可以使用“項(xiàng)目表”和“員工表”自動(dòng)生成的SQL腳本。三、數(shù)據(jù)表的記錄數(shù)據(jù)操作操作要求:使用企業(yè)管理器,在已建的“員工表”和“項(xiàng)目表”中添加和刪除記錄數(shù)據(jù)。操作1:在企業(yè)管理器窗口中,選擇數(shù)據(jù)庫testdb的數(shù)據(jù)表“員工表”,單擊鼠標(biāo)右鍵,執(zhí)行快捷菜單中“打開表返回所有行”命令,在如圖2.9所示的表記錄數(shù)據(jù)操作窗口中,
25、添加數(shù)據(jù);選擇某一行記錄,單擊鼠標(biāo)右鍵,在快捷菜單中執(zhí)行“刪除”命令,可以刪除指定行記錄數(shù)據(jù)。操作2:同樣,打開“項(xiàng)目表”,在其中添加與修改若干記錄數(shù)據(jù),如圖2.10所示。注意:(1)由于“員工表”與“項(xiàng)目表”以建立表間關(guān)聯(lián),請(qǐng)先輸入“員工表”記錄數(shù)據(jù);(2)輸入數(shù)據(jù),請(qǐng)注意表中已設(shè)置的數(shù)據(jù)完整性約束對(duì)記錄數(shù)據(jù)的要求。圖2.9 員工表記錄數(shù)據(jù)圖2.10 項(xiàng)目表記錄數(shù)據(jù)在企業(yè)管理器中,你嘗試對(duì)指定表的記錄數(shù)據(jù)進(jìn)行導(dǎo)入/導(dǎo)出。操作提示:在數(shù)據(jù)表的右鍵快捷菜單中選擇“導(dǎo)出數(shù)據(jù)”,按向?qū)崾?,將該表的記錄?shù)據(jù)導(dǎo)出到一個(gè)文本文件中;新建一個(gè)相同結(jié)構(gòu)的表,然后選擇“導(dǎo)入數(shù)據(jù)”菜單命令項(xiàng),將前面保存在文本文
26、件中數(shù)據(jù),按向?qū)崾静僮?,?dǎo)入到新建表中。 操作3:建立教材P82(第四版)給定的三個(gè)關(guān)系Student、Course、SC(保存于STD數(shù)據(jù)庫中),并添加數(shù)據(jù)。再在STD數(shù)據(jù)庫中添加一個(gè)teacher表,其結(jié)構(gòu)及內(nèi)容如下:Teacher(教工號(hào),姓名,家庭住址,電話,職稱,教研室)教工號(hào)姓名家庭住址電話職稱教研室2111伍俊明沈陽市教授計(jì)算機(jī)軟件2112單建魁沈陽市講師計(jì)算機(jī)網(wǎng)絡(luò)2113趙啟升沈陽市工程師計(jì)算機(jī)網(wǎng)絡(luò)2114胡云沈陽市助教計(jì)算機(jī)應(yīng)用2115楊壽海沈陽市助教計(jì)算機(jī)應(yīng)用2116張立紅沈陽市講師計(jì)算機(jī)軟件技能要點(diǎn) · 使用企業(yè)管理器創(chuàng)建和修改數(shù)據(jù)庫以及數(shù)據(jù)表· 主
27、鍵(PRIMARY KEY)和外鍵(FOREING KEY)約束實(shí)現(xiàn)強(qiáng)制實(shí)體完整性和引用完整性· 自動(dòng)生成數(shù)據(jù)庫及其對(duì)象的SQL腳本· 使用Transact-SQL語句(CREATE、ALTER)建立和修改數(shù)據(jù)庫及數(shù)據(jù)表· 使用企業(yè)管理器,添加和修改數(shù)據(jù)表記錄數(shù)據(jù)實(shí)驗(yàn)三 SQL技術(shù) 實(shí)驗(yàn)?zāi)康耐ㄟ^使用SQL查詢分析器(Server Query Analyzer)1. 熟練基本SELECT查詢,掌握腳本的修改和執(zhí)行2. 掌握使用SELECT語句的主要子句,實(shí)現(xiàn)數(shù)據(jù)表的復(fù)雜檢索3. 掌
28、握完成數(shù)據(jù)更新和修改的操作查詢語句實(shí)驗(yàn)內(nèi)容說明:本實(shí)驗(yàn)中所涉及的關(guān)系為實(shí)驗(yàn)二中在STD數(shù)據(jù)庫中建立的關(guān)系。一、單表查詢操作:?jiǎn)?dòng)“查詢分析器”,用Transcat-SQL語句完成指定的操作,或分析并執(zhí)行Transcat-SQL語句,觀察輸出結(jié)果。練習(xí)1:從course表中分別檢索出課程的所有信息,以及僅查詢課程名和學(xué)分。寫出查詢語句: 練習(xí)2:使用TOP關(guān)鍵字指定返回結(jié)果集的前n行。執(zhí)行以下給定的SQL語句,根據(jù)執(zhí)行結(jié)果寫出其語義。(1)USE STD (2) USE STDselect top 2 select top 60 percentfrom course from course 練習(xí)
29、3:列出course表中不同的學(xué)分。寫出查詢語句: 練習(xí)4:從course表中檢索出課程號(hào)、課程名和學(xué)分,其中cno所在列的列名為課程號(hào),cname所在列的列名為課程名,所有課程的學(xué)分都加1,其列名為修正學(xué)分。寫出查詢語句: 思考:如果只是高等數(shù)學(xué)這門課的學(xué)分加1,應(yīng)如何改動(dòng): 練習(xí)5:執(zhí)行下面的語句,分析執(zhí)行的結(jié)果。USE STDselect cno+. +cname,cpno,creditform course 練習(xí)6:檢索course表,返回休正后的學(xué)分仍然大于4的課程的課程號(hào)、課程名及原先的學(xué)分。寫出查詢語句: 練習(xí)7:查詢course表中所有學(xué)分大于2并且課程號(hào)小于5的課程信息。寫出
30、查詢語句: 練習(xí)8:查詢學(xué)分在27之間的課程信息。寫出查詢語句(寫出兩種形式): 練習(xí)9:從course表中查詢出課程號(hào)為1、4、7的課程的課程號(hào)、課程名及學(xué)分。寫出查詢語句(寫出兩種形式): 通常情況下,SQL Server 2000提供了4種通配符供用戶實(shí)現(xiàn)復(fù)雜的查詢條件:l %:表示0n個(gè)任意字符。l _;表示單個(gè)的任意字符。l :表示方括號(hào)里列出的任意一個(gè)字符。l :任意一個(gè)沒有在方括號(hào)里列出的字符。練習(xí)10:從teacher表中檢索出姓伍的教師資料。寫出查詢語句: 練習(xí)11:從teacher表中檢索出姓名第2個(gè)字是壽或立的教師資料。 練習(xí)12:從course表中查詢學(xué)分大于3的課程信
31、息,并按升序排列。寫出查詢語句: 練習(xí)13:對(duì)course表中的數(shù)據(jù),按照學(xué)分修正為原學(xué)分加1并按序號(hào)降序進(jìn)行排序。寫出查詢語句: 練習(xí)14:查詢課程數(shù)。寫出查詢語句: 練習(xí)15:查詢不同學(xué)分的個(gè)數(shù)(學(xué)分分為幾種)。寫出查詢語句: 練習(xí)16:查詢信息系學(xué)生的平均年齡。寫出查詢語句: 練習(xí)17:查詢計(jì)算機(jī)系學(xué)生選修課程的最高成績。寫出查詢語句: 練習(xí)18:查詢各個(gè)學(xué)分及相應(yīng)的課程數(shù)。寫出查詢語句: 練習(xí)19:查詢有2門以上課程成績>=90的學(xué)生學(xué)號(hào)及成績>=90的課程數(shù)。寫出查詢語句: 二、多表查詢練習(xí)20:查詢每個(gè)學(xué)生及其選修課情況(使用自然連接)。寫出查詢語句: 練習(xí)21:查詢每
32、門課的間接先修課。寫出查詢語句: 練習(xí)22:以student表為主體列出每個(gè)學(xué)生的基本情況及其選課情況,如果學(xué)生沒有選課,只輸出其基本情況。寫出查詢語句(寫出兩種形式): 練習(xí)23:查詢選修了2號(hào)課程且成績?cè)?0分以上的學(xué)生信息。寫出查詢語句: 練習(xí)24:查詢每個(gè)學(xué)生的學(xué)號(hào)、姓名、選修的課程及成績。寫出查詢語句: 練習(xí)25:在STD數(shù)據(jù)庫中,查詢所有計(jì)算機(jī)系學(xué)生的學(xué)號(hào)、選修課程號(hào)及分?jǐn)?shù)。寫出查詢語句(寫出兩種形式): 練習(xí)26:查詢選修了課程名為“操作系統(tǒng)”的學(xué)生學(xué)號(hào)和姓名。寫出查詢語句(用IN嵌套實(shí)現(xiàn)): 練習(xí)27:在STD數(shù)據(jù)庫中,查詢所有計(jì)算機(jī)系學(xué)生的學(xué)號(hào)、選修課程號(hào)以及分?jǐn)?shù)。寫出查詢語
33、句(用EXISTS嵌套實(shí)現(xiàn)): 練習(xí)28:查詢與“劉晨”在同一個(gè)系學(xué)習(xí)的學(xué)生。寫出查詢語句(寫出三種形式): 練習(xí)29:查詢其它系中比信息系某一學(xué)生年齡大的學(xué)生姓名和年齡。寫出查詢語句(寫出兩種形式): 練習(xí)30:查詢選修了課程1或者選修了課程4的學(xué)生。寫出查詢語句(寫出兩種形式): 練習(xí)30:查詢信息系的學(xué)生與年齡不大于19歲的學(xué)生的差集。寫出查詢語句(寫出兩種形式): 練習(xí)31:建立關(guān)系Employee,內(nèi)容如下:iddepsalaryrank001A8002002A9003003B8502004B10003005C7002(id表示職員編號(hào),dep表示職員所屬部門,salary表示職員的
34、薪水,rank表示職員的等級(jí))(1)選出平均工資大于850的部門。 (2)選出級(jí)別為2的職員的平均工資。 (3)選出級(jí)別為3的職員的最高工資大于900的部門。 三、數(shù)據(jù)操縱練習(xí)32:使用SQL增加一條記錄到course表中,增加的記錄內(nèi)容如下:(9,數(shù)據(jù)挖掘,1,5) 練習(xí)33:執(zhí)行以下SQL語句,再重新檢索course表中的數(shù)據(jù),分析其結(jié)果的變化。USE STDINSERT course(Cno,Cname,Cpno,Ccredit)SELECT 001+Cno,新+Cname, Cpno,CcreditFROM course(本例中認(rèn)為Cno是char型,若是int型改為100+Cno)c
35、ourse表產(chǎn)生了怎樣的變化: 練習(xí)34:修改Cno為1的記錄的課程名為數(shù)據(jù)庫原理及應(yīng)用。寫出查詢語句: 練習(xí)35:將信息系全體學(xué)生的成績改為80。寫出查詢語句: 練習(xí)36:教工胡云辭職,刪除胡云的記錄。寫出查詢語句: 練習(xí)37:刪除信息系所有學(xué)生的選課記錄。寫出查詢語句: 練習(xí)38:執(zhí)行以下語句:USE STDTRUNCATE course再次查看course表中的內(nèi)容,分析執(zhí)行的結(jié)果,并寫出等價(jià)的SQL語句: 技能要點(diǎn)· 基本SELECT查詢· 使用SELECT語句的主要子句,實(shí)現(xiàn)復(fù)雜查詢· 數(shù)據(jù)表的記錄數(shù)據(jù)更新與修改(1)使用INSERT 語句的插入數(shù)據(jù)(2
36、)使用UPDATE語句更新數(shù)據(jù)(3)使用DELETE語句刪除一個(gè)表中數(shù)據(jù)行實(shí)驗(yàn)四 實(shí)現(xiàn)視圖 實(shí)驗(yàn)?zāi)康?1 掌握使用企業(yè)管理器創(chuàng)建并管理視圖的步驟與方法2 掌握Transact-SQL語句創(chuàng)建與管理視圖3 熟悉通過視圖更新數(shù)據(jù)表中記錄數(shù)據(jù)的方法實(shí)驗(yàn)內(nèi)容一、使用企業(yè)管理器創(chuàng)建和管理視圖操作要求:在testdb數(shù)據(jù)庫中,創(chuàng)建基于數(shù)據(jù)表“項(xiàng)目表”和“員工表”的視圖。具體要求如下:(1)自定視圖名(如“員工項(xiàng)目_VIEW”等);(2)含“員工表”中字段'編號(hào)'、'姓名',字段別名分別是'員工編號(hào)'、'員工姓名';(3)含“項(xiàng)目表”中字段
37、39;名稱'、'開始日期',字段別名分別是'項(xiàng)目名稱'和'項(xiàng)目開始日期'。1使用企業(yè)管理器中“向?qū)А眲?chuàng)建視圖操作1:?jiǎn)?dòng)企業(yè)管理器,執(zhí)行控制臺(tái)根目錄窗口中“工具向?qū)А辈藛?,在如圖4.1所示對(duì)話框中,選擇“數(shù)據(jù)庫創(chuàng)建視圖向?qū)А?,單擊“確定”按鈕。圖4.1 選擇向?qū)?duì)話框操作2:在下一個(gè)向?qū)?duì)話框中,選擇數(shù)據(jù)庫名稱“testdb”,單擊“下一步”按鈕;在如圖4.2所示對(duì)話框中,標(biāo)記“ ”選擇視圖所引用的數(shù)據(jù)庫對(duì)象“員工表”、“項(xiàng)目表”,單擊“下一步”按鈕;操作3:在如圖4.3所示向?qū)?duì)話框中,分別標(biāo)記“ ”選擇“員工表”中字段'編號(hào)&
38、#39;、'姓名'和“項(xiàng)目表”中字段'名稱'、'開始日期'作為所建視圖中的列,單擊“下一步”按鈕。圖4.2 “選擇對(duì)象”對(duì)話框圖4.3 “選擇列”對(duì)話框 操作4:在如圖4.4所示向?qū)?duì)話框中,輸入限制視圖信息的條件“項(xiàng)目表.負(fù)責(zé)人=員工表.編號(hào)”,單擊“下一步”按鈕;圖4.4 “定義限制”對(duì)話框操作5:在下一個(gè)的對(duì)話框中,給視圖命名“員工項(xiàng)目_VIEW”,單擊“下一步”按鈕;系統(tǒng)自動(dòng)給創(chuàng)建該視圖的Transact-SQL代碼,單擊“完成”按鈕。注意:在使用向?qū)?chuàng)建視圖過程中,給視圖指定字段別名需要在最后出現(xiàn)的向?qū)?duì)話框窗口中修改腳本代碼(本例不推
39、薦)。操作6:返回企業(yè)管理器窗口,展開樹形目錄窗格中“數(shù)據(jù)庫testdb視圖”節(jié)點(diǎn) ,在內(nèi)容顯示窗格中,鼠標(biāo)右鍵單擊已建視圖“項(xiàng)目員工_VIEW”,執(zhí)行“打開視圖返回所有行”菜單命令,瀏覽視圖信息顯示。操作7:關(guān)閉視圖信息顯示窗口;選定所建視圖,使用右鍵快捷菜單或窗口“操作”菜單,重命名視圖為“項(xiàng)目員工1_VIEW”,或刪除視圖。注意:視圖創(chuàng)建后,同樣可以使用企業(yè)管理器重新設(shè)計(jì)(修改)視圖,但建議在完成下一個(gè)任務(wù)后,再進(jìn)行操作。2使用企業(yè)管理器直接創(chuàng)建視圖操作1:在企業(yè)管理器的控制臺(tái)根目錄窗口中,選擇testdb數(shù)據(jù)庫的視圖節(jié)點(diǎn),在鼠標(biāo)右鍵快捷菜單或窗口“操作”菜單中,執(zhí)行“新建視圖”命令,出
40、現(xiàn)如圖4.5所示的視圖設(shè)計(jì)窗口。圖4.5視圖設(shè)計(jì)窗口操作2:鼠標(biāo)右鍵單擊視圖設(shè)計(jì)窗口中“(1)”區(qū),執(zhí)行快捷菜單中“添加表”命令,在添加表對(duì)話框中,選擇數(shù)據(jù)表“員工表”和“項(xiàng)目表”添加,并關(guān)閉對(duì)話框。注意:所添加的兩個(gè)表已建立表間關(guān)聯(lián)(參考圖4.6所示);留意觀察視圖設(shè)計(jì)窗口中“(3)”區(qū)自動(dòng)生成的SQL代碼。圖4.6視圖設(shè)計(jì)效果操作3:標(biāo)記選擇所添加表的相應(yīng)字段(員工表.編號(hào)、員工表.姓名、項(xiàng)目表.名稱.項(xiàng)目表.開始日期)。操作4:在視圖設(shè)計(jì)窗口“(2)”區(qū)中的“別名”列中,分別指定相應(yīng)字段別名(按操作要求),如圖4.6所示。操作5:?jiǎn)螕艄ぞ邫趫?zhí)行“ ”按鈕,預(yù)覽“(4)”區(qū)中所設(shè)計(jì)視圖的顯
41、示信息。注意:顯示信息類似圖4.4所示,但列名已顯示為相應(yīng)字段的別名。操作6:?jiǎn)螕艄ぞ邫凇氨4妗卑粹o,命名所建視圖“員工項(xiàng)目2_VIEW”。注意:可以在視圖設(shè)計(jì)窗口“(2)”區(qū)中,進(jìn)一步設(shè)置其他列如“輸出”、“排序類型”、“準(zhǔn)則”等列,修改視圖,滿足實(shí)際需要。二、使用Transact-SQL語句創(chuàng)建視圖操作要求:在查詢分析器中,輸入執(zhí)行相應(yīng)SQL代碼,創(chuàng)建與前面任務(wù)同樣要求的視圖。操作1:?jiǎn)?dòng)SQL查詢分析器,在文本窗口中輸入如下Transact-SQL語句,并分析執(zhí)行。USE testdbCREATE VIEW 員工項(xiàng)目3_VIEW (員工編號(hào), 員工姓名,項(xiàng)目名稱, 項(xiàng)目開始日
42、期)AS select 員工表.編號(hào), 員工表.姓名,項(xiàng)目表.名稱, 項(xiàng)目表.開始日期from 項(xiàng)目表 inner join 員工表 on 項(xiàng)目表.負(fù)責(zé)人=員工表.編號(hào)操作2:使用企業(yè)管理器,選定已創(chuàng)建的視圖,單擊鼠標(biāo)右鍵,執(zhí)行快捷菜單中“所有任務(wù)自動(dòng)生成SQL腳本”命令,單擊對(duì)話框窗口的“預(yù)覽”按鈕,將列表框中的SQL代碼復(fù)制到查詢分析器文本窗口中,分析執(zhí)行。注意:理解復(fù)制所得SQL代碼(開頭)中如下IF語句的含義及功能:三、通過視圖操作記錄數(shù)據(jù)操作要求:.建立基于“員工表”的視圖;通過視圖對(duì)記錄數(shù)據(jù)的插入/更新/刪除等操作。操作1:在查詢分析器文本窗口中,輸入下列S
43、QL代碼,視圖命名為“員工信息視圖”;或者使用企業(yè)管理器創(chuàng)建該視圖。USE testdbCREATE VIEW 員工信息視圖 AS select * from 員工表操作2:在查詢分析器文本窗口輸入相關(guān)文本,開始完成下列任務(wù)。(1) 添加新記錄參考語法:INSERT INTO 員工信息視圖(姓名,性別,所屬部門,工資) VALUES ('劉儀彬', '男','工程部',2800)注意:編號(hào)為“員工表”的標(biāo)識(shí)列,無須給定。(2)
44、160; 修改記錄數(shù)據(jù)參考語法:UPDATE員工信息視圖 SET 姓名='李四光' WHERE 姓名='劉儀彬'(3) 刪除記錄數(shù)據(jù)參考語法:DELETE 員工信息視圖 FROM 姓名='李四光'(4) 執(zhí)行系統(tǒng)存儲(chǔ)過程sp_rename將視圖更名為“員工表視圖” 參考語法:EXEC sp_rename '員工信息視圖','員工表視圖'請(qǐng)結(jié)合課堂教學(xué)實(shí)例,創(chuàng)建基于“項(xiàng)目表”和“員工表”的其他視圖,進(jìn)一步練習(xí)使
45、用視圖操作數(shù)據(jù)庫中表的數(shù)據(jù)。四、自我提高操作要求:.(1)新建Testdb數(shù)據(jù)庫中數(shù)據(jù)表“客戶表”(如圖4.7所示),并添加若干記錄數(shù)據(jù)。圖4.7 “客戶表”屬性示意(2)設(shè)置“項(xiàng)目表”('客戶'字段為外鍵)與“客戶表”('客戶編號(hào)'字段為主鍵)設(shè)置關(guān)聯(lián)。(3)創(chuàng)建基于“員工表”、“項(xiàng)目表”、“客戶表”的“項(xiàng)目信息”視圖(如圖4.8所示)。圖4.8 “項(xiàng)目信息”視圖輸出效果操作提示:.(1) 輸入“客戶表”記錄數(shù)據(jù)時(shí)需注意其數(shù)據(jù)完整性的相關(guān)約束;(2) 視圖中列“項(xiàng)目工期(天)”是使用日期函數(shù)DATEDIFF()(該函數(shù)的使用請(qǐng)參看SQL Server的聯(lián)機(jī)從書
46、)。技能要點(diǎn)· 使用企業(yè)管理器創(chuàng)建和管理視圖· 編寫并執(zhí)行一個(gè)腳本創(chuàng)建視圖· 執(zhí)行查詢驗(yàn)證結(jié)果來測(cè)試視圖· 通過視圖修改數(shù)據(jù)庫表的記錄數(shù)據(jù)實(shí)驗(yàn)五 創(chuàng)建和維護(hù)索引 實(shí)驗(yàn)?zāi)康?. 掌握使用企業(yè)管理器創(chuàng)建并維護(hù)索引的步驟與方法2. 熟悉系統(tǒng)自動(dòng)索引的創(chuàng)建3. 理解CREATE INDEX選項(xiàng)的使用4. 了解查詢性能信息的獲取方法實(shí)驗(yàn)內(nèi)容一、使用企業(yè)管理器創(chuàng)建索引Ø
47、60; 方式一操作要求:使用企業(yè)管理器,對(duì)員工表中基于姓名創(chuàng)建索引,索引名“IDX_Name”,索引類型為非聚集索引。操作1:打開企業(yè)管理器,將控制臺(tái)根目錄展開至“數(shù)據(jù)庫testdb表”節(jié)點(diǎn),選擇“員工表”,并單擊鼠標(biāo)右鍵,執(zhí)行快捷菜單中“所有任務(wù)管理索引”命令,打開如圖5.1所示對(duì)話框。注意:圖示“現(xiàn)有索引”列表中“PK_員工表”是在表設(shè)計(jì)中設(shè)定編號(hào)字段為主鍵而自動(dòng)建立的聚集索引。圖5.1 管理索引對(duì)話框操作2:?jiǎn)螕魧?duì)話框中“新建”按鈕,在如圖5.2所示的“新建索引”對(duì)話框中,輸入索引名稱“IDX_Name”,標(biāo)記選擇列中姓名字段,單擊 “確定”按鈕。注意:索引排序次序默認(rèn)為升序(ASC),可標(biāo)該列,使排序次序?yàn)榻敌?DESC);此時(shí)還可單擊對(duì)話框中“編輯SQL”按鈕,查看相應(yīng)創(chuàng)建該索引的SQL代碼。 圖5.2 新建索引對(duì)話框
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧城市環(huán)境管理與可持續(xù)發(fā)展
- 教育技術(shù)創(chuàng)新對(duì)學(xué)校發(fā)展的推動(dòng)作用
- 能效監(jiān)測(cè)與智能電網(wǎng)的技術(shù)集成應(yīng)用
- 公交優(yōu)先戰(zhàn)略2025年城市交通擁堵治理的公共交通車輛更新報(bào)告
- 廣西河池市2024年九上化學(xué)期末達(dá)標(biāo)檢測(cè)試題含解析
- 江蘇省連云港灌云縣聯(lián)考2025屆化學(xué)九年級(jí)第一學(xué)期期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- 外交學(xué)院《書法藝術(shù)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南省懷化市中學(xué)方縣2024年數(shù)學(xué)七年級(jí)第一學(xué)期期末檢測(cè)模擬試題含解析
- 新能源領(lǐng)域的科技創(chuàng)新及推廣應(yīng)用分析報(bào)告
- 廣東機(jī)電職業(yè)技術(shù)學(xué)院《巖石力學(xué)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遵義市仁懷市選聘城市社區(qū)工作者考試真題2024
- DB45∕T 1098-2024 橡膠瀝青路面施工技術(shù)規(guī)范
- 2025年沈陽水務(wù)集團(tuán)招聘筆試沖刺題2025
- 《蠶絲》教學(xué)課件
- 東莞東華分班數(shù)學(xué)試卷
- 江西省金控科技產(chǎn)業(yè)集團(tuán)有限公司招聘筆試題庫2025
- 2025年湖北省中考英語試題(附答案)
- 2025至2030中國家用血壓計(jì)行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 吉林省長春市2023?2024學(xué)年高二下冊(cè)期末考試數(shù)學(xué)科試卷附解析
- 主管護(hù)師《相關(guān)專業(yè)知識(shí)》考試真題及答案(2025年)
- 綠化所倉庫管理制度
評(píng)論
0/150
提交評(píng)論