數(shù)據(jù)庫的完整性和安全性實(shí)驗(yàn)報告_第1頁
數(shù)據(jù)庫的完整性和安全性實(shí)驗(yàn)報告_第2頁
數(shù)據(jù)庫的完整性和安全性實(shí)驗(yàn)報告_第3頁
數(shù)據(jù)庫的完整性和安全性實(shí)驗(yàn)報告_第4頁
數(shù)據(jù)庫的完整性和安全性實(shí)驗(yàn)報告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、成績:課程名稱:數(shù)據(jù)庫原理指導(dǎo)老師(簽名):實(shí)驗(yàn)項(xiàng)目名稱:數(shù)據(jù)庫的完整性和安全性一、實(shí)驗(yàn)?zāi)康?(1)掌握數(shù)據(jù)庫約束的概念;(2)熟悉SQLSERVER的完整性約束技術(shù)。(3)了解SQLSERVER的違反完整性處理措施(4)了解登錄賬戶的管理理念與具體方法。(5)了解數(shù)據(jù)庫用戶的管理的要則。(6)了解用戶權(quán)限管理的內(nèi)涵與方法。二、實(shí)驗(yàn)設(shè)備與器件Win7+Sqlserver2008三、實(shí)驗(yàn)內(nèi)容與步驟(一)測試完整性運(yùn)行附錄中的SQL語句,理解SQL語句中包含的完整性定義。然后執(zhí)行下面的SQL語句,看是否能正常運(yùn)行,若無法執(zhí)行,請說明原因。對dept表進(jìn)行數(shù)據(jù)增刪改,并檢查完整性規(guī)則Dept已存在的

2、完整性規(guī)則如下:dnoCHAR(2)PRIMARYKEYdnameVARCHAR(20)NOTNULL,UNIQUE(1)增加數(shù)據(jù)INSERTINTOdeptVALUES(D1,計科系);-正常插入行受嶷響INSERTINTOdeptVALUES(D2,電信系);-正常插入INSERTINTOdeptVALUES(NULL,機(jī)械系);-違反dno主鍵(NOTNULL)規(guī)貝U不能將值NU11插入列1dr.o1,表mydh.dha.depz.1;列不允許有Null值,IIJSE?.!失敗語句已終止-INSERTINTOdeptVALUES(D2,機(jī)械系);-違反dno主鍵(UNIQUE)違反了KZ

3、Y約束1dept_pk1B不能在對象dbo.dept1中插入重復(fù)鍵口語句已終止-INSERTINTOdeptVALUES(D3,NULL);-違反dname的NOTNULL規(guī)貝U不能將值NU1工插入列1dn=xe1,表mydh.dho.dep31;列不允許有Null值IlISEPI失敗口語句已絡(luò)止-INSERTINTOdeptVALUES(D3,計科系);-違反dname的UNIQUE規(guī)則違反了UHI-UZKZY約束1depz._uk1o不能在對象dbo.depf中插入重復(fù)鍵口語句已終止-INSERTINTOdeptVALUES(D3,機(jī)械系);-正常插入刪除數(shù)據(jù)DELETEFROMdeptW

4、HEREdno=D3;正常刪除修改數(shù)據(jù)UPDATEdeptSETdname=計算機(jī)科學(xué)系WHEREdno=D1;-正常修改UPDATEdeptSETdname=電信系WHEREdno=D1:-違反dname的UNIQUE規(guī)則違反了UMIUZKZY約束1dept_LLk1o不能在對象中插入重復(fù)鍵-語句已終止-UPDATEdeptSETdname=NULLWHEREdno=D1;違反dname的UNIQUE規(guī)則不能將值NU11插入列1dn=.e,表mydhdbs.Jeps1;列不允許有Null值。UPDATZ失敗。畐句已終止對student表進(jìn)行數(shù)據(jù)增刪改,并檢査完整性規(guī)則Student已存在完整

5、性規(guī)則如下:snoCHAR(2)PRIMARYKEYsnameVARCHAR(20)NOTNULL,ssexCHAR(2)NOTNULL,CHECK(ssexin(男,女)sageINTNOTNULL,dnoCHAR(2)NOTNULL,FOREIGNKEYREFERENCESdept(dno)ONDELETECASCADEONUPDATECASCADE(1)增加數(shù)據(jù)INSERTINTOstudentVALUES(S1,張剛,男:20,D1);-正常插入INSERTINTOstudentVALUES(S2,李梅,女,21,D2);-正常插入INSERTINTOstudentVALUES(S2,

6、吳敏,男:20,D1);-正常插入INSERTINTOstudentVALUES(NULL,吳敏,男,20,D1);-違反sno的主鍵(NOTNULL)規(guī)則不能將值NUll插入列1r.o1,表mydh.dho.si.uden1;列不允許有Hull值口INSZR.T失敗口語句已終止-INSERTINTOstudentVALUES(S3,吳敏,男:NULL,D1);違反sage的主鍵(NOTNULL)規(guī)則不能將值NU11插入列三三,表mydb.dLo.ET.uden7.;列不允許有Null值。INSERT失敗;-畐句已終止-INSERTINTOstudentVALUES(S3,吳敏,M,20,D1

7、);違反ssex的CHECK規(guī)則INSERT語句與CHECK約束Irstudent_ckIr沖突-該沖突發(fā)生于數(shù)據(jù)庫mydh,表Irdh=.studen吾句已終止-INSERTINTOstudentVALUES(S3,吳敏,男:20,D3);-正常插入INSERTINTOstudentVALUES(S3,吳敏,男:20,D1);-正常插入(2)刪除數(shù)據(jù)DELETEFROMstudentWHEREsno=S3;正常刪除(3)修改數(shù)據(jù)UPDATEstudentSETsname=趙強(qiáng),dno=D2WHEREsno=S1-正常修改UPDATEstudentSETssex=FWHEREsno=S1;違反

8、ssex的CHECK規(guī)則o行受彫響UPDATEstudentSETsno=S2WHEREsno=S1;-違反sno的主鍵(UNIQUE)規(guī)貝U行受彫響UPDATEstudentSETdno=D3WHEREsno=S1;違反dno的外鍵規(guī)則o行受彫響UPDATEdeptSETdno=D3WHEREdno=D1;檢查dno的外鍵ONUPDATE規(guī)則,觀察運(yùn)行后效果違反了tniZY:爛F約束depz.-pk1.,不能在對象dh2.depz1中插入重復(fù)塾語句已絡(luò)止-DELETEFROMdeptWHEREdno=D2;檢查dno的外鍵ONDELETE規(guī)則,觀察運(yùn)行后效果-行受彫響使用規(guī)則實(shí)現(xiàn)數(shù)據(jù)完整性(

9、1)在查詢分析器中,利用命令(CREATERULE),創(chuàng)建一個關(guān)于年齡(sage)約束的規(guī)則,將“sage”列的值約束在0200之間;然后將所創(chuàng)建的規(guī)則綁定到“sage列(提示:用命令Sp_bindrule)CREATERULErule_sageassagebetween1and100;Sp_bindrulerule_sage,student.sage;已將規(guī)則鄒定到表的列-(2)在查詢分析器中,利用命令(CREATERULE),創(chuàng)建一個關(guān)于學(xué)分(credit)約束的規(guī)則,將“credit”列的值約束在18之間的整數(shù);然后將所創(chuàng)建的規(guī)則綁定到“credit列(提示:用命令Sp_bindrule

10、)CREATERULErule_creditascreditbetween1and8;命令已成功完成-Sp_bindrulerule_credit,course.credit;I已將規(guī)則綁定到表的列-(3)在企業(yè)管理器中,創(chuàng)建一個關(guān)于成績(grade)約束的規(guī)則,將grade列的值約束在0T00以內(nèi);然后將所創(chuàng)建的規(guī)則綁定到grade列。CREATERULErule_gradeasgradebetween1and100;命令已成功完成-Sp_bindrulerule_grade,study.grade;已將規(guī)則綁定到表的列-使用觸發(fā)器實(shí)現(xiàn)數(shù)據(jù)完整性(選做)(1)在查詢分析器中,輸入以下CREA

11、TETRIGGER語句,創(chuàng)建以下觸發(fā)器:為student表創(chuàng)建一個INSERT觸發(fā)器,當(dāng)插入的新行中年齡的值不是0180時,就激活該觸發(fā)器,撤銷該插入操作,并使用RAISERROR語句返回一個錯誤信息。(2)在查詢分析器中,執(zhí)行INSERT語句為student表添加一年齡為220的學(xué)生,此時觸發(fā)器是否執(zhí)行?分析原因。測試數(shù)據(jù)庫安全性設(shè)置身份驗(yàn)證模式:右鍵服務(wù)器實(shí)例,選擇屬性,在Security%安全性)項(xiàng)中,將服務(wù)器身份驗(yàn)證設(shè)置為SQLServer和Windows身份驗(yàn)證模式,確定。根據(jù)提示重新啟動sql服務(wù)。然后執(zhí)行下面的語句啟用sa用戶。OWindows身份驗(yàn)證模式址)M:SQLServe

12、r和Windows身份驗(yàn)證模式sp_passwordold=old_password,new=new_password,loginame=loginEXECsp_passwordnull,db123456,saALTERLOGINsaENABLE命令已戚功完成-建立登錄、授予登錄的服務(wù)器角色。(1)建立和刪除登錄打開企業(yè)管理器和查詢分析器,以超級用戶sa連接SQLServer服務(wù)器,建立SQLServer登錄,登錄名為loginsql,并設(shè)置口令為123456。sp_addloginloginsql,123456另外打開SQLServerManagementStudio,以loginsql登錄

13、連接服務(wù)器,測試服務(wù)器權(quán)限。試運(yùn)行CREATEDATABASEtest,能否成功?以sa登陸查詢分析器,授予loginsql登錄的服務(wù)器角色dbcreator,sp_addsrvrolememberloginsql,dbcreator然后以loginsql登錄查詢分析器,并運(yùn)行CREATEDATABASEtest,能否成功?創(chuàng)建用戶、授予用戶的權(quán)限。(1)以sa登陸查詢分析器,建立數(shù)據(jù)庫CREATEDATABASEdbstudentgoUSEdbstudentgoCREATETABLEtbstudent(snoint,snamevarchar(10);以loginsql登錄查詢分析器,測試能否

14、使用數(shù)據(jù)庫?(2)以sa登陸查詢分析器,創(chuàng)建用戶,授予用戶的權(quán)限sp_adduserloginsql,usera以loginsql登錄另一個查詢分析器,進(jìn)入數(shù)據(jù)庫dbstudent(usera用戶),測試權(quán)限??梢允褂脭?shù)據(jù)庫dbstudentsa授予用戶語句權(quán)限GRANTCREATETABLETOusera授予用戶的對象權(quán)限GRANTSELECTONtbstudentTOuseraGRANTINSERTONtbstudentTOusera再次以loginsql登錄進(jìn)入數(shù)據(jù)庫dbstudent(usera用戶),測試被授予權(quán)限。創(chuàng)建數(shù)據(jù)庫角色,授予數(shù)據(jù)庫角色的權(quán)限。sa進(jìn)入數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫角色

15、USEdbstudentgosp_addrolerolea授予數(shù)據(jù)庫角色的權(quán)限GRANTCREATETABLETOroleaGRANTSELECT,INSERT,deleteONtbstudentTOrolea授予用戶的數(shù)據(jù)庫角色sp_addrolememberrolea,usera,測試loginsql登錄是否具有update權(quán)限insertintotbstudentvalues(103,jake)updatetbstudentsetsname=tomwheresno=103不具有update權(quán)限以sa登錄運(yùn)行語句sp_addrolememberdb_datawriter,usera再次測驗(yàn)loginsql的update權(quán)限?;厥諗?shù)據(jù)庫角色、用戶、登錄的權(quán)限,刪除數(shù)據(jù)庫角色、用戶、登錄。回收用戶的數(shù)據(jù)庫角色sp_droprolememberrolea,userasp_droprolememberdb_datawriter,usera回收數(shù)據(jù)角色權(quán)限REVOKECREATETABLEFROMroleaREVOKESELECT,INSERTONtbstudentFROMrolea刪除數(shù)據(jù)庫角色sp_droprolerolea回收用戶的對象權(quán)限REVOKESELECTONt

溫馨提示

  • 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

提交評論