數(shù)據(jù)庫原理_實驗指導書2015_第1頁
數(shù)據(jù)庫原理_實驗指導書2015_第2頁
數(shù)據(jù)庫原理_實驗指導書2015_第3頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫原理及應用B實驗指導書1. 實驗一 數(shù)據(jù)庫的創(chuàng)建與管理(2學時)2. 實驗二 表的創(chuàng)建與管理(2學時)3. 實驗三 訪問與修改數(shù)據(jù)(6學時)4. 實驗四 視圖與索引(2學時)5. 實驗五 存儲過程與觸發(fā)器(2學時)6. 實驗六SQL Server2005的安全與保護(2學時)上海工程技術大學電子電氣工程學院計算機系上海工程技術大學實驗報告要求實驗課程: 實驗名稱: 實驗編號: 指導教師:年級: 姓名: 學號: 組號:實驗成績:實驗日期:實驗時間:一、實驗目的本次實驗所涉及并要求掌握的知識點。二、實驗內(nèi)容與實驗步驟實驗內(nèi)容、原理分析及具體實驗步驟。三、實驗環(huán)境實驗所使用的器件、儀器設備名稱

2、及規(guī)格。四、實驗過程與分析詳細記錄實驗過程中發(fā)生的故障和問題,進行故障分析,說明故障排除的 過程及方法。根據(jù)具體實驗,記錄、整理相應數(shù)據(jù)表格、繪制曲線、波形圖等。五、實驗結果總結對實驗結果進行分析,完成思考題目,總結實驗的心得體會,并提出實驗 的改進意見。六、附錄實驗一數(shù)據(jù)庫的創(chuàng)建與管理用戶即可以在 Microsoft SQL Server Management Studio中,也可以在查詢分析器中創(chuàng)建、修改、刪除數(shù)據(jù)庫,本次實驗旨在讓用戶熟悉SQLServer2005的實驗環(huán)境,課時為2學時。實驗目的熟悉SQL Server 2005的主要工具,掌握SQL Server服務管理器,SQL S

3、erverMicrosoft SQL Server Management Studio ,SQL Server 查詢分析器的 使用,并了解其他輔助工具或向導,掌握在Microsoft SQL Server Man ageme ntStudio中和查詢分析器中創(chuàng)建、修改、刪除數(shù)據(jù)庫;學會在表設計器中實現(xiàn)基 本表的創(chuàng)建,修改,表中數(shù)據(jù)的增加等操作。實驗原理1. 創(chuàng)建數(shù)據(jù)庫的基本語法為:CREATE DATABASE數(shù)據(jù)庫名ON PRIMARY(NAME =邏輯數(shù)據(jù)文件名,F(xiàn)ILENAME='操作數(shù)據(jù)文件路徑和文件名,SIZE=文件長度,MAXSIZE=最大長度,F(xiàn)ILEROWTH=文件增長

4、率),nLOG ON (NAME=邏輯日志文件名,F(xiàn)ILENAME='操作日志文件路徑和文件名',SIZE=文件長度,MAXSIZE=最大長度,F(xiàn)ILEROWTH=文件增長率),n;實驗內(nèi)容1. 使用 SQL Server 2005Microsoft SQL Server Management Studio ,創(chuàng) 建一個數(shù)據(jù)庫,要求如下:(1) 數(shù)據(jù)庫名為“ student ”。(2) 數(shù)據(jù)庫中包含一個基本數(shù)據(jù)文件,邏輯文件名為 stu_1,物理文件名 為d:stu_1.mdf,文件初始容量為10MB最大容量為100MB文件容量遞增值 為5%。(3) 數(shù)據(jù)庫中包含一個事務日志文

5、件,邏輯文件名分別為 stu_1og,物 理文件名分別為d:stu_1og.LDF ,文件初始容量為1MB最大容量為30MB 文件增長速度為1MB.2. 使用 SQL Server 2005Microsoft SQL Server Management Studio ,對 數(shù)據(jù)庫做如下修改:(1) 添加一個輔助數(shù)據(jù)文件,邏輯文件名為stu_2,磁盤文件名為stu_2.ndf,文件初始容量為5MB最大容量為50MB文件容量遞增值為5MB(2) 將日志文件stu_1_log的最大容量增加為50MB遞增值改為3MB3. 刪除student數(shù)據(jù)庫。4. 在查詢分析器中使用 Create Databas

6、e命令創(chuàng)建數(shù)據(jù)庫student,要求 與第一題一樣。5. 在查詢分析器中使用數(shù)據(jù)庫stude nt6. 通過表設計器在數(shù)據(jù)庫student中創(chuàng)建學生表S,表結構如表11.1所 示:表11. 1學生表S的數(shù)據(jù)結構字段名稱字段說明數(shù)據(jù)類型長度是否為空備注SNO學號VARCHAR10NOT NULL主鍵SNAME姓名VARCHAR10NOT NULL普通索引SEX性別VARCHAR2NULL男或女AGE年齡INT4NULL大于5歲SDEPT系別VARCHAR10NULL7. 通過表設計器在數(shù)據(jù)庫student中創(chuàng)建課程表C,表結構如表11.2所 示:表11. 2課程表C的數(shù)據(jù)結構字段名稱字段說明數(shù)據(jù)

7、類型長度是否為空備注CNO課程號VARCHAR6NOT NULL主鍵CNAME課程名VARCHAR20NOT NULLPCNO先修課號VARCHAR6NULLCREDIT學分INT4NULL默認48.通過表設計器在數(shù)據(jù)庫student中創(chuàng)建選修表SC,表結構如表所示:表11.3選修表SC的數(shù)據(jù)結構字段名稱字段說明數(shù)據(jù)類型長度是否為空備注CNO課程號VARCHAR6NOT NULL主鍵為(SNOSNO學號VARCHAR10NOT NULLCNOGRADE成績INT4NULL在0,1009. 在表設計器中創(chuàng)建參照完整性。使 SC表中的SNO參照S表中的SNO屬 性,SC表中的CNO參照C表中CNO

8、1性。10. 生成S, C, SC三個表的關系圖。實驗步驟略,參見教材實驗二表的創(chuàng)建與管理本次實驗旨在讓用戶熟悉Transact-SQL語言創(chuàng)建、修改、刪除數(shù)據(jù)庫表, 課時為2學時。實驗目的熟練利用Transact-SQL語言創(chuàng)建、修改、刪除數(shù)據(jù)庫表,定義表的三類完 整性規(guī)則。實驗原理1. 定義基本表的格式為:Create table < 數(shù)據(jù)庫名 > < 表名> (<列名 > < 數(shù)據(jù)類型 > < 列級完整性約束條件>,<列名 > <數(shù)據(jù)類型 > < 列級完整性約束條件>, n,<表級完整性

9、約束條件>, n);2. 利用Transact-SQL語言增加、刪除和修改字段(1)修改基本表修改字段的基本格式為:ALTER TABLE表名ALTER COLUMN 列名新類型NULL|NOT NULL約束定義(2)增加字段和表約束規(guī)則。增加字段和表約束規(guī)則的基本格式為:ALTER TABLE表名ADD列定義|表約束定義(3) 刪除字段或表約束規(guī)則。基本格式:ALTER TABLB表名DROPCONSTRAINT約束名|COLUM列名3. 刪除基本表DROP TABLE表名4. 數(shù)據(jù)插入語句語法為:INSERT INTO表或視圖名(列組)VALUES 值列| SELECTS句其中:IN

10、SERT VALUE語句一次只能插入一條記錄,而 INSERT SELEC語 句則可一次插入多條記錄。實驗內(nèi)容1. 創(chuàng)建stu數(shù)據(jù)庫2在stu數(shù)據(jù)庫中創(chuàng)建創(chuàng)建學生表S,表結構如表11.6所示:表11.4學生表S的數(shù)據(jù)結構字段名稱數(shù)據(jù)類型長度是否為空備注字段說明SNOVARCHAR6NOT NULL主鍵學號SNAMEVARCHAR20NULL姓名SEXVARCHAR2NULL性別AGEINT4NULL年齡SDEPTVARCHAR20NULL系別3.在stu數(shù)據(jù)庫中創(chuàng)建課程表C,表結構如表所示:表11. 5課程表C的數(shù)據(jù)結構字段名稱數(shù)據(jù)類型長度是否為空備注字段說明CNOVARCHAR8NOT NU

11、LL主鍵課程號CNAMEVARCHAR20NOT NULL課程名PCNOVARCHAR8NULL先修課號CREDITINT4NULL學分4.在stu數(shù)據(jù)庫中創(chuàng)建學生選課表SC表結構如表11.8所示:表11.6選課表sc的數(shù)據(jù)結構字段名稱字段說明數(shù)據(jù)類型長度是否為空備注CNO課程號VARCHAR8NOT NULL主鍵為(SNOSNO學號VARCHAR6NOT NULLCNOGRADE成績INT4NULL5.修改C表,刪除PCNO?段。6. 在C表中添加一列,列名為TNAME數(shù)據(jù)類型為VARCHAR長度為10,允 許為空。7. 修改S表中SDEP字段,將其長度改為30。8修改S表,添加CHECKS

12、束。使S表的SEX列的值只能是“男”或“女”。9. 修改S表,添加DEFAULT默認值約束。在S表AGE列上創(chuàng)建默認值為“ 18”的約束。10. 修改Sc表,添加FOREIGN KEY勺束。使SC表中的SNO參照S表中的 SNC屬性,CNO參照C表中CNOB性。11. 修改Sc表,添加FOREIGNKEY勺束。使SC表中的CNO參照C表中CNO 屬性。12. 修改C表,在C表中添加一列,列名為TNAM,數(shù)據(jù)類型為varchar長 度為10,允許為空。13. 刪除已經(jīng)建立的s表,c表,sc表14. 創(chuàng)建s表,c表,sc表,并在創(chuàng)建的同時定義各表的主鍵,各表之間的 參照完整性約束;使S表的SEX列

13、的默認值為“男”;定義 CHEC約束,使SEX 屬性列的值只能取“男”或“女”,使 SC表的grade取值限定在0,100之間。15. 在S,C, SC三個表中插入分別插入表11.9,表11.10,表11.11中的 數(shù)據(jù),注意數(shù)據(jù)的參照完整性。表11.11只是用普通表格的方式列出了選課表 sc中的數(shù)據(jù),請讀者注意讀懂,橫表示學生學號,列表示課號,比如第一行表示課程cl,學生s1,s2,s3,s4,s5,s6都選修了該課程,并有對應的成績。第二行表示c2課程,si的成績是70分;s2和s6選修了該課程,但還不知道成績,所以成績值為 空;s3成績85; s4沒有選修c2課程,s5成績?yōu)?0分。表1

14、1.7基本表S的數(shù)據(jù)S1王芳20女數(shù)學S2李莉19女計算機S3王華22男管理S4王明19男數(shù)學S5宋江21男管理S6曹操18男計算機表 11. 8基本表C的數(shù)據(jù)C2數(shù)學4劉明C4程序設計3吳一C3數(shù)據(jù)庫4李方華C1操作系統(tǒng)4劉備C5C語言4張飛表11.9基本表SC的數(shù)據(jù)(空格為未修課)CnoSnoS1S2S3S4S5S6C1808590757090C270NULL8560NULLC38595NULL8090C490NULL70C57065NULL16. 將stu數(shù)據(jù)庫更名為STUDENT實驗步驟115.在查詢分析器中輸入對應的語句,略。16.調(diào)用系統(tǒng)存儲過程sp_renamedb更改數(shù)據(jù)庫的名

15、稱。在查詢分析器中輸 入如下語句:sp_renamedb stu ' , ' STUDENT思考題1. 為什么要進行約束定義?2. 學生實體與課程實體之間的聯(lián)系是什么類型?3. 指出三個表之間是怎樣的參照和被參照關系?4. 在創(chuàng)建關系時,選中“級聯(lián)刪除相關記錄”與不選“級聯(lián)刪除相關記錄”有 什么不同?實驗報告要求1. 回答思考題。2. 實驗最終獲得的關系圖。3. 實驗中遇到的特殊問題及解決辦法。4. 實驗體會。注意事項1. 創(chuàng)建的庫及表默認狀態(tài)下保存在系統(tǒng)盤 C相應目錄下,可修改其保存位置2. 靈活運用右鍵功能。實驗三訪問與修改數(shù)據(jù)訪問和修改數(shù)據(jù)主要包括數(shù)據(jù)的插入 (inser

16、t ),數(shù)據(jù)的查詢(select),數(shù) 據(jù)的刪除(delete),數(shù)據(jù)的修改(update),本次實驗安排6個學時進行,分為 單表數(shù)據(jù)查詢,多表數(shù)據(jù)查詢,數(shù)據(jù)的刪除、修改等。實驗目的學會使用Microsoft SQL Server Management Studio查詢數(shù)據(jù),熟練使用SQL語句進行單表查詢,熟悉嵌套查詢和聯(lián)結查詢,靈活運用insert、update、delete等SQL語句向表中插入、刪除、修改數(shù)據(jù)。實驗原理1. 數(shù)據(jù)檢索語句的語句格式SELECT查詢列INTO新表名FROM 數(shù)據(jù)源WHERE 元組條件表達式GROUP BY 分組條件HAVING組選擇條件ORDER BY 排序

17、條件2、修改數(shù)據(jù)語法為:UPDATE表或視圖名SET 列名=表達式|DEFAULT,nWHERE條件3 刪除數(shù)據(jù)語法為:DELETE FROM表名WHERE條件實驗內(nèi)容1. 查詢s表中的所有記錄2. 查詢?nèi)w學生的學號、姓名、所在系。3. 查詢sc表中所有記錄的sno字段,并去掉重復值。4. 查詢c表中eno為cl'和c3'的課程信息。5. 檢索劉明老師所授課程的課程號和課程名。6. 查詢所有年齡在20歲以下、“數(shù)學系”的男學生學號和姓名。7. 在sc中檢索成績?yōu)榭罩档膶W生學號和課程號。8. 查詢?nèi)w學生的姓名及其出生年份,并給“出生年份”取別名。9. 列出年齡在20到30歲(

18、包括20歲和30歲)的,計算機系的男學生學號, 姓名,性別,年齡。10. 查詢選修了課程的學生學號。11. 檢索年齡大于23歲的男同學的學號和姓名。12. 查詢選修了 C1課程的學生學號和成績,查詢結果按成績降序排列。13. 查詢所有有成績的學生學號和課程號,成績,查詢結果按課號升序排 列,同一個課程按成績降序排列。14. 列出所有的“陳”姓男學生的基本信息.15. 在c表中查詢課程名中包含“數(shù)據(jù)庫”三個字的課程信息。16. 查詢選修“ C1”課程的學生平均成績。17. 查詢選修“ C4'課程的學生最高分數(shù)。18. 查出男女學生的性別,各自的平均年齡、最大年齡、最小年齡。19. 查詢選

19、修“ C4”課程的學生總人數(shù)。20. 查詢選修“ C3”課程的學生平均成績。21. 查詢選修“ C3”課程的學生最高分數(shù)。22. 統(tǒng)計有學生選修的課程門數(shù)。23. 查詢sc表中選課人數(shù)超過了 5人的課程號碼,選課人數(shù)。24. 查詢各門課程的課程號及相應的選課人數(shù)。25. 查詢選修了 4門以上課程的學生學號。26. 統(tǒng)計每門課程的學生選修人數(shù)(超過10人的課程才統(tǒng)計),要求輸出課 程號和選修人數(shù),查詢結果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列。27. 檢索選修4門以上課程的學生總成績(不統(tǒng)計不及格的課程),并要求 按總成績的降序排列出來。28. 查詢哪些學生選修了 3門以上課程。29. 檢

20、索學號為S3的學生所學課程的課程名和任課教師名。30. 求liu老師所授課程的每門課程的課號,學生平均成績。31. 在3個表中查詢出學生的sname(別名為學生姓名),cname (別名為課 程名),grade (別名為成績)32. 檢索學號為S3的學生所學課程的課程名和任課教師名。33. 檢索至少選修劉明老師所授課程中一門課程的女同學姓名。34. 查詢所有學生姓名及其所選課程的課程號和成績。35. 查詢哪些學生選修了數(shù)據(jù)庫課程,列出學號,姓名。36. 查詢選修“ C1”課程的學生學號,姓名及成績。37. 查詢所有選修了 “吳一”老師課程的女學生學號和姓名。38. 查詢“程序設計”課程成績在

21、90分以上的學生姓名。39. 查詢選修了 3門以上課程的學生學號,姓名,所在系。選課門數(shù),平均 分40. 求劉明老師所授課程的每門課程的學生平均成績。41. 求選修c4課程的學生平均年齡。42. 檢索學號比王芳同學大,而年齡比他小的學生姓名。43. 求年齡大于所有女同學年齡的男同學姓名和年齡。44. 列出年齡最大的學生的基本信息45. 求年齡大于女同學平均年齡的男學生姓名和年齡。46. 求年齡大于所有女同學年齡的男同學姓名和年齡。47. 查詢所有比“王華”年齡大的學生姓名、年齡和性別。48. 查詢所有“數(shù)學”課程成績低于數(shù)學平均成績的學生學號。49. 檢索李莉同學不學的課程的課程號。50. 檢

22、索至少選修了 cl和c2課程的學生姓名。51. 檢索英語成績最高的學生姓名。52. 檢索只選修了 c2課程的學生姓名。53. 查出選修了 c表中的所有課程的學生基本信息54. 查詢所有成績在80分以上的學生的學號,姓名,課程名,成績。55. 檢索全部學生都修的課程的課程號與課程名。56. 檢索選修課程包括劉明老師所教所有課程的學生學號。57. 檢索至少選修了 s2學生所修課程的學生姓名。58. 往基本表s中插入一個學生元組( s9','吳用,18)。59. 在基本表s中檢索每一門課程成績都大于等于 80分的學生學號,姓名和性別,并把檢索到的值送往另一個已存在的基本表studen

23、t (sno,sname sex)60. 在課程表中插入一條記錄,課程號為 C12,課程名為文學欣賞,學分為2, 教師待定(既未知)。61. 把每門課程的課號,課名,平均成績插到另一個新表62. 在基本表sc中刪除尚無成績的選課元組。63. 把王明同學的學習選課和成績?nèi)縿h去。64. 刪除學號為“ s1”的學生記錄。65. 刪除所有“男”學生選修“ C1”課程的選課記錄。66. 刪除學號為“ S8'的學生記錄。67. 刪除“劉芳”學生的基本信息及其所有的選課記錄。68. 若存在一個學號為“ S4”的學生,試將此學生的年齡改為 22歲。69. 將“C3'課程的學生成績都增加5%。

24、70. 把“吳一”老師的男學生選課成績增加 4%。71. 把選修“數(shù)據(jù)庫”課不及格的成績?nèi)臑榭罩怠?2. 把低于總平均成績的女同學成績提高15%。73. 在基本表sc中修改c4課程的成績,若成績小于等于75分時提高5%, 若成績大于75分時提高4%(用兩個update語句實現(xiàn))。74. 把所有英語類課程的成績提高2分。實驗步驟1 通過界面的方式(1) 啟動 Microsoft SQL Server Management Studio。展開學生的數(shù)據(jù)庫 STUDENT單擊表So(2)在S表上單擊右鍵,在快捷菜單中選擇“打開表”,其下級菜單即 為:返回所有行:該命令以網(wǎng)格方式顯示指定表的所有記錄

25、;返回首行:該命令以交互方式輸入要返回的行數(shù);查詢:打開查詢窗口,以圖形方式設計查詢;(3)選中返回所有行,如圖10-25,既可以在其中插入、修改、刪除對應 的數(shù)據(jù)。斯 Z 義圖11-1打開表對表中的數(shù)據(jù)進行修改2. 通過在查詢分析器中輸入對應的 SQL語句,也可以實現(xiàn)(略)。思考題1. 數(shù)據(jù)庫中一般不允許更改主碼數(shù)據(jù)。如果一定要更改主碼數(shù)據(jù)時,怎么實 現(xiàn)?2. 為什么系統(tǒng)不允許隨意的刪除被參照表中的主碼?3. 在實驗二中創(chuàng)建的關系在進行數(shù)據(jù)操縱時起到了哪些作用?1. 如何提高數(shù)據(jù)查詢和連接速度。2. 怎樣簡化用戶的查詢?3. 查詢結果如何保存?實驗報告要求 回答思考題。 寫出以上18個SQL

26、語句查詢及運行結果。 實驗中的問題和體會。注意事項1. 查詢結果有多種處理方式。2. 輸入SQL語句時應注意,語句中均使用西文操作符號。1. 輸入數(shù)據(jù)時要注意數(shù)據(jù)的一致性。2. 數(shù)據(jù)修改(特別是主屬性)和刪除時要注意遵守約束定義。*£沖 m數(shù)據(jù)* 陸置是"mtudentrfi. "2J-1 SC36401*BBBLU 8 -U 4 3 3 Qv Qw n 2 122222121?俊栄云宦英芒華芝la 典軍車小平豐矍£丈芳糧同苦 仝-衛(wèi)咼亠一尖洪7II7K亠-応至峯訐謝D231O7103K11O7104&211O810102310310202110

27、3103021108124062208101082208102082203103舊呼的皿RF!?nFtin5T1JJlUflUZ*JKllUflUl實驗四視圖和索引視圖是一個虛擬表,其內(nèi)容由查詢定義。同真實的表一樣,視圖包含一系 列帶有名稱的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫中以存儲的數(shù)據(jù)值集形式 存在。行和列數(shù)據(jù)來自由定義視圖的查詢所引用的表,并且在引用視圖時動態(tài) 生成。即可以在 Microsoft SQL Server Management Studio中使用向導創(chuàng)建視圖,也可以使用T-SQL的CREATE VIEW語句創(chuàng)建視圖。索引是 SQL Server在列 上建立的一種數(shù)據(jù)庫對象。索

28、引對表中的數(shù)據(jù)提供邏輯排序,可以提高數(shù)據(jù)的 訪問速度。本次實驗可以安排2個學時進行。實驗目的掌握視圖的創(chuàng)建、修改和刪除,基于視圖進行數(shù)據(jù)的修改,掌握索引的創(chuàng) 建、查看、修改和刪除。實驗原理(1) 創(chuàng)建視圖創(chuàng)建視圖的語法為:CREATE VIEW視圖名(列名組)WITH ENCRYPTIOPNAS子查詢WITH CHECK OPTION(2) 刪除視圖DROP VIEW視圖名組(3) 創(chuàng)建索引CTEATE UNIQUECLUSTERED|NONCLUSTEREDINDEX 索引名ON表名(索引列組)(4) 刪除索引刪除索引的語法為:DROP INDEX表名.索引名實驗內(nèi)容1. 使用Transac

29、t-SQL語句創(chuàng)建“計算機系”學生的視圖 Stu_CS1。2. 使用SQLServer ManagementStudio的圖形工具在視圖Stu_CS1的基礎上創(chuàng)建“計算機系”選修了“ c2”課程的學生視圖Stu_CS2-3. 在視圖Stu_CS2的基礎上創(chuàng)建“計算機系”選修了“ C2”課程且成績在 “90”分以上的學生視圖Stu_CS&4. 在基本表SC上,建立一個學生學習情況視圖 S_GRADE內(nèi)容包括:學 號、選修課程門數(shù)、平均成績。5. 通過學生學習情況視圖S_GRAD查詢每個學生學號、選修課程門數(shù)、平 均成績。6. 通過學生學習情況視圖S_GRAD查詢選修課程門數(shù)大于“ S4選

30、修課程門 數(shù)”的學號、選修課程門數(shù)、平均成績。7. 對于學生學習情況視圖S_GRAD執(zhí)行以下操作,觀察執(zhí)行結果8. 對于學生學習情況視圖S_GRAD執(zhí)行以下操作,觀察執(zhí)行結果9. 定義“計算機”系學生視圖 STUDENT_COMPUT包括學生學號,姓名, 性別,和年齡。10. 基于“計算機”系學生視圖 STUDENT_COMPUT插入一個學生的信息,學號為S99,姓名為王敏,性別為男,年齡為 22,觀察學生表s中數(shù)據(jù)的變 化。11. 基于“計算機”系學生視圖 STUDENT_COMPUT刪除姓名為“王敏” 的學生記錄。12. 創(chuàng)建視圖view1,要求查詢學號為 s1'的學生選修課程和成

31、績情況13. 更改視圖view1,要求查詢學號為 s1'和 S3'的學生選修課程和成 績情況14. 通過視圖view1更新學號為 s1'的學生 c1'課程的成績?yōu)?8分15. 在基本表SC上,建立一個學生學習成績等級視圖 SC_$級,該視圖中有 學生學號,姓名,選修課程的課號,課名,成績等級。16. 使用Transact-SQL語句在sc表中創(chuàng)建一個聚集唯一索引,索引名為 IDX_SNO_CNO索引以SNO升序排列,SNO相同時以CNO筆序排列17. 使用 SQL Server Management Studio 的圖形工具在 S表的 SDEPT(所 在系)列上

32、建立一個普通索引IDX_S18. 在S表建立一個復合索引IDX_SDEPT_AGE索引以所在系升序排列,系 相同時以年齡降序排列19. 刪除索弓 I IDX_SDEPT_AGE實驗步驟:略思考題1. 為什么要建立視圖?2. 視圖和基本表有什么不同?3. 視圖的作用有哪些?實驗報告要求1. 回答思考題。2. 寫出實驗中的創(chuàng)建三個視圖的 SQL語句3. 實驗中的問題和體會。注意事項1. 參照表和被參照表之間的關系。主碼和外碼之間的關系2. 視圖中字段名的重命名問題。實驗五存儲過程與觸發(fā)器存儲過程與觸發(fā)器是SQL中較難的部分,本次實驗安排2個學時進行實驗目的:掌握創(chuàng)建存儲過程的方法、步驟;掌握創(chuàng)建觸

33、發(fā)器的方法、步驟;掌握存 儲過程與觸發(fā)器的修改、刪除等操作。實驗原理:(1) 使用Transact-SQL語句創(chuàng)建存儲過程語法格式:CREATE PROC EDURE procedure_name parameter data_typeOUTPUT , n ASsql_stateme nt . n (2) 執(zhí)行存儲過程語法格式:EXECUTE?儲過程名形參=實參值 |變量OUTPUT|DEFAULT(3) 創(chuàng)建觸發(fā)器觸發(fā)器語法格式:CREATE TRIGGEtRgger_nameON table | view FOR | AFTER | INSTEAD OF DELETE , INSERT ,

34、 UPDATE ASSQL語句段實驗內(nèi)容:1. 參照上面的例子,創(chuàng)建一個存儲過程 Pro_Com該存儲過程的作用是: 當執(zhí)行該存儲過程時,將返回計算機系學生的所有信息。2. 執(zhí)行Proc_Com存儲過程,查看計算機系學生的情況。3. 刪除Proc_Com存儲過程。4. 創(chuàng)建一個存儲過程Proc_grade_90,在sc中查出成績大于90分的學生在s 表中的基本信息,并執(zhí)行該存儲過程。5. 創(chuàng)建帶參數(shù)的存儲過程Proc_Sname該存儲過程返回student數(shù)據(jù)庫中 '某個姓名學生選修課程名及分數(shù)情況6. 執(zhí)行Proc_Sname存儲過程,查詢“宋江”的學號、選修課程名稱和課程 成績。7

35、. 使用系統(tǒng)存儲過程sp_helptext查看存儲過程Proc_Sname的文本信息8. 創(chuàng)建一個帶參數(shù)的存儲過程Proc_Couse。該存儲過程的作用是:當任意 輸入一門課程的課程名時,返回選修該課程的學生學號、學生姓名和成績。9. 執(zhí)行Pro_Couse存儲過程,查詢選修“操作系統(tǒng)”的學生學號、學生姓 名和成績。10. 創(chuàng)建一個帶參數(shù)的存儲過程Proc_sno,該存儲過程返回某個學號學生所選課程的平均分,若執(zhí)行成功,返回整數(shù)0,若出錯,返回錯誤號。11. 調(diào)用Proc_sno,返回“ 100004”學生所選課程的平均分12. 在student中的sc表上創(chuàng)建一個insert 觸發(fā)器Tri_

36、insert_sc ,若插 入記錄的score大于已有分數(shù)的平均分,貝U不能插入,并提示“不能插入,分數(shù)大于已有分數(shù)的平均分”。13. 在sc表中插入一條記錄,學號為“ 100004”,課號為“ C4”,成績?yōu)?“ 88”14. 修改觸發(fā)器Trinsert_sc ,使得當有新的選課記錄時,若分數(shù)小于 0 分大于100,則拒絕該條數(shù)據(jù)記錄,并提示“成績值必須在0100之間,不能插 入”。15. 在student中的sc表上創(chuàng)建一個觸發(fā)器 Tri_update_sc,對sc表中的 score屬性的變動時,要求變動不能超過 5%。16. 將學號為“ s2”課號為“ c4”的成績更改為98分17. 在

37、student中的sc表上創(chuàng)建一個觸發(fā)器 Tri_delete_sc ,sc表中,若 score>=60分則不允許刪除記錄。18. 刪除學號為“ s2”課號為“ c4”的選課記錄19. 在S表中創(chuàng)建一個名為 Tri_Update_Sname的UPDATE觸發(fā)器,該觸發(fā)器 的作用是禁止更新S表中的“ SNAME字段的內(nèi)容。20. 將學號為“ 100001 ”的學生姓名更改為“黎明”21. 禁用Tri_Update_Sname觸發(fā)器,再次執(zhí)行第20題的數(shù)據(jù)。22. 刪除 Tri_Update_Sname 觸發(fā)器。實驗步驟:略思考題1. 存儲過程和觸發(fā)器有什么區(qū)別實驗報告要求1. 回答思考題。2. 寫出實驗中的創(chuàng)建存儲過程和觸發(fā)器的 SQL語句。注意事項1. 存儲過程的調(diào)用和觸發(fā)器觸發(fā)語句的書寫和測試。實

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論