![數(shù)據(jù)庫的完整性和安全性實(shí)驗(yàn)報告_第1頁](http://file4.renrendoc.com/view/946746ca67964038ee5a76deede2f449/946746ca67964038ee5a76deede2f4491.gif)
![數(shù)據(jù)庫的完整性和安全性實(shí)驗(yàn)報告_第2頁](http://file4.renrendoc.com/view/946746ca67964038ee5a76deede2f449/946746ca67964038ee5a76deede2f4492.gif)
![數(shù)據(jù)庫的完整性和安全性實(shí)驗(yàn)報告_第3頁](http://file4.renrendoc.com/view/946746ca67964038ee5a76deede2f449/946746ca67964038ee5a76deede2f4493.gif)
![數(shù)據(jù)庫的完整性和安全性實(shí)驗(yàn)報告_第4頁](http://file4.renrendoc.com/view/946746ca67964038ee5a76deede2f449/946746ca67964038ee5a76deede2f4494.gif)
![數(shù)據(jù)庫的完整性和安全性實(shí)驗(yàn)報告_第5頁](http://file4.renrendoc.com/view/946746ca67964038ee5a76deede2f449/946746ca67964038ee5a76deede2f4495.gif)
版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度股份代持合同履行與違約責(zé)任協(xié)議
- 2025年度熟食企業(yè)市場調(diào)研與分析服務(wù)合同
- 2025年國家教育考試智能安檢門數(shù)據(jù)統(tǒng)計分析服務(wù)合同
- 2025年度公立幼兒園教育咨詢服務(wù)合同
- 2025年度物流供應(yīng)鏈管理代理服務(wù)協(xié)議
- 2025年度大型水利工程合同預(yù)算編制與執(zhí)行管理辦法
- 2025年度跨境電商進(jìn)口貨物海上運(yùn)輸保險合同范本
- 2025年度設(shè)備租賃合同擔(dān)保細(xì)則與風(fēng)險管理
- 二零二五年度同居解除協(xié)議共同財產(chǎn)分割及債務(wù)承擔(dān)合同
- 生態(tài)意識培養(yǎng)與班級教育的融合實(shí)踐
- 干細(xì)胞療法推廣方案
- (2024年)電工安全培訓(xùn)(新編)課件
- mil-std-1916抽樣標(biāo)準(zhǔn)(中文版)
- 城鄉(xiāng)環(huán)衛(wèi)一體化內(nèi)部管理制度
- 廣匯煤炭清潔煉化有限責(zé)任公司1000萬噸年煤炭分級提質(zhì)綜合利用項(xiàng)目變更環(huán)境影響報告書
- 小學(xué)數(shù)學(xué)六年級解方程練習(xí)300題及答案
- 大數(shù)據(jù)在化工行業(yè)中的應(yīng)用與創(chuàng)新
- 光伏十林業(yè)可行性報告
- 小學(xué)綜合實(shí)踐《我做環(huán)保宣傳員 保護(hù)環(huán)境人人有責(zé)》
- 鋼煤斗內(nèi)襯不銹鋼板施工工法
- 公路工程安全風(fēng)險辨識與防控手冊
評論
0/150
提交評論