数据库安全实验报告.docx

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

数据库安全实验报告.docx

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

数据库安全实验报告.docx

数据库安全实验报告

竭诚为您提供优质文档/双击可除

数据库安全实验报告

  篇一:

数据库实验三安全性实验报告

  数据库原理课程实验报告

  1.实验题目:

实验三安全性

  2.实验目的

  1.熟悉通过sQL对数据进行安全性控制。

  2.完成书本上例题的上机练习。

  3实验平台

  3.1操作系统:

  windows2000或者windowsxp

  注:

使用professional版的操作系统建议安装数据库管理系统的教学版,server版的操作系统建议安装数据库管理系统的企业版。

  3.2数据库管理系统:

  sQLserver2000数据库管理系统

  4实验内容及要求

  使用sQL对数据进行安全性控制,包括:

授权和权力回收。

操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力)。

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

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

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

  步骤:

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

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

  onTAbLestudent

  Tou1;

  改正:

gRAnTseLecT

  onstudent

  Tou1;

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

  gRAnTALLpRIVILeges

  onstudent,course

  Tou2,u3;

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

  onsc

  TopubLIc;

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

  号的权限授给

  用户u4

  gRAnTupDATe(sno),seLecT

  onstudent

  Tou4;

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

  用户,并

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

  gRAnTInseRT

  onsc

  Tou5

  wIThgRAnTopTIon;

  [例6]gRAnTInseRT

  onsc

  Tou6

  wIThgRAnTopTIon;

  [例7]gRAnTInseRT

  onscTou7;

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

  onstudent

  FRomu4;

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

  onsc

  FRompubLIc;

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

  onsc

  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;----违反dname的unIQue规则

  upDATedeptseTdname=nuLLwheRedno=D1;违反dname的unIQue规则

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

snosname

  chAR

(2)

  pRImARYKeY

  noTnuLL,

  VARchAR(20)

  ssexchAR

(2)sageInTdno

  noTnuLL,checK(ssexin(男,女))

  noTnuLL,

  noTnuLL,FoReIgnKeYReFeRencesdept(dno)

  onDeLeTecAscADeonupDATecAscADe

  chAR

(2)

  

(1)增加数据

  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;----正常删除(3)修改数据

  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”列(提示:

用命令sp_bindrule)。

  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权限。

  

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

当前位置:首页 > 初中教育 > 理化生

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

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