1、数据库安全实验报告竭诚为您提供优质文档/双击可除数据库安全实验报告篇一:数据库实验三安全性实验报告数据库原理课程实验报告1.实验题目:实验三安全性2.实验目的1.熟悉通过sQL对数据进行安全性控制。2.完成书本上例题的上机练习。3实验平台3.1操作系统:windows2000或者windowsxp注:使用professional版的操作系统建议安装数据库管理系统的教学版,server版的操作系统建议安装数据库管理系统的企业版。3.2数据库管理系统:sQLserver2000数据库管理系统4实验内容及要求使用sQL对数据进行安全性控制,包括:授权和权力回收。操作完成后看看已授权的用户是否真正具有
2、授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力)。根据以下要求认真填写实验报告,记录所有的实验用例。5.实验内容与完成情况:首先需要在数据库的用户中建立u1-u7,张明,王平,赵玲这10个用户。步骤:在自己的数据库角色中右击选择新建用户在登录名选项中选择新建在跳出的二级对话框中输入名称,在身份验证中选择sQLseRVeR身份验证,单机确定在登陆名中选则刚刚输入的名称,单机击确定。例1把查询student表权限授给用户u1gRAnTseLecTonTAbLestudentTou1;改正:gRAnTseLecTonstudentTou1;例2把对student表和
3、course表的全部权限授予用户u2和u3gRAnTALLpRIVILegesonstudent,courseTou2,u3;例3把对表sc的查询权限授予所有用户gRAnTseLecTonscTopubLIc;例4把查询student表和修改学生学号的权限授给用户u4gRAnTupDATe(sno),seLecTonstudentTou4;例5把对表sc的InseRT权限授予u5用户,并允许他再将此权限授予其他用户gRAnTInseRTonscTou5wIThgRAnTopTIon;例6gRAnTInseRTonscTou6wIThgRAnTopTIon;例7gRAnTInseRTonscTo
4、u7;例8把用户u4修改学生学号的权限收回ReVoKeupDATe(sno)onstudentFRomu4;例9收回所有用户对表sc的查询权限ReVoKeseLecTonscFRompubLIc;例10把用户u5对sc表的InseRT权限收回ReVoKeInseRTonscFRomu5cAscADe;例11通过角色来实现将一组权限授予一个用户。步骤如下:篇二:数据库数据库的安全与权限实验报告xx大学计算机与信息技术学院实验报告篇三:数据库的完整性和安全性实验报告信息工程学院实验报告课程名称:数据库原理实验项目名称:数据库的完整性和安全性一、实验目的:(1)掌握数据库约束的概念;(2)熟悉sQL
5、seRVeR的完整性约束技术。(3)了解sQLseRVeR的违反完整性处理措施。(4)了解登录账户的管理理念与具体方法。(5)了解数据库用户的管理的要则。(6)了解用户权限管理的内涵与方法。二、实验设备与器件win7+sqlserver20XX三、实验内容与步骤(一)测试完整性运行附录中的sQL语句,理解sQL语句中包含的完整性定义。然后执行下面的sQL语句,看是否能正常运行,若无法执行,请说明原因。1.对dept表进行数据增删改,并检查完整性规则Dept已存在的完整性规则如下:dnodnamechAR(2)pRImARYKeYVARchAR(20)noTnuLL,unIQue(1)增加数据I
6、nseRTInTodeptVALues(D1,计科系);-正常插入InseRTInTodeptVALues(D2,电信系);-正常插入InseRTInTodeptVALues(nuLL,机械系);-违反dno主键(noTnuLL)规则InseRTInTodeptVALues(D2,机械系);-违反dno主键(unIQue)InseRTInTodeptVALues(D3,nuLL);-违反dname的noTnuLL规则InseRTInTodeptVALues(D3,计科系);-违反dname的unIQue规则InseRTInTodeptVALues(D3,机械系);-正常插入(2)删除数据DeL
7、eTeFRomdeptwheRedno=D3;-正常删除(3)修改数据upDATedeptseTdname=计算机科学系wheRedno=D1;-正常修改upDATedeptseTdname=电信系wheRedno=D1;-违反dname的unIQue规则upDATedeptseTdname=nuLLwheRedno=D1;违反dname的unIQue规则2.对student表进行数据增删改,并检查完整性规则student已存在完整性规则如下:snosnamechAR(2)pRImARYKeYnoTnuLL,VARchAR(20)ssexchAR(2)sageInTdnonoTnuLL,che
8、cK(ssexin(男,女)noTnuLL,noTnuLL,FoReIgnKeYReFeRencesdept(dno)onDeLeTecAscADeonupDATecAscADechAR(2)(1)增加数据InseRTInTostudentVALues(s1,张刚,男,20,D1);-正常插入InseRTInTostudentVALues(s2,李梅,女,21,D2);-正常插入InseRTInTostudentVALues(s2,吴敏,男,20,D1);-正常插入InseRTInTostudentVALues(nuLL,吴敏,男,20,D1);-违反sno的主键(noTnuLL)规则Inse
9、RTInTostudentVALues(s3,吴敏,男,nuLL,D1);违反sage的主键(noTnuLL)规则InseRTInTostudentVALues(s3,吴敏,m,20,D1);违反ssex的checK规则InseRTInTostudentVALues(s3,吴敏,男,20,D3);-正常插入InseRTInTostudentVALues(s3,吴敏,男,20,D1);-正常插入(2)删除数据DeLeTeFRomstudentwheResno=s3;-正常删除(3)修改数据upDATestudentseTsname=赵强,dno=D2wheResno=s1-正常修改upDATes
10、tudentseTssex=FwheResno=s1;-违反ssex的checK规则upDATestudentseTsno=s2wheResno=s1;-违反sno的主键(unIQue)规则upDATestudentseTdno=D3wheResno=s1;违反dno的外键规则upDATedeptseTdno=D3wheRedno=D1;-检查dno的外键onupDATe规则,观察运行后效果DeLeTeFRomdeptwheRedno=D2;-检查dno的外键onDeLeTe规则,观察运行后效果(二)使用规则实现数据完整性(1)在查询分析器中,利用命令(cReATeRuLe),创建一个关于年龄
11、(sage)约束的规则,将“sage”列的值约束在0200之间;然后将所创建的规则绑定到“sage”列(提示:用命令sp_bindrule)。cReATeRuLerule_sageassagebetween1and100;sp_bindrulerule_sage,student.sage;(2)在查询分析器中,利用命令(cReATeRuLe),创建一个关于学分(credit)约束的规则,将“credit”列的值约束在18之间的整数;然后将所创建的规则绑定到“credit”列(提示:用命令sp_bindrule)。cReATeRuLerule_creditascreditbetween1and8
12、;sp_bindrulerule_credit,course.credit;(3)在企业管理器中,创建一个关于成绩(grade)约束的规则,将“grade”列的值约束在0100以内;然后将所创建的规则绑定到“grade”列。cReATeRuLerule_gradeasgradebetween1and100;sp_bindrule(:数据库安全实验报告)rule_grade,study.grade;(三)使用触发器实现数据完整性(选做)(1)在查询分析器中,输入以下cReATeTRIggeR语句,创建以下触发器:为student表创建一个InseRT触发器,当插入的新行中年龄的值不是0180时,
13、就激活该触发器,撤销该插入操作,并使用RAIseRRoR语句返回一个错误信息。(2)在查询分析器中,执行InseRT语句为student表添加一年龄为220的学生,此时触发器是否执行?分析原因。(四)测试数据库安全性设置身份验证模式:右键服务器实例,选择属性,在security(安全性)项中,将服务器身份验证设置为sQLserver和windows身份验证模式,确定。根据提示重新启动sql服务。然后执行下面的语句启用sa用户。sp_passwordold=old_password,new=new_password,loginame=loginexecsp_passwordnull,db1234
14、56,saALTeRLogInsaenAbLe1.建立登录、授予登录的服务器角色。(1)建立和删除登录打开企业管理器和查询分析器,以超级用户sa连接sQLserver服务器,建立sQLserver登录,登录名为loginsql,并设置口令为123456。sp_addloginloginsql,123456另外打开sQLservermanagementstudio,以loginsql登录连接服务器,测试服务器权限。试运行cReATeDATAbAsetest,能否成功?(2)以sa登陆查询分析器,授予loginsql登录的服务器角色dbcreator,sp_addsrvrolememberlogi
15、nsql,dbcreator然后以loginsql登录查询分析器,并运行cReATeDATAbAsetest,能否成功?2.创建用户、授予用户的权限。(1)以sa登陆查询分析器,建立数据库。cReATeDATAbAsedbstudentgousedbstudentgocReATeTAbLetbstudent(sno);以loginsql登录查询分析器,测试能否使用数据库?snameint,varchar(10)(2)以sa登陆查询分析器,创建用户,授予用户的权限sp_adduserloginsql,usera以loginsql登录另一个查询分析器,进入数据库dbstudent(usera用户)
16、,测试权限。可以使用数据库dbstudentsa授予用户语句权限gRAnTcReATeTAbLeTousera授予用户的对象权限gRAnTseLecTontbstudentTouseragRAnTInseRTontbstudentTousera再次以loginsql登录进入数据库dbstudent(usera用户),测试被授予权限。3.创建数据库角色,授予数据库角色的权限。(1)sa进入数据库,创建数据库角色usedbstudentgosp_addrolerolea(2)授予数据库角色的权限gRAnTcReATeTAbLeToroleagRAnTseLecT,InseRT,deleteontbstudentTorolea(3)授予用户的数据库角色sp_addrolememberrolea,usera,测试loginsql登录是否具有update权限insertintotbstudentvalues(103,jake)updatetbstudentsetsname=tomwheresno=103不具有update权限以sa登录运行语句sp_addrolememberdb_datawriter,usera,再次测验loginsql的update权限。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1