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

上传人:Wo****W 文档编号:63521171 上传时间:2022-11-25 格式:DOC 页数:5 大小:21KB
返回 下载 相关 举报
数据库完整性和安全性实验报告.doc_第1页
第1页 / 共5页
数据库完整性和安全性实验报告.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《数据库完整性和安全性实验报告.doc》由会员分享,可在线阅读,更多相关《数据库完整性和安全性实验报告.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库完好性和平安性实验报告信息工程学院实验报告 成 绩:指导教师(签名_):课程名称:数据库原理实验工程名称:数据库的完好性和平安性 一、实 验 目 的: 1掌握数据库约束的概念;2熟悉SQL SERVER 的完好性约束技术。3理解SQL SERVER 的违背完好性处理措施。4理解登录账户的管理理念与详细方法。5理解数据库用户的管理的要那么。6理解用户权限管理的内涵与方法。二、实 验 设 备 与 器 件 7 +Sql server 2022 三、实 验 内 容 与 步 骤 一测试完好性 运行附录中的SQL语句,理解SQL语句中包含的完好性定义。然后执行下面的SQL语句,看是否能正常运行,假设

2、无法执行,请说明原因。1.对dept表进展数据增删改,并检查完好性规那么 Dept已存在的完好性规那么如下:dno CHAR(2) PRIMARY KEY dname VARCHAR(20) NOT NULL,UNIQUE (1)增加数据 INSERT INTO dept VALUES(D1,计科系);-正常插入 INSERT INTO dept VALUES(D2,电信系);-正常插入 INSERT INTO dept VALUES(NULL,机械系); -违背dno主键NOT NULL规那么 INSERT INTO dept VALUES(D2,机械系); -违背dno主键UNIQUEIN

3、SERT INTO dept VALUES(D3,NULL); -违背dname的NOT NULL规那么 INSERT INTO dept VALUES(D3,计科系); -违背dname的UNIQUE规那么 INSERT INTO dept VALUES(D3,机械系);-正常插入 (2)删除数据 DELETE FROM dept WHERE dno=D3;-正常删除 (3)修改数据 UPDATE dept SET dname=计算机科学系 WHERE dno=D1;-正常修改 UPDATE dept SET dname=电信系 WHERE dno=D1; -违背dname的UNIQUE规那

4、么 UPDATE dept SET dname=NULL WHERE dno=D1; 违背dname的UNIQUE规那么 2.对student表进展数据增删改,并检查完好性规那么 Student已存在完好性规那么如下:sno CHAR(2) PRIMARY KEY sname VARCHAR(20) NOT NULL, sse_ CHAR(2) NOT NULL, CHECK(sse_ in(男,女) sage INT NOT NULL, dno CHAR(2) NOT NULL, FOREIGN KEY REFERENCES dept(dno) ON DELETE CASCADE ON UP

5、DATE CASCADE (1)增加数据 INSERT INTO student VALUES(S1,张刚,男,20,D1);-正常插入 INSERT INTO student VALUES(S2,李梅,女,21,D2);-正常插入 INSERT INTO student VALUES(S2,吴敏,男,20,D1); -正常插入 INSERT INTO student VALUES(NULL,吴敏,男,20,D1); -违背sno 的主键NOT NULL规那么 INSERT INTO student VALUES(S3,吴敏,男,NULL,D1); 违背sage 的主键NOT NULL规那么

6、INSERT INTO student VALUES(S3,吴敏,M,20,D1); 违背sse_ 的CHECK规那么 INSERT INTO student VALUES(S3,吴敏,男,20,D3); -正常插入 INSERT INTO student VALUES(S3,吴敏,男,20,D1);-正常插入 (2)删除数据 DELETE FROM student WHERE sno=S3; -正常删除 (3)修改数据 UPDATE student SET sname=赵强,dno=D2 WHERE sno=S1-正常修改 UPDATE student SET sse_=F WHERE sn

7、o=S1; -违背sse_的CHECK 规那么 UPDATE student SET sno=S2 WHERE sno=S1; -违背sno的主键UNIQUE规那么 UPDATE student SET dno=D3 WHERE sno=S1; 违背dno 的外键规那么 UPDATE dept SET dno=D3 WHERE dno=D1;-检查dno的外键ON UPDATE规那么,观察运行后效果 DELETE FROM dept WHERE dno=D2;-检查dno的外键ON DELETE规那么,观察运行后效果 二使用规那么实现数据完好性 1在查询分析p 器中,利用命令CREATE RU

8、LE,创立一个关于年龄(sage)约束的规那么,将“sage”列的值约束在020_之间;然后将所创立的规那么绑定到“sage”列提示:用命令Sp_bindrule。CREATE RULE rule_sage as sage between 1 and 100; Sp_bindrule rule_sage,student.sage; 2在查询分析p 器中,利用命令CREATE RULE,创立一个关于学分(credit)约束的规那么,将“credit”列的值约束在18之间的整数;然后将所创立的规那么绑定到“credit”列提示:用命令Sp_bindrule。CREATE RULE rule_cre

9、dit as credit between 1 and 8; Sp_bindrule rule_credit,course.credit; 3在企业管理器中,创立一个关于成绩(grade)约束的规那么,将“grade”列的值约束在0100以内;然后将所创立的规那么绑定到“grade”列。CREATE RULE rule_grade as grade between 1 and 100; Sp_bindrule rule_grade,study.grade; 三使用触发器实现数据完好性(选做) 1在查询分析p 器中,输入以下CREATE TRIGGER语句,创立以下触发器:为student表创立

10、一个INSERT触发器,当插入的新行中年龄的值不是0180时,就激活该触发器,撤销该插入操作,并使用RAISERROR语句返回一个错误信息。2在查询分析p 器中,执行INSERT语句为student表添加一年龄为220的学生,此时触发器是否执行?分析p 原因。四测试数据库平安性 设置身份验证形式:右键效劳器实例,选择“属性“,在“Security“(平安性)项中,将“效劳器身份验证“设置为“SQL Server和dows身份验证形式“,确定。根据提示重新启动sql效劳。然后执行下面的语句启用sa用户。sp_password old = old_password , new = new_pass

11、word , loginame = login E_EC sp_password null, db123456, sa ALTER LOGIN sa ENABLE 1.建立登录、授予登录的效劳器角色。(1)建立和删除登录 翻开企业管理器和查询分析p 器,以超级用户sa连接SQL Server效劳器,建立SQL Server登录,登录名为loginsql, 并设置口令为123456 。sp_addlogin loginsql,123456 另外翻开SQL Server Management Studio,以loginsql登录连接效劳器,测试效劳器权限。试运行CREATE DATABASE te

12、st,能否成功? (2) 以sa登陆查询分析p 器,授予loginsql登录的效劳器角色dbcreator, sp_addsrolemember loginsql,dbcreator 然后以loginsql登录查询分析p 器,并运行CREATE DATABASE test,能否成功? 2.创立用户、授予用户的权限。(1)以sa登陆查询分析p 器,建立数据库。CREATE DATABASE dbstudent go USE dbstudent go CREATE TABLE tbstudent( sno int, sname varchar(10) ); 以loginsql登录查询分析p 器,测

13、试能否使用数据库? (2) 以sa登陆查询分析p 器,创立用户,授予用户的权限 sp_adduser loginsql,usera 以loginsql登录另一个查询分析p 器,进入数据库dbstudent(usera用户),测试权限。可以使用数据库dbstudent sa授予用户语句权限 GRANT CREATE TABLE TO usera 授予用户的对象权限 GRANT SELECT ON tbstudent TO usera GRANT INSERT ON tbstudent TO usera 再次以loginsql登录进入数据库dbstudent(usera用户),测试被授予权限。3.

14、创立数据库角色,授予数据库角色的权限。(1) sa进入数据库,创立数据库角色 USE dbstudent go sp_addrole rolea (2)授予数据库角色的权限 GRANT CREATE TABLE TO rolea GRANT SELECT,INSERT,delete ON tbstudent TO rolea (3)授予用户的数据库角色 sp_addrolemember rolea,usera,测试loginsql登录是否具有update权限 insert into tbstudent values(103,jake) update tbstudent set sname=to

15、m where sno=103 不具有update权限 以sa登录运行语句sp_addrolemember db_datawriter,usera ,再次测验loginsql的update权限。4.回收数据库角色、用户、登录的权限,删除数据库角色、用户、登录。回收用户的数据库角色 sp_droprolemember rolea,usera sp_droprolemember db_datawriter,usera 回收数据角色权限 REVOKE CREATE TABLE FROM rolea REVOKE SELECT,INSERT ON tbstudent FROM rolea 删除数据库角

16、色 sp_droprole rolea 回收用户的对象权限 REVOKE SELECT ON tbstudent FROM usera REVOKE INSERT ON tbstudent FROM usera 回收用户的语句权限 REVOKE CREATE TABLE FROM usera 删除用户 sp_dropuser usera 回收登录的效劳器角色 sp_dropsrolemember loginsql,dbcreator 删除SQL Server登录 Drop database test sp_droplogin loginsql 四、实 验 总 结:我在此过程中不但应用了所学的知识,而且还不断的学习新的知识、工具,以完成设计的需要 第 5 页 共 5 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁