實(shí)驗(yàn)一 數(shù)據(jù)定義操作_第1頁
實(shí)驗(yàn)一 數(shù)據(jù)定義操作_第2頁
實(shí)驗(yàn)一 數(shù)據(jù)定義操作_第3頁
實(shí)驗(yàn)一 數(shù)據(jù)定義操作_第4頁
實(shí)驗(yàn)一 數(shù)據(jù)定義操作_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.實(shí)驗(yàn)一 數(shù)據(jù)定義操作l 實(shí)驗(yàn)?zāi)康?1. 掌握數(shù)據(jù)庫和表的基礎(chǔ)知識 2. 掌握使用創(chuàng)建數(shù)據(jù)庫和表的方法 3. 掌握數(shù)據(jù)庫和表的修改、查看、刪除等基本操作方法l 實(shí)驗(yàn)內(nèi)容和要求 一、數(shù)據(jù)庫的創(chuàng)建 在開始菜單中,啟動SQl Server 程序中的“SQL Server Management Studio”,在對象資源管理器窗口中,右鍵單擊“數(shù)據(jù)庫”,選擇“新建數(shù)據(jù)庫”,創(chuàng)建成績管理數(shù)據(jù)庫Grademanager,要求如下表所示: Grademanager數(shù)據(jù)庫參數(shù)表 參數(shù) 參數(shù)值 參數(shù) 參數(shù)值 存儲的數(shù)據(jù)文件路徑 D:dbgrademanager_data.mdf 存儲的日志文件路徑 D:dbgr

2、ademanager_log.ldf 數(shù)據(jù)文件初始大小 5MB 日志文件初始大小 2MB 數(shù)據(jù)文件最大值 20MB 日志文件最大值 15MB 數(shù)據(jù)文件增長量 原來10% 日志文件增長量 2MB 二、表的創(chuàng)建、查看、修改和刪除 1表的創(chuàng)建 在Grademanager數(shù)據(jù)庫中,右鍵單擊“表”,選擇“新建表”命令,創(chuàng)建如下表所示的表: (1)Student表的表結(jié)構(gòu) 字段名稱 數(shù)據(jù)類型 長度 精度 小數(shù)位數(shù) 是否允許Null值 說明Sno Char 10 0 0 否 學(xué)號,主碼 Sname Varchar 8 0 0 是 姓名Ssex Char 2 0 0 是 性別,取值:男或女 Sbirthday

3、 Date 8 0 0 是 出生日期Sdept Char 16 0 0 是 系名Speciality Varchar 20 0 0 是 專業(yè)名特別注意:為屬性Ssex設(shè)置約束,需選中屬性Ssex行,然后單擊菜單中的“表設(shè)計(jì)器”,選擇“CHECK約束”命令,然后按照圖1進(jìn)行設(shè)置。圖1 設(shè)置性別的約束(2)Course表(課程名稱表)的表結(jié)構(gòu) 字段名稱 數(shù)據(jù)類型 長度 精度 小數(shù)位數(shù) 是否允許Null值 說明 Cno Char 5 0 0 否 課程號,主碼 Cname Varchar 20 0 0 否 課程名(3)SC表(成績表)的表結(jié)構(gòu) 字段名稱 數(shù)據(jù)類型 長度 精度 小數(shù)位數(shù) 是否允許Null

4、值 說明 Sno Char 10 0 0 否 學(xué)號,外碼 Cno Char 5 0 0 否 課程號,外碼 Degree Decimal 5 5 1 是 成績,0100之間 特別注意:為屬性Degree 約束,可參照屬性Ssex進(jìn)行設(shè)置,“CHECK約束對話框”中的表達(dá)式為 Degree=1 And Degree=60 觀察一下顯示出來的數(shù)據(jù)是否有序。 3利用SQL命令實(shí)現(xiàn)下列操作: (1) 為Student表創(chuàng)建一個名為S_dept的索引,以系別排序 (2) 為Teacher表創(chuàng)建一個名為T_name的聚集索引,以Tname降序排序。命令格式:create clustered index on

5、 表名(列名1 順序,列名2 順序)(3) 刪除S_dept索引 。命令格式:drop index 表名.索引名 或 drop index 索引名 on 表名三、視圖的創(chuàng)建與使用 1. 創(chuàng)建一個簡單視圖view1,查詢“計(jì)算機(jī)系”學(xué)生的信息2. 創(chuàng)建一個簡單視圖view2,統(tǒng)計(jì)每門課程的選課人數(shù)和最高分3. 創(chuàng)建一個復(fù)雜視圖view3,查詢與“張立”同學(xué)同一系別的學(xué)生信息4. 刪除視圖View3l 思考題 1利用INSERT、UPDATE和DELETE命令可以同時對多個表操作嗎? 2. 使用索引為什么能提高查詢速度? 3索引經(jīng)常被建立在哪些字段上? 4聚集索引與其他索引有什么不同?實(shí)驗(yàn)五 存儲

6、過程、函數(shù)、觸發(fā)器及游標(biāo)操作l 實(shí)驗(yàn)?zāi)康?1. 掌握compute by的使用2. 掌握變量的定義和使用方法3. 掌握存儲過程的定義和執(zhí)行方法4. 掌握觸發(fā)器的定義方法5. 掌握函數(shù)的定義和調(diào)用方法6. 掌握游標(biāo)的定義和使用方法(提示:以下操作全部基于實(shí)驗(yàn)一創(chuàng)建的Grademanager數(shù)據(jù)庫)l 實(shí)驗(yàn)內(nèi)容和要求 一、 使用compute by完成下列操作1. 顯示所有學(xué)生的成績,并匯總每個學(xué)生的總分。2. 顯示所有學(xué)生的信息,并匯總男女學(xué)生的人數(shù)。二、 存儲過程1. 創(chuàng)建一個名為Query_student的存儲過程,該存儲過程的功能是根據(jù)學(xué)號查詢學(xué)生表中某一學(xué)生的學(xué)號、姓名、性別及出生日期。

7、執(zhí)行存儲過程Query_student,查詢學(xué)號為“”的學(xué)生的學(xué)號、姓名、性別及出生日期。寫出完成此功能的SQL命令。2. 創(chuàng)建存儲過程sm_score,用于求指定學(xué)號(輸入?yún)?shù))的學(xué)生的總成績(輸出參數(shù))。執(zhí)行該存儲過程,指定學(xué)號為“20050101 ”。3. 創(chuàng)建并執(zhí)行存儲過程count_sno,用于求所有學(xué)生人數(shù),通過參數(shù)返回學(xué)生人數(shù)。4. 刪除存儲過程count_sno。5. 創(chuàng)建一個向課程表中插入一門新課程的存儲過程Insert_course,該存儲過程需要兩個參數(shù),分別用來傳遞課程號、課程名;執(zhí)行存儲過程Insert_course,向課程表Course中插入一門新課程(,F(xiàn)lash

8、動畫設(shè)計(jì))。6. 創(chuàng)建一個能向?qū)W生表中插入一條記錄的存儲過程Insert_student,執(zhí)行存儲過程Insert_student,向?qū)W生表中插入一個新同學(xué)(20060208,徐小花,女, 1987-08-25, IS,電子商務(wù))。三、 觸發(fā)器1. 在SC表創(chuàng)建一個INSERT觸發(fā)器,如果插入一條選課信息時,學(xué)生的學(xué)號值在表S中不存在,則不執(zhí)行插入操作,并提示用戶。2. 使用insert語句向SC表中插入記錄(20020101, C01), 觀察觸發(fā)器INSERT_SC是否被執(zhí)行。3. 在Teaching表中創(chuàng)建一個插入觸發(fā)器insert_teaching,一旦發(fā)現(xiàn)待插入的教師號Tno在Tea

9、cher表中不存在,就發(fā)出警告信息并禁止插入。4. 創(chuàng)建一個當(dāng)學(xué)生表中插入一個新同學(xué)時能自動列出全部同學(xué)學(xué)生信息的觸發(fā)器Display_trigger。5. 調(diào)用“存儲過程部分”的第5題創(chuàng)建的存儲過程Insert_student,向?qū)W生表中插入一新同學(xué),新同學(xué)信息(20060311,張麗麗,女, 1988-2-15, MA,數(shù)學(xué)),觀察觸發(fā)器Display_trigger是否被執(zhí)行。6. 在成績表SC中創(chuàng)建一個UPDATE觸發(fā)器update_score,當(dāng)修改成績時,如果發(fā)現(xiàn)成績小于0,則不執(zhí)行修改操作,并提示用戶。使用下面的SQL語句試圖修改20050101學(xué)生的成績,觀察觸發(fā)器update

10、_score是否被執(zhí)行。update SC set Degree=-30 where Sno=200501017. 課程表Course中創(chuàng)建一個DELETE觸發(fā)器delete_course,如果待刪除的課程在SC表中存在對應(yīng)的選課記錄,則不執(zhí)行刪除操作,并提示用戶。使用下面的SQL語句試圖刪除C01課程信息,檢查觸發(fā)器delete_course是否被執(zhí)行。delete from Course where Cno=C018. 禁用update_score觸發(fā)器9. 啟用update_score觸發(fā)器10. 刪除update_score觸發(fā)器四、 函數(shù)操作1、 創(chuàng)建一個標(biāo)量值函數(shù)getavgscore以獲取某門課平均成績。2、 創(chuàng)建內(nèi)聯(lián)表值函數(shù)getscore以獲取某個學(xué)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論