- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库安全性与完整性实验报告
河南工业大学实验报告
课 程 数据库原理 实验名称 实验三 数据库安全性与完整性
院 系____信息科学与工程学院____ 专业班级__ _________
姓 名_________ 学 号_ _
指导老师 日 期 2010/10/20
实验目的
掌握数据库安全性控制的概念;
通过在SQL Server 2000查询分析器创建登录、数据库用户和角色,以及权限管理,来加深对自主存取控制方法(DAC)的理解和掌握。
掌握数据库完整性控制的概念;
熟练掌握实体完整性,参照完整性和用户自定义完整性的实现方法;
掌握主键和外键的概念;
掌握触发器的使用方法。
掌握分别用SQL SERVER 2000企业管理器和T-SQL完成完整性控制的方法。
实验内容及要求
有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号是主码;
首先创建一个数据库,并用自己名字全拼命名
部门(部门号,名称,经理名,电话),其中部门号为主码。
1. T-SQL语句完成以下内容:(数据安全性)
1)创建一个SQL Server身份验证的登录(命名方式:数据库名称+Login),默认数据库是新创建的数据库,并为该登录指定sysadmin服务器角色;
2)在已有数据库中创建一个数据库用户(命名方式:数据库名称 + User),与上面的登录关联;
3)在已有数据库中创建一个自定义数据库角色(命名方式:数据库名称 + Role),并把上面用户指定为该角色成员;
4)授予该角色对部门表具有SELECT权限;
5)授予该角色对职工表具有DELETE和INSERT权限;
6)授予该角色对职工表的工资字段的UPDATE权限;
SQL语句如下:
7)授予该用户生成、改变和删除数据库对象的权限(提示:将该用户指定为某一固定数据库角色成员。);
8)收回该角色对职工表的DELETE权限;
9)拒绝该用户对部门表的SELECT权限。
2.用企业管理器和SQL语句两种方式实现如下数据完整性控制:
创建读者表Reader(Rno(读者编号),Rname(读者姓名),Rsex(读者性别),Rage(读者年龄),RDept(所在院系),RBno(借书证号),Rtype(类别));
创建图书表Book(Bno(图书编号),Bname(书名),Bauthor(作者),Bpub(出版社),Date(出版日期),Bdate(入库日期));
创建借阅表RB(RBno(借书证号),Bno(图书编号),BorrowDate(借出日期),ReturnDate(应还日期))
(1)将Reader表中的读者编号Rno设为主键;将Book表中的读者编号Bno设为主键。
(2)将RB表的RBno和Bno设为主键,其中外键RBno参照表Reader,外键Bno参照表Book。
(3)W要求读者的编号必须是以L开头的六位数,性别只能取“男”或“女”,读者的年龄小于55岁。
SQL语句如下:
(1)reader表的创建:
(2)Book表的创建:
(3)RB表的创建:
3.触发器的实现
定义一个INSERT触发器,当读者所在院系写为“计算机科学系”时,自动改为“信息科学与工程学院”。
实验中的问题及心得
这次实验室对数据库的安全性与完整性的实验,也是在SQL Sever平台上进行的,由于对用SQL语句进行表的创建和主键外键的设置不是很了解,所以实验做起来很慢,有很多不明白的地方,对存储过程和触发器方面也理解的比较懵懂,不知道怎样上手,以后自己一定多动手练习,多做做实验,从中真正的将课本上学到的东西转化成自己的东西!
。
文档评论(0)