




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數據庫應用實驗報告(總四次)目錄實驗一3第二章 T-SQL語言基礎31 實驗目的32 實驗內容和步驟33 實驗小結4第三章 數據庫及其管理41 實驗目的42 實驗內容和步驟43 實驗小結5實驗二5第四章 數據表與表數據51 實驗目的52 實驗內容和步驟6第五章 數據查詢71 實驗目的72 實驗內容和步驟73 實驗小結9實驗三10第六章 試圖及其應用101 實驗目的102 實驗內容103 實驗小結11第七章 索引及其應用111 實驗目的112 實驗內容11實驗四12第八章 存儲過程與觸發(fā)器121 實驗目的122 實驗內容123 實驗小結14第九章 事務與游標141 實驗目的142 實驗內容143
2、 實驗小結15實驗一第二章 T-SQL語言基礎1 實驗目的1)學會定義數據類型,聲明局部變量的方法;2) 學會批處理和流程控制語句的使用方法。2 實驗內容和步驟(1)使用系統(tǒng)存儲過程,用戶自定義數據類型自定義一個地址(address)數據類型。EXEC sp_addtype address, varchar(80), not null創(chuàng)建兩個自定義類型stud_name 和 postalcode.Use studentGo Exec sp_addtype stud_name , varchar(8) , nullExec sp_addtype postalcode , char(6) , no
3、t null Go (2)使用DECLARE語句聲明局部變量,并使用SELECT或SER語句給變量賦值定義一個整型局部變量和一個可變長字符型局部變量并賦值。(略)(3)使用流程控制語句編寫程序編寫計算n?。?0)的T-SQL語句,并顯示計算結果。輸出字符串“School”中每一個字符的ASCII值和字符。設置在五分鐘后進行一次查詢操作。使用CASE語句,輸出教師基本信息表(teacher_info)中的所有教師所在的年齡段(每6年劃分一個段),并說明對應教師的職稱。use studentgoselect tech_title '職稱', areaofage=(case when
4、 age>18 and age<=24 then '18-24' when age>24 and age<=30 then '24-30' when age>30 and age<=36 then '30-36' when age>36 and age<=42 then '30-36' when age>42 and age<=48 then '42-48' end) from teacher_infogo3 實驗小結本次實驗我學習了定義數據類型、聲明局部
5、變量的方法,熟悉了批處理和流程控制語句的使用方法。第三章 數據庫及其管理1 實驗目的1) 了解系統(tǒng)數據庫的作用; 2) 學會使用對象資源管理器創(chuàng)建用戶數據庫;3) 學會使用SQL編輯器創(chuàng)建數據庫;4) 學會壓縮和擴充數據庫;5) 學會查看和修改數據庫選項;6) 學會給數據庫改名和刪除數據庫。2 實驗內容和步驟1) 分別對象資源管理器、SQL編輯器和模板資源管理器創(chuàng)建一個數據庫。(略)使用T-SQL語句創(chuàng)建數據庫:2) 分別使用對象資源管理器和T-SQL編輯器將數據庫student的初始分配空間大小擴充到40MB。3) 分別使用對象資源管理器和T-SQL編輯器將數據庫student數據庫的空間壓
6、縮至最小空間量。4) 分別使用對象資源管理器和T-SQL編輯器將student數據庫重新設置為只讀狀態(tài)。5) 分別使用對象資源管理器和T-SQL編輯器將student數據庫改名為scholastic。6) 分別使用對象資源管理器和T-SQL編輯器刪除scholastic數據庫。drop database scholastic7) 采用系統(tǒng)存儲過程分離和附加數據庫。 分離數據庫scholastic附加數據庫3 實驗小結通過本次實驗,我了解系統(tǒng)數據庫的作用,學會了使用對象資源管理器創(chuàng)建用戶數據庫和使用SQL編輯器創(chuàng)建數據庫,學會了壓縮和擴充數據庫,并且學會查看和修改數據庫選項以及數據庫改名和刪除數
7、據庫。實驗二第四章 數據表與表數據1 實驗目的1) 了解SQL Server的數據類型;2) 了解數據表的結構特征;3) 學會使用對象資源管理器和T-SQL語句創(chuàng)建數據表;4) 學會在對象資源管理器中對數據表進行插入、修改和刪除數據的操作;5) 學會使用T-SQL語句對數據表進行插入、修改和刪除數據的操作;6) 學會定義約束、使用默認和規(guī)則。2 實驗內容和步驟(1) 使用對象資源管理器創(chuàng)建表在對象資源管理器中分別創(chuàng)建學生信息表( stud_info)、教師基本信息表(teacher_info)、學生成績表(stud_grade)、課程信息表(lesson_info)、課程安排表(teach_s
8、chedule)、院系代碼表(dept_code)、專業(yè)代碼表(specialty_code)、教研室信息表(staffroom_info)和教師信息表(classroom_info)。(2) 刪除表和創(chuàng)建表(3) 分別使用對象資源管理器和T-SQL語句修改表結構1) 假設在創(chuàng)建數據表lesson_info時錯將課程學分course_mark設計為char(2),現欲修改為decimal(3,1)。2) 向stud_info 表增加“入學時間”列,其數據為日期型(4) 建立約束1) 為student 數據庫的stud_info表中的mark列建立check約束2) 使用T-SQL語句創(chuàng)建表 s
9、tud_info,設置stud_id為PRIMARY KEY 約束。(略)3) 為表stud_info的telcode列建立UNIQUE約束。4) 為stud_grade表中的stud_id列建立FOREIGN KEY約束。獨立實踐:為表 stud_info的zipcode列建立DEFAULT約束。(5) 向數據庫student的表中插入數據(略)(6) 修改數據庫student 的表數據1) 在學生成績表中,將課程號“0401010101”的成績在原來基礎上增加10%。結果:2) 將所有低于60分的成績置空。3) 將趙明同學的入學成績更新成與學號為“0401040123”的孔榮同學的入學成績
10、相同。(7) 刪除數據庫student的表數據1) 刪除學號為“0401020201”的學生記錄。第五章 數據查詢1 實驗目的1) 掌握SELECT語句的基本語句;2) 學會使用ORDER BY 子句進行排序,使用GROUP BY子句進行統(tǒng)計;3) 學會數據匯總、連接查詢、嵌套查詢的方法。2 實驗內容和步驟(1) SELECT語句的基本使用1) 查詢stud_info為“0401010634”的學生的地址和電話。結果:2) 查詢stud_info表中性別為“女”的學生地址和電話。使用AS子句將結果中指定目標列的名稱分別指定為漢字標榜。3) 查詢所有電話號碼好友“3460”的教師所擔任課程的編碼
11、。4) 在學生基本信息表(stud_info)中查詢出生日期從“01-01-1987”到“12-31-1987”的學生的學號、姓名、家庭住址和郵政編碼。(2) 子查詢的使用1) 查找計算機工程系中所有擔任“計算機專業(yè)英語”的教師編號名和姓名。結果:2) 查詢計算機工程系計算機應用教研室的教師編號、姓名和其課程號。(略)3) 查詢計算機工程系參與了“多媒體技術”課程考試的學生學號、姓名和考試成績。(3) 連接查詢的使用1) 寫出課程安排表(teach_schedule)與課程信息表(lesson_info)等值內連接的SQL語句。2) 寫出教師信息表(teacher_info)與課程安排表( t
12、each_schedule)右外連接的SQL 語句。(4) 數據匯總1) 查詢計算機工程系全體教師的平均工資。結果:2) 查詢計算機工程系學生的入學成績的最高分和最低分。3) 統(tǒng)計計算機工程系擔任“多媒體技術”課程教學的教師的工資總和。結果:(5) GROUP BY、ORDER BY子句的使用1) 按職稱統(tǒng)計各個教研室的教師人數。結果:2) 將計算機工程系的學生情況按出生日期的先后排列。3 實驗小結本次實驗我掌握了SELECT語句的基本語句;學會了使用ORDER BY 子句進行排序,使用GROUP BY子句進行統(tǒng)計;并練習了數據匯總、連接查詢、嵌套查詢的方式。實驗三第六章 試圖及其應用 1 實
13、驗目的1) 理解視圖的概念2) 學會利用對象資源管理器和SQL編輯器創(chuàng)建視圖的方法3) 學會查詢、更新、刪除視圖的方法2 實驗內容(1) 創(chuàng)建視圖1) 將表 stud_info中所有女生記錄定義為一個視圖(stud_info_female),在SQL編輯器窗口中輸入和執(zhí)行語句,并通過對象資源管理器來顯示其結果。2) 對表stud_info定義反映學生出生日期的視圖(stud_info_birthday)。3) 將表stud_grade中學生的學號及其平均成績定義一個視圖(stud_grade_average)。(2) 使用視圖1) 通過視圖stud_info_female查詢所有女生的記錄信息
14、。select * from stud_info_female2) 通過查詢視圖stud_info_birthday查看學生的年齡。Select stud_id,name,2011-year(birthday) as stud_age from stud_info_birthday3) 向視圖stud_info_female中插入一條記錄。insert into stud_info_femalevalues('0402010634',N'張燕','12/06/1986',N'女',N'北京海淀區(qū)','010
15、-66571908','100081',565)4) 將張燕從管理工程系轉到計算機工程系。update stud_info_femaleset stud_id=SUBSTRING(stud_id,1,2)+'01'+SUBSTRING(stud_id,5,6)where name=N'張燕'5) 把張燕從表 stud_info中刪除。delete from stud_info_female where name=N'張燕'3 實驗小結本次實驗中我理解了視圖的概念,也學會了利用對象資源管理器和SQL編輯器創(chuàng)建視圖的方法,并熟
16、悉了查詢、更新、刪除視圖的方法第七章 索引及其應用1 實驗目的1) 學會使用對象資源管理器或SQL編輯器創(chuàng)建索引2) 學會創(chuàng)建唯一、聚集、非聚集索引以及復合索引3) 學會查看和修改索引選項,以及給索引改名和刪除索引2 實驗內容(1) 建立索引對student數據庫的stud_info學生信息表中的學號stud_id列建立一個名為xh_index的索引。create index xh_index on stud_info(stud_id)(2) 創(chuàng)建一個復合索引為stud_info學生信息表創(chuàng)建一個基于“入學成績,學號”組合列的非聚集、復合索引cj_xh_index。create index c
17、j_xh_index on stud_info(stud_id,mark)(3) 創(chuàng)建一個聚集、復合索引為學生成績表(stud_grade)創(chuàng)建一個基于“學號,課程號”組合列的聚集復合索引。use studentgocreate clustered index xhkc_index on stud_grade(stud_id,course_id)(4) 創(chuàng)建一個唯一聚集、復合索引為課程表(lesson_info)創(chuàng)建一個基于“課程號,課程類型”組合的唯一、聚集、復合索引kc_lx_index。use studentgocreate unique clustered index kc_lx_in
18、dex on lesson_info(course_id,course_type)with pad_index,fillfactor=80,ignore_dup_key(5) 在teacher_info表上創(chuàng)建基于telephone列的非聚集索引,其填充因子為60.use studentgocreate index ch_index on teacher_info(telephone)with fillfactor=60實驗四第八章 存儲過程與觸發(fā)器1 實驗目的1) 理解存儲過程和觸發(fā)器的作用2) 學會使用對象資源管理器和SQL編輯器創(chuàng)建存儲過程3) 學會使用對象資源管理器和SQL編輯器創(chuàng)建觸
19、發(fā)器4) 學會存儲過程和觸發(fā)器的管理方法2 實驗內容(1) 創(chuàng)建和執(zhí)行存儲過程1) 針對教師基本信息表teacher_info,創(chuàng)建一個名稱為teacher_select的存儲過程,執(zhí)行存儲過程將從數據表teacher_info中根據編號檢索某一教師的姓名和職稱。use student gocreate procedure teacher_select(no char(6),nam nvarchar(4) output,title nchar(5) output)asselect nam=name,title=tech_title from teacher_info where teacher
20、_id=nogo執(zhí)行:declare nam varchar(6)declare title char(10)execute teacher_select '010104',nam output,title outputselect '姓名:',nam,'職稱:',title2) 建立一個插入教師記錄的存儲過程teacher_insert。(略)3) 建立一個修改教師記錄的存儲過程teacher_update,并執(zhí)行。(略)4) 建立一個刪除教師信息表中記錄的存儲過程teacher_delete,并執(zhí)行之。use student gocreate
21、 procedure teacher_delete(no char(6)asdelete from teacher_info where teacher_id=nogo執(zhí)行:exec teacher_delete '010119'(2) 創(chuàng)建觸發(fā)器1) 使用CREATE TRIGGER 語句創(chuàng)建一個觸發(fā)器teacher_tri1,當表teacher_info中插入一條記錄時,自動顯示表teacher_info的記錄。use studentgo create trigger teacher_tri1on teacher_infofor insertasselect * from
22、teacher_info執(zhí)行:insert into teacher_infovalues('010119',N'聶曉基',N'男',40,N'講師','02034360338',250.0,'0401010108')2) 使用系統(tǒng)存儲過程sp_helptext查看觸發(fā)器teacher_tri1的定義文本信息。exec sp_helptext teacher_tri13) 在數據庫student中的teacher_info 表上建立delete觸發(fā)器teacher_tri2。use studentg
23、ocreate trigger teacher_tri2on teacher_infofor deleteasif(select count(*) from teach_schedule inner join deleted on teach_schedule.teacher_id=deleted.teacher_id)>0)begin raiserror('you can not delete the teacher_info with the order record. the transaction will be cancelled',10,1) rollback
24、 transactionend執(zhí)行:delete from teacher_info where teacher_id='010101'獨立實踐:編寫一個觸發(fā)器,在對student數據庫中的數據表stud_info執(zhí)行插入、更新和刪除三種操作后作出相應提示。use studentgocreate trigger teacher_tri3on stud_infofor insert,update,deleteasif(select count(*) from inserted inner join deleted on inserted.stud_id=deleted.stud_
25、id)>0) print'update successfully'if(select count(*) from deleted)>0) print'delete successfully'if(select count(*)from inserted)>0) print'insert successfully'3 實驗小結本次試驗我理解了存儲過程和觸發(fā)器的作用,并熟悉了使用對象資源管理器和SQL編輯器創(chuàng)建存儲過程和使用對象資源管理器和SQL編輯器創(chuàng)建觸發(fā)器,與此同時,我還練習了存儲過程和觸發(fā)器的管理方法。第九章 事務與游標1
26、實驗目的1) 了解SQL Server 程序設計的方法。2) 學會批處理、流程控制、事務處理、鎖、游標的使用方法。2 實驗內容(1) 事務處理運用事務處理將student數據庫中課程信息表lesson_info中的多媒體技術課程編號course_id由0401010106修改為0401010116.use studentgobegin transaction student_tranupdate lesson_info set course_id='0401010116'where course_id='0401010106'save tran stud_sav
27、epointupdate teach_schedule set course_id='0401010116'where course_id='0401010106'update stud_grade set course_id='0401010116'where course_id='0401010106'update teacher_info set course_id='0401010116'where course_id='0401010106'if(ERROR=1) rollback tran stud_savepointelsecommit tran student_tran(2) 油表的使用1) 定義一個游標stud_cursor,逐行讀取stud_info表中的數據(略)2) 定義一個游標stud_cursor,刪除stud_info中第一行數據(略)3) 定義一個游標stud_curso
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒游戲課題申報書范例
- 非遺課題申報書范文
- 歷史作業(yè)設計課題申報書
- 關于托育服務課題申報書
- 課題項目申報書查重嗎
- 課題申報書封面
- 課題申報書怎么寫標題
- 同人插畫合同范本
- 合同范本 鞋子訂做
- 開放課題申報書
- 2024年江西司法警官職業(yè)學院單招職業(yè)適應性測試題庫含答案
- 精神科護士進修
- 2024年洛陽市九年級語文中考第一次模擬考試卷附答案解析
- 脾淋巴瘤護理查房
- (幻燈片)湘教版七年級下冊地理復習課件
- 2024年江西電力職業(yè)技術學院單招職業(yè)技能測試題庫及答案解析
- 水質采樣記錄表
- MOOC 集合論與圖論(下)-哈爾濱工業(yè)大學 中國大學慕課答案
- 《行行重行行-》-大學語文-教案省公開課一等獎全國示范課微課金獎課件
- 【真題】2023年常州市中考道德與法治試卷(含答案解析)
- 高速公路工程項目監(jiān)理質量控制
評論
0/150
提交評論