實驗指導書-sqlserer_第1頁
實驗指導書-sqlserer_第2頁
實驗指導書-sqlserer_第3頁
實驗指導書-sqlserer_第4頁
實驗指導書-sqlserer_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Sql Sever2005數(shù)據(jù)庫原理及應(yīng)用實驗指導書目錄 TOC o 1-3 h z u HYPERLINK l _Toc282173613 實驗1 通過E-R圖設(shè)計關(guān)系數(shù)據(jù)模型 PAGEREF _Toc282173613 h 3 HYPERLINK l _Toc282173614 【實驗?zāi)康摹?PAGEREF _Toc282173614 h 3 HYPERLINK l _Toc282173615 【實驗環(huán)境】 PAGEREF _Toc282173615 h 3 HYPERLINK l _Toc282173616 【實驗內(nèi)容】 PAGEREF _Toc282173616 h 3 HYPERLI

2、NK l _Toc282173617 實驗2 確定表中的關(guān)鍵字 PAGEREF _Toc282173617 h 4 HYPERLINK l _Toc282173618 【實驗?zāi)康摹?PAGEREF _Toc282173618 h 4 HYPERLINK l _Toc282173619 【實驗環(huán)境】 PAGEREF _Toc282173619 h 4 HYPERLINK l _Toc282173620 【實驗重點及難點】 PAGEREF _Toc282173620 h 4 HYPERLINK l _Toc282173621 【實驗內(nèi)容】 PAGEREF _Toc282173621 h 4 HYP

3、ERLINK l _Toc282173622 實驗3 規(guī)范化數(shù)據(jù) PAGEREF _Toc282173622 h 5 HYPERLINK l _Toc282173623 【實驗?zāi)康摹?PAGEREF _Toc282173623 h 5 HYPERLINK l _Toc282173624 【實驗環(huán)境】 PAGEREF _Toc282173624 h 5 HYPERLINK l _Toc282173625 【實驗重點及難點】 PAGEREF _Toc282173625 h 5 HYPERLINK l _Toc282173626 【實驗內(nèi)容】 PAGEREF _Toc282173626 h 5 HY

4、PERLINK l _Toc282173627 實驗4 服務(wù)器的啟動、暫停和停止 PAGEREF _Toc282173627 h 7 HYPERLINK l _Toc282173628 【實驗?zāi)康摹?PAGEREF _Toc282173628 h 7 HYPERLINK l _Toc282173629 【實驗環(huán)境】 PAGEREF _Toc282173629 h 7 HYPERLINK l _Toc282173630 【實驗重點及難點】 PAGEREF _Toc282173630 h 7 HYPERLINK l _Toc282173631 【實驗內(nèi)容】 PAGEREF _Toc28217363

5、1 h 7 HYPERLINK l _Toc282173632 實驗5 創(chuàng)建并管理數(shù)據(jù)庫 PAGEREF _Toc282173632 h 11 HYPERLINK l _Toc282173633 【實驗?zāi)康摹?PAGEREF _Toc282173633 h 11 HYPERLINK l _Toc282173634 【實驗環(huán)境】 PAGEREF _Toc282173634 h 11 HYPERLINK l _Toc282173635 【實驗重點及難點】 PAGEREF _Toc282173635 h 11 HYPERLINK l _Toc282173636 【實驗內(nèi)容】 PAGEREF _Toc

6、282173636 h 11 HYPERLINK l _Toc282173637 實驗6 創(chuàng)建表并輸入數(shù)據(jù) PAGEREF _Toc282173637 h 12 HYPERLINK l _Toc282173638 【實驗?zāi)康摹?PAGEREF _Toc282173638 h 12 HYPERLINK l _Toc282173639 【實驗環(huán)境】 PAGEREF _Toc282173639 h 12 HYPERLINK l _Toc282173640 【實驗重點及難點】 PAGEREF _Toc282173640 h 12 HYPERLINK l _Toc282173641 【實驗內(nèi)容】 PAG

7、EREF _Toc282173641 h 13 HYPERLINK l _Toc282173642 實驗7 使用Select 語句查詢數(shù)據(jù)(一)簡單查詢 PAGEREF _Toc282173642 h 15 HYPERLINK l _Toc282173643 【實驗?zāi)康摹?PAGEREF _Toc282173643 h 15 HYPERLINK l _Toc282173644 【實驗環(huán)境】 PAGEREF _Toc282173644 h 15 HYPERLINK l _Toc282173645 【實驗重點及難點】 PAGEREF _Toc282173645 h 15 HYPERLINK l _

8、Toc282173646 【實驗內(nèi)容】 PAGEREF _Toc282173646 h 15 HYPERLINK l _Toc282173647 實驗8 使用Select 語句查詢數(shù)據(jù)(二)匯總查詢 PAGEREF _Toc282173647 h 17 HYPERLINK l _Toc282173648 【實驗?zāi)康摹?PAGEREF _Toc282173648 h 17 HYPERLINK l _Toc282173649 【實驗環(huán)境】 PAGEREF _Toc282173649 h 17 HYPERLINK l _Toc282173650 【實驗重點及難點】 PAGEREF _Toc28217

9、3650 h 17 HYPERLINK l _Toc282173651 【實驗內(nèi)容】 PAGEREF _Toc282173651 h 17 HYPERLINK l _Toc282173652 實驗9 使用Select 語句查詢數(shù)據(jù)(三)連接查詢和子查詢 PAGEREF _Toc282173652 h 19 HYPERLINK l _Toc282173653 【實驗?zāi)康摹?PAGEREF _Toc282173653 h 19 HYPERLINK l _Toc282173654 【實驗環(huán)境】 PAGEREF _Toc282173654 h 19 HYPERLINK l _Toc282173655

10、【實驗重點及難點】 PAGEREF _Toc282173655 h 19 HYPERLINK l _Toc282173656 【實驗內(nèi)容】 PAGEREF _Toc282173656 h 19 HYPERLINK l _Toc282173657 實驗10 創(chuàng)建視圖并通過視圖操作表數(shù)據(jù) PAGEREF _Toc282173657 h 20 HYPERLINK l _Toc282173658 【實驗?zāi)康摹?PAGEREF _Toc282173658 h 20 HYPERLINK l _Toc282173659 【實驗環(huán)境】 PAGEREF _Toc282173659 h 20 HYPERLINK

11、l _Toc282173660 【實驗重點及難點】 PAGEREF _Toc282173660 h 20 HYPERLINK l _Toc282173661 【實驗內(nèi)容】 PAGEREF _Toc282173661 h 20 HYPERLINK l _Toc282173662 實驗11 使用規(guī)則實現(xiàn)數(shù)據(jù)完整性 PAGEREF _Toc282173662 h 22 HYPERLINK l _Toc282173663 【實驗?zāi)康摹?PAGEREF _Toc282173663 h 22 HYPERLINK l _Toc282173664 【實驗環(huán)境】 PAGEREF _Toc282173664 h

12、22 HYPERLINK l _Toc282173665 【實驗重點及難點】 PAGEREF _Toc282173665 h 22 HYPERLINK l _Toc282173666 【實驗內(nèi)容】 PAGEREF _Toc282173666 h 22 HYPERLINK l _Toc282173667 實驗12 使用 T-SQL編寫程序 PAGEREF _Toc282173667 h 24 HYPERLINK l _Toc282173668 【實驗?zāi)康摹?PAGEREF _Toc282173668 h 24 HYPERLINK l _Toc282173669 【實驗環(huán)境】 PAGEREF _T

13、oc282173669 h 24 HYPERLINK l _Toc282173670 【實驗重點及難點】 PAGEREF _Toc282173670 h 24 HYPERLINK l _Toc282173671 【實驗內(nèi)容】 PAGEREF _Toc282173671 h 24 HYPERLINK l _Toc282173672 實驗13 使用觸發(fā)器實現(xiàn)數(shù)據(jù)完整性 PAGEREF _Toc282173672 h 26 HYPERLINK l _Toc282173673 【實驗?zāi)康摹?PAGEREF _Toc282173673 h 26 HYPERLINK l _Toc282173674 【實驗

14、環(huán)境】 PAGEREF _Toc282173674 h 26 HYPERLINK l _Toc282173675 【實驗重點及難點】 PAGEREF _Toc282173675 h 26 HYPERLINK l _Toc282173676 實驗14 為用戶設(shè)置權(quán)限 PAGEREF _Toc282173676 h 29 HYPERLINK l _Toc282173677 【實驗?zāi)康摹?PAGEREF _Toc282173677 h 29 HYPERLINK l _Toc282173678 【實驗環(huán)境】 PAGEREF _Toc282173678 h 29 HYPERLINK l _Toc2821

15、73679 【實驗重點及難點】 PAGEREF _Toc282173679 h 29 HYPERLINK l _Toc282173680 實驗15導入導出數(shù)據(jù) PAGEREF _Toc282173680 h 30 HYPERLINK l _Toc282173681 【實驗?zāi)康摹?PAGEREF _Toc282173681 h 30 HYPERLINK l _Toc282173682 【實驗環(huán)境】 PAGEREF _Toc282173682 h 30 HYPERLINK l _Toc282173683 【實驗重點及難點】 PAGEREF _Toc282173683 h 30實驗1 通過E-R圖設(shè)

16、計關(guān)系數(shù)據(jù)模型【實驗?zāi)康摹渴煜-R模型的基本概念和圖形的表示方法。掌握將現(xiàn)實世界的事物轉(zhuǎn)化成E-R圖的基本技巧。熟悉關(guān)系數(shù)據(jù)模型的基本概念。掌握將E-R圖轉(zhuǎn)化成關(guān)系表的基本技巧?!緦嶒灜h(huán)境】Sql server 2005【實驗重點及難點】根據(jù)需求確定實體、屬性和聯(lián)系。將實體、屬性和聯(lián)系轉(zhuǎn)化為E-R圖。將E-R圖轉(zhuǎn)化為表?!緦嶒瀮?nèi)容】設(shè)計能夠表示出班級與學生關(guān)系的數(shù)據(jù)模型確定班級實體和學生實體的屬性和碼。確定班級和學生之間的聯(lián)系,給聯(lián)系命名并指出聯(lián)系的類型。確定聯(lián)系本身的屬性。畫出班級和學生關(guān)系的E-R圖。將E-R圖轉(zhuǎn)化為表,寫出表的關(guān)系模式并標明各自的主鍵或外鍵。設(shè)計能夠表示出顧客與商品關(guān)系

17、的數(shù)據(jù)模型確定顧客實體和商品實體的屬性和碼。確定顧客和商品之間的聯(lián)系,給聯(lián)系命名并指出聯(lián)系的類型。確定聯(lián)系本身的屬性。畫出顧客與商品關(guān)系的E-R圖。將E-R圖轉(zhuǎn)化為表,寫出表達關(guān)系模式并標明各自的主鍵或外鍵。設(shè)計能夠表示出學校與校長關(guān)系的數(shù)據(jù)模型確定學校實體和校長實體的屬性和碼。確定學校和校長之間的聯(lián)系,給聯(lián)系命名并指出聯(lián)系的類型。確定聯(lián)系本身的屬性。畫出學校與校長關(guān)系的E-R圖。將E-R圖轉(zhuǎn)化為表,寫出表達關(guān)系模式并標明各自的主鍵或外鍵。設(shè)計能夠表示出房地產(chǎn)交易中客戶、業(yè)務(wù)員和合同三者之間的關(guān)系的數(shù)據(jù)模型確定客戶實體、業(yè)務(wù)員實體和合同的屬性和碼。確定客戶實體、業(yè)務(wù)員實體和合同之間的聯(lián)系,給聯(lián)

18、系命名并指出聯(lián)系的類型。確定聯(lián)系本身的屬性畫出客戶實體、業(yè)務(wù)員實體和合同關(guān)系的E-R圖將E-R圖轉(zhuǎn)化為表,寫出表達關(guān)系模式并標明各自的主鍵或外鍵實驗2 確定表中的關(guān)鍵字【實驗?zāi)康摹空_理解候選鍵、主鍵、組合鍵、外鍵的基本概念。能夠正確判斷給定表中各種類型的鍵。在設(shè)計數(shù)據(jù)庫時能正確指定各種類型的鍵,知道如何實施數(shù)據(jù)的完整性?!緦嶒灜h(huán)境】Sql server 2005【實驗重點及難點】復(fù)習候選鍵、主鍵、外鍵、組合鍵以及數(shù)據(jù)完整性的基本概念。在給出的部門表和員工表中能正確標識出各種類型的鍵?!緦嶒瀮?nèi)容】寫出候選鍵、主鍵、組合鍵、外鍵、實體完整性、域完整性、參照完整性的定義。已知部門表和員工表如下所示

19、: 部門表部門代碼部門名負責人地點0001生產(chǎn)部李華江重慶榮昌縣0002銷售部張麗重慶渝中區(qū)0003市場部王欣重慶江北區(qū)員工表員工代碼姓名家庭住址聯(lián)系電話郵政編碼部門代碼200001王華重慶676909864011470001200002李想成都543876595087630003200003張麗上海678935422087610002200004李江華重慶765498734000540001確定部門表和員工表中的候選鍵,并陳述理由。在候選鍵中確定部門表和員工表的主鍵。確定部門表和員工表中的共有屬性。指出哪個表中的哪個屬性時外鍵。確定哪個表是主表,哪個表是從表?;卮饐栴}:部門表和員工表是如何通

20、過關(guān)鍵字實施數(shù)據(jù)完整性的?實驗3 規(guī)范化數(shù)據(jù)【實驗?zāi)康摹苛私夂瘮?shù)(數(shù)據(jù))依賴的基本概念。能正確判斷某一關(guān)系屬于第幾范式。掌握規(guī)范化數(shù)據(jù)的方法?!緦嶒灜h(huán)境】Sql server 2005【實驗重點及難點】復(fù)習函數(shù)(數(shù)據(jù))依賴、數(shù)據(jù)規(guī)范化、范式的基本概念以及各級范式的判別標準。判斷給定的表滿足哪級別范式的條件。將給定的表轉(zhuǎn)換成特定等級的范式條件的表?!緦嶒瀮?nèi)容】寫出函數(shù)(數(shù)據(jù))依賴、數(shù)據(jù)規(guī)范化、范式的定義以及各級范式的判別標準。項目表1,判斷是否滿足第一范式的條件并說明理由。項目表1項目代碼職員代碼部門累計工作時間P27P51P20E101系統(tǒng)集成部9010160P27P22E305銷售部1099

21、8P51P27E508行政辦公室NULL72項目表2,判斷是否滿足第二范式的條件并說明理由。項目表2項目代碼職員代碼部門累計工作時間P27E101系統(tǒng)集成部90P51E101系統(tǒng)集成部101P20E101系統(tǒng)集成部60P27E305銷售部109P22E305銷售部98P51E508行政辦公室NULLP27E508行政辦公室72職員表,判斷其是否滿足第三范式的條件并說明理由。職員表職員代碼部門部門負責人代碼E101系統(tǒng)集成部E901E305財務(wù)部E309E402銷售部E909E508行政辦公室E908E607財務(wù)部E909E608財務(wù)部E909項目表3,判斷其是否滿足BCNF的條件并說明理由。項

22、目表3項目代碼職員代碼職員姓名累計工作時間P2E1李華玉48P5E2陳家偉100P6E3張勤15P3E4謝成全250P5E4謝成全75P5E1李華玉40將項目表1轉(zhuǎn)換成滿足第一范式條件的表。將項目表2轉(zhuǎn)換成滿足第二范式條件的表。將職員表轉(zhuǎn)換成滿足第三范式條件的表。將項目表3轉(zhuǎn)換成滿足BCNF條件的表。回答問題:規(guī)范化數(shù)據(jù)帶來的不利影響是什么?實驗4 服務(wù)器的啟動、暫停和停止【實驗?zāi)康摹?1) 熟悉SQL Server 2005 配置管理器。 2) 掌握服務(wù)器的啟動方法。 3) 掌握服務(wù)器的暫停方法。4) 掌握服務(wù)器的停止方法。【實驗環(huán)境】Sql server 2005【實驗重點及難點】利用SQ

23、L Server配置管理器實現(xiàn)服務(wù)器的啟動、暫停和停止。【實驗內(nèi)容】 實訓1 服務(wù)器管理啟動,暫停和停止服務(wù)的方法很多,這里主要介紹SQL Server 配置管理器完成這些操作,其操作步驟如下:單擊“開始”“Microsoft SQL Server 2005”“配置工具”,選擇“SQL Server Configuration Manager”,打開SQL Setver配置管理器,如圖2-52所示。單擊“SQL Server 2005服務(wù)”選項,在右邊的對話框里可以看到本地所有的SQL Server服務(wù),包括不同實例的服務(wù),如圖2-53所示。如果要啟動、停止、暫停SQL Server服務(wù)的話,

24、鼠標指向服務(wù)名稱,單擊右鍵,在彈出的快捷鍵菜單里選擇“啟動”、“停止”、“暫停”即可。實訓2 服務(wù)器注冊 服務(wù)器注冊主要為注冊本地或者遠程SQL Server服務(wù)器。打開SQL Server 2005下Management Studio,進行服務(wù)器注冊。注冊步驟如下:圖2-52 SQL Server 配置服務(wù)管理器(一)圖2-53 SQL Server 配置管理器(二)在視圖菜單中單擊“已注冊的服務(wù)器”菜單選項顯示出已注冊的服務(wù)器,如圖2-54所示。圖2-54 已注冊服務(wù)器在右上角已注冊的服務(wù)器中,選擇注冊類型進行相應(yīng)服務(wù)類型注冊。在選定的服務(wù)類型的樹型架構(gòu)的根部單擊鼠標右鍵,選擇“新建”菜單

25、下面的“服務(wù)器組”進行組的建立,如圖2-55所示。圖2-55 選擇服務(wù)器組菜單輸入服務(wù)器組名稱,單擊保存即可,如圖2-56所示。圖2-56 新建服務(wù)器組在新建的服務(wù)器組下面注冊服務(wù)器,在新建服務(wù)器節(jié)點處單擊鼠標右鍵,彈出菜單,選擇新建選項下面的服務(wù)器注冊選項,進行服務(wù)器注冊,如圖2-57所示。填寫服務(wù)器名稱,選擇相應(yīng)的認證方式,輸入用戶名及密碼,完成注冊。圖2-57 新建服務(wù)器注冊實驗5 創(chuàng)建并管理數(shù)據(jù)庫【實驗?zāi)康摹渴煜QL Server Management Studio 窗口。掌握創(chuàng)建數(shù)據(jù)庫的方法。掌握管理數(shù)據(jù)庫的方法?!緦嶒灜h(huán)境】Sql server 2005【實驗重點及難點】啟動 S

26、QL Server Management Studio 窗口。創(chuàng)建 XSCJ 數(shù)據(jù)庫。修改 XSCJ 數(shù)據(jù)庫。分離XSCJ 數(shù)據(jù)庫。附加 XSCJ 數(shù)據(jù)庫?!緦嶒瀮?nèi)容】打開“SQL Server Management Studio”窗口,在“對象資源管理器”中展開服務(wù)器,鼠標右鍵單擊“數(shù)據(jù)庫”節(jié)點,單擊“新建數(shù)據(jù)庫”命令,會出現(xiàn)“新建數(shù)據(jù)庫”對話框。在對話框的“數(shù)據(jù)庫名稱”框內(nèi)輸入數(shù)據(jù)庫名“XSCJ”后,單擊“確定”按鈕即可創(chuàng)建默認大小的數(shù)據(jù)庫。鼠標右鍵單擊“XSCJ”數(shù)據(jù)庫,在彈出的快捷菜單中選擇“屬性”命令,會出現(xiàn)“數(shù)據(jù)庫屬性”對話框;在對話框中單擊“文件”選項卡,可以增加或刪除數(shù)據(jù)庫文件

27、,單擊“確定”按鈕即可完成數(shù)據(jù)庫的修改。鼠標右鍵單擊“XSCJ”數(shù)據(jù)庫,在彈出的快捷菜單中選擇“任務(wù)”“分離”命令,會出現(xiàn)“分離數(shù)據(jù)庫”對話框,單擊“確定”按鈕即可完成數(shù)據(jù)庫的分離。鼠標右鍵單擊“數(shù)據(jù)庫”,在彈出的快捷菜單里選擇“附加”命令,會出現(xiàn)“附加數(shù)據(jù)庫”對話框,在該對話框中單擊“添加”按鈕,會出現(xiàn)“定位數(shù)據(jù)庫文件”對話框,在改對話框中,選擇要附加的數(shù)據(jù)庫文件(.mdf),單擊“確定”按鈕后,返回到“附加數(shù)據(jù)庫”對話框,再單擊“確定”按鈕即可完成數(shù)據(jù)庫的附加。實驗6 創(chuàng)建表并輸入數(shù)據(jù)【實驗?zāi)康摹?) 熟悉創(chuàng)建數(shù)據(jù)表的操作2)掌握創(chuàng)建數(shù)據(jù)表的操作3)掌握數(shù)據(jù)輸入和修改的操作【實驗環(huán)境】Sq

28、l server 2005【實驗重點及難點】在xscj數(shù)據(jù)庫中分別創(chuàng)建學生情況表xsqk,課程表kc,學生與課程表xs_kc,并表結(jié)構(gòu)分別如表4-5,表4-6表4-7所示列名數(shù)據(jù)類型長度屬性約束學好Char6是否允許為空置默認值標識符主鍵否無姓名Char8否無唯一性別Bit1否10或1出生日期Smalldatetime4否無 表4-5列名數(shù)據(jù)類型長度屬性約束是否允許為空置默認值標識符所在系Char10否無專業(yè)名Char10否無聯(lián)系電話Char11是無6為數(shù)字總學分Tinyint1是無0200備注Text30是無 表4-6 列名數(shù)據(jù)類型長度屬性約束是否允許為空值默認值標識列序號Int 4初始值

29、增量為1課程號Char3否無主鍵課程名Char20否無授課教師Char8無開課學期Tinyint1否1只能為16學時Tinyint1無學分Tinyint1無 表4-7列名數(shù)據(jù)類型長度屬性約束是否允許為空默認值學號Char6否無外鍵,參照XSQK表組合為主鍵課程號Char3否無外鍵,參照cK表成績Tinyint1無0100學分Tinyint1無分別向XSQK, KC XS_KC表中輸入數(shù)據(jù),其內(nèi)容由用戶自定義【實驗內(nèi)容】打開“SQL server Management Studio”窗口,單擊在標準”工具欄匯總“新建查詢”按鈕,會出現(xiàn)如圖所示的界面在“SQL編輯器”工具欄中,單擊“可用數(shù)據(jù)庫”右

30、邊的下拉按鈕,將當前數(shù)據(jù)庫切換成”XSCJ”庫在查詢窗口中,輸入如下的命令 CREATE TABLE XSQK(學號 CHAR(6) NOT NULL,姓名 CHAR(8) NOT NULL,性別 BIT NOT NULL DEFAULT 1,生日 SMALLEATETIME NOT NULL,專業(yè) CHAR(10) NOT NULL,所在系 CHAR(10) NOT NULL,聯(lián)系電話 CHAR(11),總學分 TINYINT,備注 TEXT,CONSTRAINT PK_XSQK_XH PRIMART KEY(學號),CONSTRAINT UQ_XSQK_DH UNIQUE(姓名),CONS

31、TRAINT CK_XSQK_XB CHECK(姓名=1 OR 姓名=0)CONSTRAINT CK_XSQK_DH CHECK(聯(lián)系電話 LIKE【1-9】【1-9】【1-9】【1-9】【1-9】【1-9】),CONSTRAINT CK_XSQK_ZXF CHECK(總學分=0 AND 總學分=1 AND 開課學期=0 AND 成績=80d.在XS_KC表中,查詢在80以上和不及格學生的信息select 學號, 課程號, 成績from xs_kcwhere 成績=80 or 成績60e.在XSQK表中,查詢不在1980年7、8、9月出生的學生信息select 學號, 姓名, 出生日期from

32、 xsqkwhere 出生日期 not between 1980-07-07 and 1980-09-30f. 在XSQK表中,擦汗尋陳姓且單名的信息select *from xsqkwhere 姓名 like 陳_g.在XSQK表中,查詢學號中含有1的記錄信息select *from xsqkwhere 學號 like %1%h.在XSQK表中,查詢電話號碼第7位為4和6的記錄信息select *from xsqkwhere 聯(lián)系電話 like _ _ _ _ _ _ 46 _i.在KC表中,查詢第一、三、五學期開設(shè)的課程信息select *from kcwhere 開課學期 in (1,

33、3, 5)j.查詢XSQK表,輸出學號、姓名、出生日期、并使查詢結(jié)構(gòu)按出生日期升序排列select 學號, 姓名, 出生日期from xsqkorder by 出生日期實驗8 使用Select 語句查詢數(shù)據(jù)(二)匯總查詢【實驗?zāi)康摹空莆諗?shù)據(jù)匯總查詢及其相關(guān)子句的使用。【實驗環(huán)境】Sql server 2005【實驗重點及難點】1)啟動SQL Server 2005查詢環(huán)境。2)涉及單表的匯總查詢?!緦嶒瀮?nèi)容】1) 打開“SQL Server Management Studio”窗口。2) 單擊“標準”工具欄的“新建查詢”按鈕,打開“查詢編輯器”窗口3)在窗口中輸入以下SQL查詢命令并執(zhí)行:a.

34、在KC表中,統(tǒng)計每學期的總分數(shù)select 開課學期, sum(學分) as 各學期的學分合計from kcgroup by 開課學期b.在XS_KC表中統(tǒng)計每個學生的選修課程的門數(shù)select 學號, count(*) as 每個學生選修的課程門數(shù)from xs_kcgroup by 學號c.統(tǒng)計KC表中的總學分,并顯示明細信息select 課程名稱, 開課學期, 學分from kccompute sum(學分)d.按開課學期統(tǒng)計KC表中各期的學分,并顯示明細信息select 課程名稱, 開課學期, 學分from kcorder by 2compute sum(學分) by 開課學期e.將X

35、S_KC表中的數(shù)據(jù)記錄按學號分類匯總,輸出學號和平均分select 學號, avg(成績) as 學生的平均分from xs_kcgroup by 學號f.查詢平均分大于70且小于80的學生學號和平均分select 學號, avg(成績) as 學生的平均分from xs_kcgroup by 學號having avg(成績) between 70 and 80g.查詢XS_KC表,輸出學號、課程號、成績,并使查詢結(jié)果首先按照課程號的升序排列,當課程號相同時再按照成績降序排列,并將查詢結(jié)果保存到新表TEMP_KC中select 學號, 課程號, 成績into temp_kcfrom xs_kc

36、order by 課程號, 成績 desch.查詢選修了“101”課程的學生的最高分和最低分select max(成績) as 101課程的最高分, min(成績) as 101課程的最低分from xs_kcwhere 課程號=101i.統(tǒng)計每個學期所開設(shè)的課程門數(shù)select 開課學期, count(*) as 每學期開設(shè)的課程門數(shù)from kcgroup by 開課學期j.查詢各專業(yè)的學生人數(shù)select 專業(yè)名, count(專業(yè)名) as 各專業(yè)人數(shù)from xsqkgroup by 專業(yè)名實驗9 使用Select 語句查詢數(shù)據(jù)(三)連接查詢和子查詢【實驗?zāi)康摹浚┱莆諆?nèi)連接的查詢方法

37、。)了解子查詢的查詢方法?!緦嶒灜h(huán)境】Sql server 2005【實驗重點及難點】1)啟動SQL Server 2005查詢環(huán)境。)涉及多表的復(fù)雜查詢?!緦嶒瀮?nèi)容】1) 打開“SQL Server Management Studio”窗口。2) 單擊“標準”工具欄的“新建查詢”按鈕,打開“查詢編輯器”窗口3)在窗口中輸入以下SQL查詢命令并執(zhí)行:a.查詢不及格學生的學號、課程名、授課教師、開課學期的信息select 學號, xs_kc.課程號, 授課教師, 開課學期, 成績from kc, xs_kcwhere kc.學號=xs_kc.學號 and 成績=100order by sum(成

38、績) descc.使用子查詢求恰好有兩門課程不及格的學生信息select 學號, 姓名from xsqkwhere (select count(課程號)from xs_kcwhere xsqk.學號=xs_kc.學號 and 成績=60 )=2d.使用子查詢查詢每門課程的最高分的學生記錄select *from xs_kc awhere 成績=(select max(成績)from xs_kc bwhere a.課程號=b.課程號)e.使用子查詢查詢每個學生的最低分的課程記錄select *from xs_kc awhere 成績=(select min(成績)from xs_kc bwher

39、e a.學號=b.學號)實驗10 創(chuàng)建視圖并通過視圖操作表數(shù)據(jù)【實驗?zāi)康摹?)掌握視圖的創(chuàng)建。2)掌握使用視圖來插入、更新、刪除表數(shù)據(jù)?!緦嶒灜h(huán)境】Sql server 2005【實驗重點及難點】1)啟動SQL2005查詢編輯器。2)創(chuàng)建一個簡單的視圖,查詢第3學期及其以后開課的課程信息。3)在視圖中使用INSERT語句插入數(shù)據(jù)。4)在視圖中使用UPDATE語句更新數(shù)據(jù)。5)在視圖中使用DELETE語句刪除數(shù)據(jù)?!緦嶒瀮?nèi)容】(1)創(chuàng)建視圖1)打開“SQL Server Management Studio”窗口。2)單擊:“標準”工具欄上的“新建查詢”按鈕,打開“查詢編輯器”窗口。#在窗口內(nèi)直接

40、輸入以下語句,按要求創(chuàng)建視圖。在XSCJ數(shù)據(jù)庫中,基于KC表創(chuàng)建一個名為”v_開課信息”的視圖,要求該視圖中包含列“課程號”、“課程名”、“開課學期”和“學時”、并且限定視圖中返回的行中只包括第3學期及以后開課的課程信息。 USE XSCJ CREATE VIEW v_開課信息 AS SELECT 課程號,課程名,開課學期,學時 FROM KC WHERE 開課學期=34)單擊“SQL編輯器”工具欄上的“分析”按鈕,檢查輸入的T-SQL語句是否有語法錯誤。如果有語法錯誤,則進行修改。5)確保無語法錯誤后,在XSCJ數(shù)據(jù)庫中就會添加一個名為“v_開課信息”的視圖,通過SELECT語句查看視圖中的

41、數(shù)據(jù),如圖所示(2)在視圖中使用INSERT語句插入數(shù)據(jù)1)在“查詢編輯器”串口內(nèi)輸入以下語句,在視圖中插入一行數(shù)據(jù)。INSERT INTO v_開課信息 VALUES(022,ASP,4,80)2)單擊”SQL編輯器”工具欄上的“執(zhí)行”按鈕。3)執(zhí)行上述語句后,利用SELECT語句查看視圖中的數(shù)據(jù),如圖所示。(3)在視圖中使用UPDATE語句更新數(shù)據(jù)1)在“查詢編輯器”串口內(nèi)輸入以下語句,修改途中的數(shù)據(jù)。UPDATE v_開課信息SET 開課學期=5,學時=80WHERE 課程號=0122)單擊“SQL編輯器”工具欄上的“執(zhí)行”按鈕。3)執(zhí)行上述語句后,視圖中課程號為“012”的數(shù)據(jù)記錄被修

42、改了,基表中對應(yīng)數(shù)據(jù)記錄也被修改了。通過SELECT語句查看視圖和基表中的數(shù)據(jù),結(jié)果如圖6-24所示。(4)在視圖中使用DELETE語句刪除數(shù)據(jù)1)在“查詢編輯器”窗口內(nèi)輸入以下語句,刪除視圖中的數(shù)據(jù)。DELETE FROM v_課程信息WHERE 課程號=0222)單擊“SQL編輯器”工具欄上的“執(zhí)行”按鈕。3)執(zhí)行上述語句后,先前在視圖中添加的數(shù)據(jù)行被刪除。同時,在基表中該數(shù)據(jù)行也被刪除。實驗11 使用規(guī)則實現(xiàn)數(shù)據(jù)完整性【實驗?zāi)康摹?)掌握規(guī)則的創(chuàng)建、綁定、解除綁定和刪除。2)掌握使用規(guī)則實現(xiàn)數(shù)據(jù)完整性的方法?!緦嶒灜h(huán)境】Sql server 2005【實驗重點及難點】1)啟動SQL Se

43、rver 2005查詢編輯器。2)創(chuàng)建一個關(guān)于開課學期的規(guī)則,并綁定到列,實現(xiàn)數(shù)據(jù)的完整性。3)創(chuàng)建一個關(guān)于性別的規(guī)則,并綁定到列,實現(xiàn)數(shù)據(jù)的完整性。4)創(chuàng)建一個關(guān)于學分的規(guī)則,并綁定到列,實現(xiàn)數(shù)據(jù)的完整性。5)刪除規(guī)則。【實驗內(nèi)容】(1)創(chuàng)建一個關(guān)于開課學期的規(guī)則1)打開“SQL Server Management Studio”窗口。2)單擊“標準”工具欄上的“新建查詢”按鈕,打開“查詢編輯器”窗口。3)在窗口內(nèi)直接輸入以下語句,創(chuàng)建規(guī)則,將“開課學期”列的值約束在18之間。USE XSCJCREATE RULE kkxq_ruleAS 開課學期=1 AND 開課學期85 BEGIN SE

44、LECT sname =姓名 FROM XSQK WHERE 學號= sno PRINT aname+考出了高分 END ELSE PRINT sname+考的一般實驗13 使用觸發(fā)器實現(xiàn)數(shù)據(jù)完整性【實驗?zāi)康摹空莆沼糜|發(fā)器實現(xiàn)域完整性的方法。掌握用觸發(fā)器實現(xiàn)參照完整性的方法。掌握觸發(fā)器與約束的不同。【實驗環(huán)境】Sql server 2005【實驗重點及難點】啟動SQL Server2005查詢編輯器。為表建立一個觸發(fā)器,實現(xiàn)域完整性,并激活觸發(fā)器進行驗證。為表建立一個能級聯(lián)更新的觸發(fā)器,實現(xiàn)參照完整性,并激活觸發(fā)器進行驗證。比較約束與觸發(fā)器的執(zhí)行順序?!緦嶒瀮?nèi)容】實現(xiàn)域完整性打開“SQL Se

45、rver Management Studio”窗口單擊“標準”工具欄上的“新建查詢”按鈕,打開“查詢編輯器”窗口。在“SQL編輯器”工具欄上選擇可用數(shù)據(jù)庫,如“XSCJ”。在窗口內(nèi)直接輸入以下CREATE TRIGGER語句,創(chuàng)建觸發(fā)器。為KC表創(chuàng)建一個INSERT觸發(fā)器,當插入的新行中開課學期的值不是16時,就激活該出發(fā)器,撤銷該插入操作,并使用RAISERROR語句返回一個錯誤信息。CREATE TRIGGER tri_INSERT_KC ON KCFOR INSERTASDECLARE 開課學期 tinyintSELECT 開課學期=KC.開課學期FROM KC,InsertedWHER

46、E KC.課程號= Inserted.課程號如果新插入行的開課學期的值不是16,則撤銷插入,并給出錯誤信息IF 開課學期 NOT BETWEEN 1 AND 6 BEGIN ROLLBACK TRANSACTION RAISERROR(開課學期的取值只能是16!,16,10) END單擊“SQL編輯器”工具欄上的“分析”按鈕,檢查輸入的T-SQL語句是否有語法錯誤。如果有語法錯誤,則進行修改,直到?jīng)]有語法錯誤為止。確保無語法錯誤后,單擊“SQL編輯器”工具欄上的“執(zhí)行”按鈕,完成觸發(fā)器的創(chuàng)建。在左邊的“對象資源管理器”中用鼠標右鍵單擊目標“表”節(jié)點,如“KC”,彈出快捷菜單,選擇“打開表”命令

47、,打開表的數(shù)據(jù)記錄窗口。在表中分別插入兩行記錄以激活該觸發(fā)器,第一行的開課學期的值在16以內(nèi),第二行的開課學期的值在16以外。當插入第一行時,系統(tǒng)成功地接受了數(shù)據(jù),無信息返回。而在插入第二行時,系統(tǒng)撤銷該插入操作,拒絕接受非法數(shù)據(jù),并返回錯誤信息,從而保證了域完整性,如圖9-21所示。(2)1)在“查詢編輯器”窗口內(nèi)直接輸入以下CREATE TRIGGER語句,創(chuàng)建觸發(fā)器。為KC表再創(chuàng)建一個UPDATE觸發(fā)器,當更新了某門課程的課程號信息時,就激活該觸發(fā)器級聯(lián)更新XS_KC表中相關(guān)的課程號信息,并使用PRINT語句返回一個提示信息。 CREATE TRIGGER tri_UPDATE_KC O

48、N KCFOR UPDATEASIF UPDATE(課程號) 檢測課程號列是否被更新 BEGIN DECLARE 原課程號char(3),新課程號 char(3)聲明變量獲取更新前后的課程號的值SELECT 原課程號=Deleted.課程號,新課程號=Inserted.課程號 FROM Deleted,InsertedWHERE Deleted,課程名=Inserted.課程名PRINT 準備級聯(lián)更新XS_KC表中的課程號信息級聯(lián)更新XS_KC表中相關(guān)成績記錄的課程號信息UPDATE XS_KCSET 課程號=新課程號WHERE 課程號=原課程號PRINT 已經(jīng)級聯(lián)更新XS_KC表中原課程號+

49、原課程號+為+新課程號END2)單擊“SQL編輯器”工具欄上的“分析”按鈕,檢查輸入的T-SQL語句是否有語法錯誤。如果有語法錯誤,則進行修改,知道沒有語法錯誤為止。3)確保無語法錯誤后,單擊“SQL編輯器”工具欄上的“執(zhí)行”按鈕,完成觸發(fā)器的創(chuàng)建。4)在“查詢編輯器”窗口內(nèi)如入并執(zhí)行以下UPDATE語句,修改KC表的課程號列,以激活觸發(fā)器,級聯(lián)修改XS_KC表中的課程號列,并返回提示信息,從而實現(xiàn)了參照完整性。UPDATE KCSET 課程號=115WHERE 課程名=計算機硬件基礎(chǔ)(3)比較約束與觸發(fā)器的執(zhí)行順序1)在“查詢編輯器”窗口內(nèi)輸入并執(zhí)行以下ALTER TABLE語句,為KC表添

50、加一個約束,使得開課學期的值只能為16。ALTER TABLE KCADD CONSTRAINT CK_開課學期 CHECK(開課學期=1 AND 開課學期=6)2)在“查詢編輯器”窗口內(nèi)輸入并執(zhí)行以下INSERT語句。INSERT KC(課程號,課程名,授課教師,開課學期,學時,學分) VALUES(120,軟件開發(fā)案例,李學濤,7,68,4)從這部分實驗中可以看到,約束優(yōu)先于FOR或AFTER觸發(fā)器起作用,它在更新前就生效,對要更新的值進行規(guī)則檢查。當檢查到與現(xiàn)有規(guī)則沖突時,系統(tǒng)給出錯誤消息,并取消更新操作。如果檢查沒有問題,更新被執(zhí)行,再激活觸發(fā)器。實驗14 為用戶設(shè)置權(quán)限【實驗?zāi)康摹空?/p>

51、握在SQL Server Management Stuido 里為用戶添加或修改或修正權(quán)限的兩種方法。掌握在“安全性”里這只用戶權(quán)限的方法。掌握在數(shù)據(jù)庫里這是用戶權(quán)限的方法?!緦嶒灜h(huán)境】Sql server 2005【實驗重點及難點】1)啟動SQL Server 2005的對象資源管理器。2)在“安全性”里設(shè)計用戶權(quán)限。3)在數(shù)據(jù)庫里設(shè)置用戶權(quán)限?!緦嶒瀮?nèi)容】(1)在“安全性”里設(shè)置用戶權(quán)限1)打開“SQL Server Management Studio”的“對象資源管理器”窗口。2)選擇“數(shù)據(jù)庫實例名” “安全性” “登錄名”選項,鼠標右鍵單擊要修改權(quán)限的登錄名,在彈出的快捷鍵菜單里選擇“

52、屬性”選項。3)彈出“登陸屬性”對話框,在該對話框里選擇“用戶映射”選項。也可以在添加登錄名時,也可以在對話框里選擇“用戶映射”標簽,進入選項卡。4)在改對話框里可以設(shè)置此登陸帳戶可以訪問哪些數(shù)據(jù)庫。在“映射到此登錄名的用戶”區(qū)域里,顯示查該數(shù)據(jù)庫服務(wù)器里所以的數(shù)據(jù)庫名,選中數(shù)據(jù)庫前的復(fù)選框,則表示次登陸帳戶可以登陸該數(shù)據(jù)庫。5)在選中數(shù)據(jù)庫前的復(fù)選框之后,在“數(shù)據(jù)庫角色成員身份”區(qū)域里的“public”復(fù)選框里會被自動選擇上。在每個數(shù)據(jù)庫中,所以用戶都會在public角色的成員,并且不能被刪除。(2) 在數(shù)據(jù)庫里設(shè)置用戶權(quán)限1)啟動“SQL Server Management Stuido”,以sa用戶或超級用戶身份連上數(shù)據(jù)庫實例。在“對象資源管理器”里選擇“數(shù)據(jù)庫實例名” “Northwind” “安全性” “用戶”。2)鼠標右鍵單擊“userl”用戶,在彈出的快捷菜單里選擇“屬性”選項,彈出“數(shù)據(jù)庫用戶”對話框,在改對話框里選擇“安全對象”標簽。3)彈出對話框,單擊“添加”按鈕,彈出 “添加對象”對話框,在改對話框里可以選擇希望查看的對象類型的選擇對話框。4)彈出 “選擇對象”對話框,在該對話框里單擊“對象類型”按鈕。5)彈出 “選擇對象類型”對話框,在該對話框里可以現(xiàn)在數(shù)據(jù)庫表里的可在對象類型,在本例中選擇“表”復(fù)選框,然后單擊“確定”按鈕6)單擊“瀏覽

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論