数据库安全实验报告Word文档格式.docx

上传人:b****6 文档编号:17206353 上传时间:2022-11-28 格式:DOCX 页数:5 大小:18KB
下载 相关 举报
数据库安全实验报告Word文档格式.docx_第1页
第1页 / 共5页
数据库安全实验报告Word文档格式.docx_第2页
第2页 / 共5页
数据库安全实验报告Word文档格式.docx_第3页
第3页 / 共5页
数据库安全实验报告Word文档格式.docx_第4页
第4页 / 共5页
数据库安全实验报告Word文档格式.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库安全实验报告Word文档格式.docx

《数据库安全实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库安全实验报告Word文档格式.docx(5页珍藏版)》请在冰豆网上搜索。

数据库安全实验报告Word文档格式.docx

权力收回操作之后的用户是否确实丧失了收回的数据操作的权力)。

根据以下要求认真填写实验报告,记录所有的实验用例。

5.实验内容与完成情况:

  首先需要在数据库的用户中建立u1-u7,张明,王平,赵玲这10个用户。

  步骤:

在自己的数据库角色中右击选择新建用户——在登录名选项中选择新建——在跳出的二级对话框中输入名称,在身份验证中选择sQLseRVeR身份验证,单机确定——在登陆名中选则刚刚输入的名称,单机击确定。

  [例1]把查询student表权限授给用户u1gRAnTseLecT

  onTAbLestudent

  Tou1;

  改正:

gRAnTseLecT

  onstudent

  [例2]把对student表和course表的全部权限授予用户u2和u3

  gRAnTALLpRIVILeges

  onstudent,course

  Tou2,u3;

  [例3]把对表sc的查询权限授予所有用户gRAnTseLecT

  onsc

  TopubLIc;

  [例4]把查询student表和修改学生学

  号的权限授给

  用户u4

  gRAnTupDATe(sno),seLecT

  Tou4;

  [例5]把对表sc的InseRT权限授予u5

  用户,并

  允许他再将此权限授予其他用户

  gRAnTInseRT

  Tou5

  wIThgRAnTopTIon;

  [例6]gRAnTInseRT

  Tou6

  [例7]gRAnTInseRT

  onscTou7;

  [例8]把用户u4修改学生学号的权限收回ReVoKeupDATe(sno)

  FRomu4;

  [例9]收回所有用户对表sc的查询权限ReVoKeseLecT

  FRompubLIc;

  [例10]把用户u5对sc表的InseRT权限收回ReVoKeInseRT

  FRomu5cAscADe;

  [例11]通过角色来实现将一组权限授予一个用户。

步骤如下:

  篇二:

数据库《数据库的安全与权限》实验报告

  xx大学计算机与信息技术学院

  实

  验报告

  篇三:

数据库的完整性和安全性实验报告

  信息工程学院实验报告

  课程名称:

《数据库原理》

  实验项目名称:

数据库的完整性和安全性

  一、实验目的:

  

(1)掌握数据库约束的概念;

  

(2)熟悉sQLseRVeR的完整性约束技术。

(3)了解sQLseRVeR的违反完整性处理措施。

(4)了解登录账户的管理理念与具体方法。

(5)了解数据库用户的管理的要则。

(6)了解用户权限管理的内涵与方法。

二、实验设备与器件win7+sqlserver20XX三、实验内容与步骤

  

(一)测试完整性

  运行附录中的sQL语句,理解sQL语句中包含的完整性定义。

然后执行下面的sQL语句,看是否能正常运行,若无法执行,请说明原因。

  1.对dept表进行数据增删改,并检查完整性规则Dept已存在的完整性规则如下:

dnodname

  chAR

(2)

  pRImARYKeY

  VARchAR(20)noTnuLL,unIQue

  

(1)增加数据

  InseRTInTodeptVALues(D1,计科系);

----正常插入

  InseRTInTodeptVALues(D2,电信系);

  InseRTInTodeptVALues(nuLL,机械系);

----违反dno主键(noTnuLL)规则

  InseRTInTodeptVALues(D2,机械系);

----违反dno主键(unIQue)

  InseRTInTodeptVALues(D3,nuLL);

----违反dname的noTnuLL规则

  InseRTInTodeptVALues(D3,计科系);

----违反dname的unIQue规则

  InseRTInTodeptVALues(D3,机械系);

  

(2)删除数据

  DeLeTeFRomdeptwheRedno=D3;

----正常删除(3)修改数据

  upDATedeptseTdname=计算机科学系wheRedno=D1;

----正常修改

  upDATedeptseTdname=电信系wheRedno=D1;

  upDATedeptseTdname=nuLLwheRedno=D1;

违反dname的unIQue规则

  2.对student表进行数据增删改,并检查完整性规则student已存在完整性规则如下:

snosname

  noTnuLL,

  VARchAR(20)

  ssexchAR

(2)sageInTdno

  noTnuLL,checK(ssexin(男,女))

  noTnuLL,FoReIgnKeYReFeRencesdept(dno)

  onDeLeTecAscADeonupDATecAscADe

  InseRTInTostudentVALues(s1,张刚,男,20,D1);

----正常插入InseRTInTostudentVALues(s2,李梅,女,21,D2);

----正常插入InseRTInTostudentVALues(s2,吴敏,男,20,D1);

  InseRTInTostudentVALues(nuLL,吴敏,男,20,D1);

----违反sno的主键(noTnuLL)规则

  InseRTInTostudentVALues(s3,吴敏,男,nuLL,D1);

违反sage的主键(noTnuLL)规则

  InseRTInTostudentVALues(s3,吴敏,m,20,D1);

违反ssex的checK规则

  InseRTInTostudentVALues(s3,吴敏,男,20,D3);

----正常插入InseRTInTostudentVALues(s3,吴敏,男,20,D1);

----正常插入

(2)删除数据

  DeLeTeFRomstudentwheResno=s3;

  upDATestudentseTsname=赵强,dno=D2wheResno=s1-----正常修改upDATestudentseTssex=FwheResno=s1;

-----违反ssex的checK规则

  upDATestudentseTsno=s2wheResno=s1;

-----违反sno的主键(unIQue)规则

  upDATestudentseTdno=D3wheResno=s1;

违反dno的外键规则

  upDATedeptseTdno=D3wheRedno=D1;

----检查dno的外键onupDATe规则,观察运行后效果

  DeLeTeFRomdeptwheRedno=D2;

----检查dno的外键onDeLeTe规则,观察运行后效果

  

(二)使用规则实现数据完整性

  

(1)在查询分析器中,利用命令(cReATeRuLe),创建一个关于年龄(sage)约束的规则,将“sage”列的值约束在0~200之间;

然后将所创建的规则绑定到“sage”列(提示:

用命令sp_bindrule)。

  cReATeRuLerule_sageas@sagebetween1and100;

sp_bindrulerule_sage,student.sage

  ;

  

(2)在查询分析器中,利用命令(cReATeRuLe),创建一个关于学分(credit)约束的规则,将“credit”列的值约束在1~8之间的整数;

然后将所创建的规则绑定到“credit”列(提示:

  cReATeRuLerule_creditas@creditbetween1and8;

  sp_bindrulerule_credit,course.credit;

  (3)在企业管理器中,创建一个关于成绩(grade)约束的规则,将“grade”列的值约束在0~100以内;

然后将所创建的规则绑定到“grade”列。

  cReATeRuLerule_gradeas@gradebetween1and100

  sp_bindrule(:

数据库安全实验报告)rule_grade,study.grade

  (三)使用触发器实现数据完整性(选做)

  

(1)在查询分析器中,输入以下cReATeTRIggeR语句,创建以下触发器:

为student表创建一个InseRT触发器,当插入的新行中年龄的值不是0~180时,就激活该触发器,撤销该插入操作,并使用RAIseRRoR语句返回一个错误信息。

  

(2)在查询分析器中,执行InseRT语句为student表添加一年龄为220的学生,此时触发器是否执行?

分析原因。

  (四)测试数据库安全性

  设置身份验证模式:

右键服务器实例,选择"

属性"

,在"

security"

(安全性)项中,将"

服务器身份验证"

设置为"

sQLserver和windows身份验证模式"

,确定。

根据提示重新启动sql服务。

然后执行下面的语句启用sa用户。

  sp_password[[@old=]old_password,]{[@new=]new_password}[,[@loginame=]login]execsp_passwordnull,db123456,saALTeRLogInsa

  enAbLe

  1.建立登录、授予登录的服务器角色。

(1)建立和删除登录

  打开企业管理器和查询分析器,以超级用户sa连接sQLserver服务器,建立sQLserver登录,登录名为loginsql,并设置口令为123456。

sp_addloginloginsql,123456

  另外打开sQLservermanagementstudio,以loginsql登录连接服务器,测试服务器权限。

试运行cReATeDATAbAsetest,能否成功?

  

(2)以sa登陆查询分析器,授予loginsql登录的服务器角色——dbcreator,sp_addsrvrolememberloginsql,dbcreator

  然后以loginsql登录查询分析器,并运行cReATeDATAbAsetest,能否成功?

  2.创建用户、授予用户的权限。

  

(1)以sa登陆查询分析器,建立数据库。

cReATeDATAbAsedbstudent

  go

  usedbstudentgo

  cReATeTAbLetbstudent(sno);

  以loginsql登录查询分析器,测试能否使用数据库?

  sname

  int,varchar(10)

  

(2)以sa登陆查询分析器,创建用户,授予用户的权限sp_adduserloginsql,usera

  以loginsql登录另一个查询分析器,进入数据库dbstudent(usera用户),测试权限。

可以使用数据库dbstudent①sa授予用户语句权限

  gRAnTcReATeTAbLeTousera②授予用户的对象权限

  gRAnTseLecTontbstudentTouseragRAnTInseRTontbstudentTousera

  再次以loginsql登录进入数据库dbstudent(usera用户),测试被授予权限。

3.创建数据库角色,授予数据库角色的权限。

(1)sa进入数据库,创建数据库角色usedbstudentgo

  sp_addrolerolea

  

(2)授予数据库角色的权限

  gRAnTcReATeTAbLeTorolea

  gRAnTseLecT,InseRT,deleteontbstudentTorolea(3)授予用户的数据库角色

  sp_addrolememberrolea,usera,测试loginsql登录是否具有update权限

  insertintotbstudentvalues(103,jake)updatetbstudentsetsname=tomwheresno=103

  不具有update权限

  以sa登录运行语句sp_addrolememberdb_datawriter,usera,再次测验loginsql的update权限。

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1