版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
信息工程學(xué)院實(shí)驗(yàn)報(bào)告成績:課程名稱:《數(shù)據(jù)庫原理》成績:指導(dǎo)老師(簽名):實(shí)驗(yàn)項(xiàng)目名稱:數(shù)據(jù)庫的完整性和安全性指導(dǎo)老師(簽名):一、 實(shí)驗(yàn)?zāi)康模海?) 掌握數(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已存在的完整性規(guī)則如下:dno CHAR(2) PRIMARYKEYdnameVARCHAR(20) NOTNULL,UNIQUE(1)增加數(shù)據(jù)INSERTINTOdeptVALUES('D1','計(jì)科系');----正常插入,二行受最■響INSERTINTOdeptVALUES('D2','電信系');----正常插入INSERTINTOdeptVALUES(NULL,'機(jī)械系');----違反dno主鍵(NOTNULL)規(guī)則不能將值NU11插入列1dr.o1,表'mydh.dha.depz.1;列不允許有Null值。IHSEPI失敗。語句已終止。INSERTINTOdeptVALUES('D2','機(jī)械系');----違反dno主鍵(UNIQUE)違反了 KZY約束F斗土pk,不能在對象'^bc.dept1中插人重復(fù)禳口語句已終止。INSERTINTOdeptVALUES('D3',NULL);----違反dname的NOTNULL規(guī)則不能將■值NULL插入列1dn=n-.e1,表'mydh.dho.dept1;列不允許有Null值■>INSZzI失敗口語句已終止。INSERTINTOdeptVALUES('D3','計(jì)科系');----違反dname的UNIQUE規(guī)則違反了U11=^UZ 約束T叩t_LLk\不能在對象^ept'中插入重復(fù)鍵。語句已終止。INSERTINTOdeptVALUES('D3','機(jī)械系');----正常插入刪除數(shù)據(jù)DELETEFROMdeptWHEREdno='D3';---正常刪除修改數(shù)據(jù)UPDATEdeptSETdname='計(jì)算機(jī)科學(xué)系'WHEREdno='D1';----正常修改UPDATEdeptSETdname='電信系'WHEREdno='D1';----違反dname的UNIQUE規(guī)則違反了Ull工泗三淀Y約束1depz_uk1o不能在對象'dho.depz-1中插入重復(fù)鍵。語句已終止。UPDATEdeptSETdname=NULLWHEREdno='D1';違反dname的UNIQUE規(guī)則不能將值NUll插入列1dn=n-.e',表'mydh.dbs.deps1;列不允許有l(wèi)吒11值。UPDATZ失敗口語句已終止。對student表進(jìn)行數(shù)據(jù)增刪改,并檢查完整性規(guī)則Student已存在完整性規(guī)則如下:snoCHAR(2)PRIMARYKEYsnameVARCHAR(20)NOTNULL,ssexCHAR(2) NOTNULL,CHECK(ssexin('男','女'))sageINT NOTNULL,dnoCHAR(2)NOTNULL,FOREIGNKEYREFERENCESdept(dno)ONDELETECASCADEONUPDATECASCADE⑴增加數(shù)據(jù)INSERTINTOstudentVALUES('S1','張剛','男',20,'D1');----正常插入INSERTINTOstudentVALUES('S2','李梅','女',21,'D2');----正常插入INSERTINTOstudentVALUES('S2','吳敏','男',20,'D1');----正常插入INSERTINTOstudentVALUES(NULL,'吳敏','男',20,'D1');----違反sno的主鍵(NOTNULL)規(guī)則不能將值HUH插入列1-r.D1,表■mydb.dbc.E-.uder^1;列不允訐有Null值。INSERT失敗。語句已終止。INSERTINTOstudentVALUES('S3','吳敏','男',NULL,'D1');違反sage的主鍵(NOTNULL)規(guī)則不能將■值NU11插入列七三",表'mydh.dho.s-.udenz.1;列不允許有Hull值口INSEPI失畋。語句已終止。INSERTINTOstudentVALUES('S3','吳敏','M',20,'D1');違反ssex的CHECK規(guī)則IUSEP.T語句與CHECK約束Irstudent_ckIr沖突■,該沖突發(fā)生于數(shù)據(jù)庫irmydh",表Irdh=.student'1語句已終止。INSERTINTOstudentVALUES('S3','吳敏','男',20,'D3');----正常插入INSERTINTOstudentVALUES('S3','吳敏','男',20,'D1');----正常插入刪除數(shù)據(jù)DELETEFROMstudentWHEREsno='S3';----正常刪除修改數(shù)據(jù)UPDATEstudentSETsname='趙強(qiáng)',dno='D2'WHEREsno='S1'-----正常修改UPDATEstudentSETssex='F'WHEREsno='S1';-----違反ssex的CHECK規(guī)則。行受影響UPDATEstudentSETsno='S2'WHEREsno='S1';-----違反sno的主鍵(UNIQUE)規(guī)則o行受影響UPDATEstudentSETdno='D3'WHEREsno='S1';違反dno的外鍵規(guī)則o行受影響UPDATEdeptSETdno='D3'WHEREdno='D1';---檢查dno的外鍵ONUPDATE規(guī)則,觀察運(yùn)行后效果違反了邳工皿*壬寰約束不能在對象'dh2.depz1中插入重復(fù)鍵。語句已終止。DELETEFROMdeptWHEREdno='D2';----檢查dno的外鍵ONDELETE規(guī)則,觀察運(yùn)行后效果1行受影響(二)使用規(guī)則實(shí)現(xiàn)數(shù)據(jù)完整性(1)在查詢分析器中,利用命令(CREATERULE),創(chuàng)建一個關(guān)于年齡(sage)約束的規(guī)則,將“sage”列的值約束在0~200之間;然后將所創(chuàng)建的規(guī)則綁定到“sage”列(提示:用命令Sp_bindrule)。CREATERULErule_sageas@sagebetween1and100;Sp_bindrule'rule_sage','student.sage';已將規(guī)則綁定到表的列-(2) 在查詢分析器中,利用命令(CREATERULE),創(chuàng)建一個關(guān)于學(xué)分(credit)約束的規(guī)則,將“credit”列的值約束在1~8之間的整數(shù);然后將所創(chuàng)建的規(guī)則綁定到“credit”列(提示:用命令Sp_bindrule)oCREATERULErule_creditas@creditbetween1and8;命令已成功完成口Sp_bindrule'rule_credit','course.credit';-白將規(guī)則綁定到表的列。(3) 在企業(yè)管理器中,創(chuàng)建一個關(guān)于成績(grade)約束的規(guī)則,將“grade”列的值約束在0~100以內(nèi);然后將所創(chuàng)建的規(guī)則綁定到“grade”列。CREATERULErule_gradeas@gradebetween1and100;命令已成功完成。Sp_bindrule'rule_grade','study.grade';已將規(guī)則綁定到表的列。(三)使用觸發(fā)器實(shí)現(xiàn)數(shù)據(jù)完整性(選做)(1)在查詢分析器中,輸入以下CREATETRIGGER語句,創(chuàng)建以下觸發(fā)器:為student表創(chuàng)建一個INSERT觸發(fā)器,當(dāng)插入的新行中年齡的值不是0~180時,就激活該觸發(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)證模式也)@SQLServer和Windows身份驗(yàn)證模式底)sp_password[[@old=]'old_password',]([@new=]'new_password'}[,[@loginame=]'login']EXECsp_passwordnull,db123456,'sa'ALTERLOGINsaENABLE命令已成功完成口建立登錄、授予登錄的服務(wù)器角色。(1) 建立和刪除登錄打開企業(yè)管理器和查詢分析器,以超級用戶sa連接SQLServer服務(wù)器,建立SQLServer登錄,登錄名為loginsql,并設(shè)置口令為123456。sp_addlogin'loginsql','123456'另外打開SQLServerManagementStudio,以loginsql登錄連接服務(wù)器,測試服務(wù)器權(quán)限。試運(yùn)行CREATEDATABASEtest能否成功?(2) 以sa登陸查詢分析器,授予loginsql登錄的服務(wù)器角色 'dbcreator',sp_addsrvrolemember'loginsql','dbcreator'然后以loginsql登錄查詢分析器,并運(yùn)行CREATEDATABASEtest,能否成功?llr^消息'命令已成功完成-創(chuàng)建用戶、授予用戶的權(quán)限。(1)以sa登陸查詢分析器,建立數(shù)據(jù)庫。CREATEDATABASEdbstudentgoUSEdbstudentg°CREATETABLEtbstudent(snoint,snamevarchar(10));以loginsql登錄查詢分析器,測試能否使用數(shù)據(jù)庫?(2)以sa登陸查詢分析器,創(chuàng)建用戶,授予用戶的權(quán)限sp_adduser'loginsql','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)限。(1)sa進(jìn)入數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫角色USEdbstudentgosp_addrole'rolea'(2)授予數(shù)據(jù)庫角色的權(quán)限GRANTCREATETABLETOroleaGRANTSELECT,INSERT,deleteONtbstudentTOrolea(3)授予用戶的數(shù)據(jù)庫角色sp_addrolemember'rolea','usera',測試loginsql登錄是否具有update權(quán)限insertintotbstudentvalues(*103*,'jake')updatetbstudentsetsname=*tom*wheresno=*103*不具有update權(quán)限以sa登錄運(yùn)行語句sp_addrolemember'db_datawriter','usera',再次測驗(yàn)loginsql的update權(quán)限?;厥諗?shù)據(jù)庫角色、用戶、登錄的權(quán)限,刪除數(shù)據(jù)庫角色、用戶、登錄?;厥沼脩舻臄?shù)據(jù)庫角色sp_droprolemember'rolea','usera'sp_droprolemember'db_datawriter','usera'回收數(shù)據(jù)角色權(quán)限REVOKECREATETABLEFROMroleaREVOKESELECT,INSERTONtbstudentFROMrolea刪除數(shù)據(jù)庫角色sp_droprole'rolea'回收用戶的對象權(quán)限REV
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 成都地產(chǎn)項(xiàng)目開發(fā)協(xié)議
- 虛擬現(xiàn)實(shí)游戲開發(fā)合同
- 幼兒園讀書月活動策劃方案
- 腳手架搭建標(biāo)準(zhǔn)化施工方案
- 鋼結(jié)構(gòu)施工安全方案詳解
- 商品房購房者資金保障方案
- 建筑行業(yè)人才盤點(diǎn)及發(fā)展方案
- 腳手架施工方案及安全措施
- 環(huán)境保護(hù)組織視頻會議系統(tǒng)會議方案
- 2025版電商代運(yùn)營及品牌推廣托管合同范本3篇
- 北京市石景山區(qū)2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2025版寒假特色作業(yè)
- Unit 7 Will people have robots Section B 1a-1e 教學(xué)實(shí)錄 2024-2025學(xué)年人教版英語八年級上冊
- 國內(nèi)外航空安全形勢
- 《雷達(dá)原理》課件-1.1.6教學(xué)課件:雷達(dá)對抗與反對抗
- 2024年版汽車4S店商用物業(yè)租賃協(xié)議版B版
- 微信小程序云開發(fā)(赤峰應(yīng)用技術(shù)職業(yè)學(xué)院)知到智慧樹答案
- 遼寧省撫順市清原縣2024屆九年級上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 2024-2025學(xué)年上學(xué)期福建高二物理期末卷2
- 2024-2025年第一學(xué)期小學(xué)德育工作總結(jié):點(diǎn)亮德育燈塔引領(lǐng)小學(xué)生全面成長的逐夢之旅
- 2024四川阿壩州事業(yè)單位和州直機(jī)關(guān)招聘691人歷年管理單位遴選500模擬題附帶答案詳解
評論
0/150
提交評論