版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
理工大學(xué)學(xué)生實驗報告學(xué)院名稱專業(yè)班級課程名稱學(xué)號學(xué)生姓名實驗日期實驗成績實驗題目交互式SQL實驗一認識DBMS一、實驗?zāi)康?通過對某個商用數(shù)據(jù)庫管理系統(tǒng)的安裝使用,初步了解DBMS的工作環(huán)境和系統(tǒng)構(gòu)架。在此推薦SQLSERVER2005.熟悉DBMS的安裝、配置及使用。.搭建今后實驗的平臺。二、實驗平臺操作系統(tǒng):WindowsXR數(shù)據(jù)庫管理系統(tǒng):SQLSERVER2005選擇安裝各個數(shù)據(jù)庫管理系統(tǒng)之前,請仔細看清硬件的配置要求。三、實驗內(nèi)容和要求.根據(jù)安裝文件的說明安裝數(shù)據(jù)庫管理系統(tǒng)。在安裝過程中記錄安裝的選擇,并且對所作的選擇進行思考,為何要進行這樣的配置,對今后運行數(shù)據(jù)庫管理系統(tǒng)會有什么影響。.學(xué)會啟動和停止數(shù)據(jù)庫服務(wù)。在正確安裝SQLSERVER200后,SQLSERVE毆據(jù)庫^擎服務(wù)會在系統(tǒng)啟動時自動啟動。如果要手動地啟動和停止數(shù)據(jù)庫引擎服務(wù),可以通過SQLSERVED已置管理器(SQLSERVERCONFIGURATIONMANAGER進行管理。SQLSERVERE置管理器綜合了SQLSERVER200中的服務(wù)管理器、服務(wù)器網(wǎng)絡(luò)適用工具和客戶端網(wǎng)絡(luò)實用工具的功能。打開SQLSERVERS已置管理器工具,單擊“SQLSERVER200服務(wù)”節(jié)點,其中的“SQLSERVER服務(wù)就是我們所說的數(shù)據(jù)庫引擎。與SQLSERVER2000-樣,可以通過這個配置管理器來啟動、停止所安裝的服務(wù),如“SQLSERVERMSSQLSERMER。,了解RDBMS系統(tǒng)的體系結(jié)構(gòu)。實驗二交互式SQL一.數(shù)據(jù)定義(一)基本表的操作.建立基本表例如,建立一個學(xué)生表:createtableStudent(Snochar(9)primarykey,Snamechar(20)unique,Ssexchar(2),Sagesmallint,Sdeptchar(20))wn? IMXsac*idapt建立一個課程表:createtableCourse(Cnochar(4)primarykey,Cnamechar(40),Cpnochar(4),Ccreditsmallint,foreignkey(Cpno)referencesCourse(Cno))I|cro |七口?* |ctt?也iit |亡Iiwcreatetablesc(SnochaK9),Cnochar(4),Gradesmallint,primarykey(Sno,Cno),foreignkey(Sno)referencesstudent(Sno),foreignkey(Cno)referencescourse(Cno))sno congnde.修改基本表例如,像student表加一個入學(xué)時間列:altertableStudentaddS_entrancedatetimemu | 電北 ].安與電 ]wd自pt |0電工七上皿」包altertableStudentaltercolumnSageintaltertableCourseaddunique(Cname).刪除基本表例如,刪除已經(jīng)建立的學(xué)生表:droptableStudentdroptableCourse(二)索引操作.建立索引例如,為學(xué)生課程數(shù)據(jù)庫中的 student,course,sc三個表建立索引。其中student 表按學(xué)號升序建唯一索引,course表按課程號升序建唯一索引, sc表按學(xué)生升序和課程號升序建唯一索引:createuniqueindexStusnoonStudent(Sno);createuniqueindexCoucnoonCourse(Cno);createuniqueindexSCnoonSC(SnoASC,CnoDESC).刪除索引例如,刪除student表的Stusno索引:dropindexStusname
(三)數(shù)據(jù)操作一.更新操作.插入數(shù)據(jù)例如,在student表中插入下列數(shù)據(jù):200215125,張立,男,19,IS代碼如下insertintostudent(Sno,Sname,Ssex,Sage,Sdept)values('2002151徽,£,'男',19,'IS')碎.揄水浸,結(jié)藕$口下:22 CS <NULL>200215123王敏揄水浸,結(jié)藕$口下:22 CS <NULL>200215123王敏2Oa215125非立191319<WLL><HULL><WLL>在Course表中插入以下數(shù)據(jù):1,數(shù)據(jù)庫,5,42,數(shù)學(xué),null,26,數(shù)據(jù)處理,null,24,操作系統(tǒng),6,37,PASCAL?言,6,45,數(shù)據(jù)結(jié)構(gòu),7,41,數(shù)據(jù)庫,5,43,信息系統(tǒng),1,4insertintocourse(Cno,Cname,Cpno,Ccredit)values('1數(shù)據(jù)庫','5',4);insertintocourse(Cno,Cname,Ccredit)values('2教學(xué)',2);insertintocourse(Cno,Cname,Ccredit)values('6數(shù)據(jù)處理',2);insertintocourse(Cno,Cname,Cpno,Ccredit)values('4操作系統(tǒng)','6',3);insertintocourse(Cno,Cname,Cpno,Ccredit)values('7','PASCAL§言','6',4);insertintocourse(Cno,Cname,Cpno,Ccredit)values('5數(shù)據(jù)結(jié)構(gòu)','7',4);insertintocourse(Cno,Cname,Cpno,Ccredit)values('1數(shù)據(jù)庫','5',4);insert'言息系統(tǒng)',insert.修改數(shù)據(jù)例如,將學(xué)生200215121的年齡改為22歲:updatestudentsetSage=22whereSno='200215121'修改前:|554J!|士性edipt1修改后:李勇勇20CEsfid1―一1sage目加pt1200215121李勇22cs<NULL>.刪除數(shù)據(jù)例如,刪除學(xué)號為200215128的學(xué)生記錄:deletefromstudentwhereSno='200215128'刪除所有學(xué)生的選課記錄:deletefromsc刪除計算機科學(xué)系所有學(xué)生的選課記錄:deletefromscwhere'CS'=(selectSdeptfromstudentwherestudent.Sno=SC.Sno)二.查詢操作.單表查詢例如,查詢?nèi)w學(xué)生的學(xué)號與姓名:selectSno,Snamefromstudentsno snane1200215121手奧220021512?刻辰3_200215123王勘I口200215125張成明5200215125張立再例如,查詢?nèi)w學(xué)生的詳細記錄select*fromstudent;查詢所有年齡在20歲以下的學(xué)生姓名及其年齡selectSname,SagefromstudentwhereSage<20;劉%';snorancemoenograde200215121李勇200216121孚勇200215121劉%';snorancemoenograde200215121李勇200216121孚勇200215121李勇2D0215122則展230215122列.我222222WJLL2D021D1211321TJLL20021512J2351TLL2002161213381CLL200215122290JTJLL200215122330查詢每一門課的間接先修課:selectfirst.Cno,second.Cpnofromcoursefirst,coursesecondwherefirst.Cpno=second.Cno查詢每個學(xué)生及其選修課程的情況,用外連接來完成selectstudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeselectSname,Sno,SsexfromstudentwhereSnamelike'.連接查詢例如,查詢每個學(xué)生及其選修課程的情況:selectstudent.*,sc.*fromstudent,scwherestudent.Sno=sc.Snofromstudentleftouterjoinscon(student.Sno=sc.Sno);.嵌套查詢例如,查詢與“劉晨”在同一個系學(xué)習(xí)的學(xué)生selectSno,Sname,SdeptfromstudentwhereSdeptin(selectSdeptfromstudentwhereSname=^晨');查詢選修了課程名為“信息系統(tǒng)”的學(xué)生學(xué)號和姓名selectSno,SnamefromstudentwhereSnoin(selectSnofromscWhereCnoin(selectCnofromcoursewhereCname-信息系統(tǒng)'));.集合查詢例如,查詢計算機科學(xué)系的學(xué)生以及年齡不及十九歲的學(xué)生:Select*FormstudentWheresdept=ds'UnionSelect*FromstudentWheresage<19snosnamessexsagesdepts_entrance1200215121季勇22CSNULL2200215123王^NULL3200215126張成明18CSNULL三.視圖操作.建立視圖例如,建立信息系學(xué)生的視圖:CreateviewIS_studentAsSelectsno.sname,sageFormstudentWheresdept= 'IS'將學(xué)生的學(xué)號和他的成績定義為一個視圖.刪除視圖例如,刪除視圖BT_SDropviewBT_S.查詢視圖在信息系學(xué)生中找出年齡小于 20歲的學(xué)生Select*FormIS_StudentWheresage<20snosnanesage1200215122劉扃192200215125張立19.更新視圖將信息系統(tǒng)學(xué)生IS_student中學(xué)號為200215122的學(xué)生姓名改為“劉辰”UpdateIS_studentSetsname=l'劉辰'Wheresno=200215122'刪除信息系學(xué)生視圖IS_studnet中學(xué)號為200215129的記錄DeleteFromIS_studentWheresno=200215129'實驗三數(shù)據(jù)庫完整性一、實驗?zāi)康?1)了解SQLSerer數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)完整性控制的基本方法(2)了解使用SSMSS置約束(3)熟練掌握常用CREATEDALTER在創(chuàng)建或修改表時設(shè)置約束(4)了解觸發(fā)器的機制和使用(5)驗證數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)完整性控制二、實驗平臺使用SQLServer數(shù)據(jù)庫管理系統(tǒng)提供的SSMS三、實驗內(nèi)容及要求結(jié)合圖1—ST數(shù)據(jù)庫中的各個表,設(shè)置相關(guān)的約束,并設(shè)置一個觸發(fā)器,實現(xiàn)學(xué)生選課總學(xué)分的完整性控制,并驗證完整性檢查機制。要求包括如下方面的內(nèi)容:1.使用SSMS勺圖形界面設(shè)置約束使用SSMS勺圖形界面設(shè)置各種約束,按如下圖示進入表設(shè)計窗口:h/WiLj1用Ml,1L十i第r木和產(chǎn)立Z3W9H&*$M?■木和產(chǎn)立Z3W9H&-JiiHb*tfjlT.jmoarrVIgmnowHk良-eMl%£"JbrbtadFmewJ在表設(shè)計窗口中,鼠標右擊,選擇設(shè)置約束(按如下圖示)2.使用SQL語句設(shè)置約束使用CREATESALTERS旬完成如下的操作,包括:1)設(shè)置各表的主鍵約束2)設(shè)置相關(guān)表的外鍵3)設(shè)置相關(guān)屬性的非空約束、默認值約束、唯一約束4)設(shè)置相關(guān)屬性的CHECKSCreatetablestudent(snochar(6)primarykey,--主鍵約束Snamechar(10)unique,-- 唯一約束Sumcintcheck(sumc=O,--用戶自定義約束,初值為0Sdeptchar(2)notnull)-- 非空約束Createtablesc(snochar(6),Cnochar(3)notnull,-- 非空約束Gradeint,Creditint,Primarykey(sno,cno),-- 主鍵約束Foreignkey(sno)referencesstudent(sno))-- 外鍵約束.使用觸發(fā)器創(chuàng)建一個觸發(fā)器,實現(xiàn)如下的完整性約束:1)當向SC表中插入一行數(shù)據(jù)時,自動將學(xué)分累加到總學(xué)分中。定義觸發(fā)器createtriggerstu_insertonscafterinsertasbegindeclare@snochar(8),@xfintifexists(select*frominsertedwheregrade>60)thenbeginselect@sno=sno,@xf=creditfrominsertedupdatestudentsetsumc=sumc+@xfwheresno=@snoprint'success'endelseprint'fail'end2)在表student中建立刪除觸發(fā)器,實現(xiàn)表student和表sc的級聯(lián)刪除CreatetriggersdeleteOnstudentinsteadofdeleteAsDeletefromscWheresnoin(selectsnofromdeleted)DeletefromstudentWheresnoin(selectsnofromdeleted).檢查約束和觸發(fā)器分別向相關(guān)表插入若干條記錄,檢查你設(shè)置的完整性約束是否有效:1)插入若干條包含正確數(shù)據(jù)的記錄,檢查插入情況2)分別針對設(shè)置的各個約束,插入違反約束的數(shù)據(jù),檢查操作能否進行3)向SC表插入若干行數(shù)據(jù),檢查觸發(fā)器能否實現(xiàn)其數(shù)據(jù)一致性功能。激活觸發(fā)器insertintostudent(sno,sname,sdept)values('010001',' 王林','01')insertintostudent(sno,sname,sdept)values('010002',' 程明','01')insertintoscvalues('010001','101',80,4)insertintoscvalues('010001','102',87,3)insertintoscvalues('010002','101',85,4)實驗四數(shù)據(jù)庫安全性一、實驗?zāi)康牧私釹QLSerer數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)訪問控制的基本方法了解使用SSM及口何給用戶授權(quán)(3)熟練掌握常用GRANTREVOKE行權(quán)限控制(4)驗證數(shù)據(jù)庫系統(tǒng)的訪問控制二、實驗平臺使用SQLServer數(shù)據(jù)庫管理系統(tǒng)提供的SSMS和查詢編輯器。三、實驗內(nèi)容及要求對上以一實驗建立的表進行權(quán)限設(shè)置, 并檢查權(quán)限控制。要求包括如下方面的內(nèi)容:(一)使用SSMS的圖形界面授權(quán).使用SSMS的圖形界面創(chuàng)建登錄名(按如下圖示)控制告根且暴■MicrosoftSQLServers金SQLServerGroup,i(local)(WindowsNT)LJDatabasesODataTransformationServicesI1ManagemeritI__|R?plieatiori?口SecurityKrLogSenLinkRerrNewLogin...映汶聿制滓??贑W]2.使用口SuppgrKrLogSenLinkRerrNewLogin...映汶聿制滓??贑W]2.使用口SuppgrIMetaD刷新(F)幫助(H)ssms圖形界面創(chuàng)建數(shù)據(jù)庫用戶(按下圖所示)UdUmaster(jmodeltjmsdb(jNcrthwindtjpubs回STUDENTWDiagrams國TablesViews莒IStoredProceduNewOatabas.eUser...從這里創(chuàng)建要口(W)扁新舊日terr日terrDataT幫南(H〕>_|"3口啊—“IReplication3.使用SSMS勺圖形界面進行授權(quán),分別設(shè)置用戶對象的訪問權(quán)限:(1)打開屬性窗口■VCIBIrcrUW^ll11中。…SQLServersfjjdtxtHP\^子: PermitrverGroupL£hmkrmTighflwkrnnnPflrmital)(WindowsNT)jiiNewDartabaseUser...所有任務(wù)(K) ?J
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《珠寶玉石教程》課件
- 車輛租賃協(xié)議三篇
- 人力資源行業(yè)員工福利顧問工作總結(jié)
- 2003年海南高考語文真題及答案
- 水利行業(yè)的保安工作總結(jié)
- 2023-2024年企業(yè)主要負責(zé)人安全培訓(xùn)考試題附答案【培優(yōu)】
- 2023年-2024年項目部安全培訓(xùn)考試題【易錯題】
- 1000字的貧困申請書范文5篇
- 開題答辯概覽
- 電灼傷護理查房
- GB/T 45014-2024聚合物基復(fù)合材料層壓板緊固件拉脫阻抗試驗方法
- 傳播學(xué)(東北林業(yè)大學(xué))知到智慧樹章節(jié)答案
- 2024年安全員之A證考試題庫及完整答案(網(wǎng)校專用)
- 統(tǒng)編版2024-2025學(xué)年三年級上冊語文期末情景測試卷 (無答案)
- 績效考核辦法1
- 【MOOC】外科護理學(xué)-中山大學(xué) 中國大學(xué)慕課MOOC答案
- 年度學(xué)校辦公室工作總結(jié)
- 2025版國家開放大學(xué)法律事務(wù)??啤睹穹▽W(xué)(2)》期末紙質(zhì)考試總題庫
- 【MOOC】思辨式英文寫作-南開大學(xué) 中國大學(xué)慕課MOOC答案
- 生物人教版(2024版)生物七年級上冊復(fù)習(xí)材料
- 企業(yè)地震應(yīng)急預(yù)案管理方案
評論
0/150
提交評論