資源描述:
《數(shù)據(jù)庫(kù)完整性與安全性實(shí)驗(yàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、北京郵電大學(xué)實(shí)驗(yàn)報(bào)告課程名稱數(shù)據(jù)庫(kù)系統(tǒng)原理實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)五數(shù)據(jù)庫(kù)完整性與安全性實(shí)驗(yàn)班級(jí)2012211314姓名韓植/吳夢(mèng)指導(dǎo)老師盧向群成績(jī)_________2015年5月12日實(shí)驗(yàn)五數(shù)據(jù)庫(kù)完整性與安全性實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?.通過(guò)對(duì)完整性規(guī)則的定義實(shí)現(xiàn),熟悉了解SQLSERVER中完整性保證的規(guī)則和實(shí)現(xiàn)方法,加深對(duì)數(shù)據(jù)完整性的理解。2.通過(guò)對(duì)安全性相關(guān)內(nèi)容的定義,熟悉了解SQLSERVER中安全性的內(nèi)容和實(shí)現(xiàn)方法,加深對(duì)數(shù)據(jù)庫(kù)安全性的理解實(shí)驗(yàn)內(nèi)容完整性實(shí)驗(yàn)與要求:1.分別定義數(shù)據(jù)庫(kù)中各基表的主鍵、外鍵,實(shí)現(xiàn)實(shí)體完整性約束和參照完整性約束;設(shè)置了學(xué)生選課數(shù)據(jù)庫(kù)中基表的主外鍵2.向?qū)W生表插入具有相同學(xué)
2、號(hào)的數(shù)據(jù),驗(yàn)證其實(shí)體完整性約束;(1)EnterpriseManager(2)T_SQL1.向?qū)W生表中插入一條數(shù)據(jù),班級(jí)號(hào)是學(xué)生表的外鍵,驗(yàn)證參照完整性約束;(1)EnterpriseManager(2)T_SQL1.刪除教師表中的所有數(shù)據(jù),驗(yàn)證參照完整性約束;(1)EnterpriseManager(2)T_SQL2.定義存儲(chǔ)過(guò)程,完成查詢學(xué)生表中學(xué)號(hào)=g9940206的行,并執(zhí)行。createprocedurechouzhuasselectstudent$.student_id,student$.student_name,course$.course_name,student_cou
3、rse$.creditfromstudent$,course$,student_course$wherestudent$.student_id='g9940206'andstudent$.student_id=student_course$.student_idandcourse$.course_id=student_course$.course_idgo定義存儲(chǔ)過(guò)程chouzhu執(zhí)行后得到1.定義觸發(fā)器,當(dāng)向?qū)W生表插入一條記錄時(shí),將所有學(xué)生的學(xué)號(hào)值加1;并對(duì)其進(jìn)行測(cè)試USE[學(xué)生選課]GO/******Object:Trigger[dbo].[hhhhhh]ScriptDate:05/
4、12/201517:01:52******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERtrigger[dbo].[hhhhhh]on[dbo].[student$]afterinsertasbeginupdatestudent$setstudent_id=substring(student_id,1,1)+cast((substring(student_id,2,7)+1)asvarchar(50))end安全性實(shí)驗(yàn)內(nèi)容與要求:1.定義一新的登陸帳號(hào)、數(shù)據(jù)庫(kù)用戶,并授予其訪問(wèn)學(xué)生選課數(shù)據(jù)庫(kù)的讀權(quán)限;(1)EnterpriseManager
5、新建了登陸賬號(hào)chouzhu新建數(shù)據(jù)庫(kù)用戶chouzhu_hi(2)Transact_SQLuse學(xué)生選課goexecsp_addlogin'chouzhu2'execsp_grantdbaccess'chouzhu2'execsp_addrolemember'db_datareader','chouzhu2'Go成功創(chuàng)建chouzhu2登錄名和用戶名1.分別采用WindowsNT/2000驗(yàn)證方式和WindowsNT/2000及SQLServer混合驗(yàn)證方式用不同的用戶進(jìn)行登錄連接;倆種驗(yàn)證方式均可登陸連接成功1.分別用sa用戶和新定義的用戶訪問(wèn)通信數(shù)據(jù)庫(kù),并對(duì)其中的學(xué)生表數(shù)據(jù)進(jìn)行修改
6、;Sa用戶登陸成功,并成功修改了學(xué)生表數(shù)據(jù)Chouzhu用戶登陸成功,但無(wú)權(quán)限修改學(xué)生表1.創(chuàng)建數(shù)據(jù)庫(kù)角色,并授予訪問(wèn)通信數(shù)據(jù)庫(kù)的讀、寫(xiě)權(quán)限;(1)EnterpriseManager新建數(shù)據(jù)庫(kù)角色chouzhu6(1)Transact_SQL新建數(shù)據(jù)庫(kù)角色chouzhucreaterolechouzhugrantselect,insertonbook$tochouzhugrantselect,insertonclass$tochouzhugrantselect,insertonclass_course$tochouzhugrantselect,insertoncourse$tochouz
7、hugrantselect,insertondepartment$tochouzhugrantselect,insertonstudent$tochouzhugrantselect,insertonstudent_course$tochouzhugrantselect,insertonteacher$tochouzhugrantselect,insertonteacher_course_class$tochouzhu1.將角色賦予(