数据库安全性与完整性实验
- 格式:doc
- 大小:163.50 KB
- 文档页数:4
实验报告
课程名称:数据库系统概论
学院:工程学院
专业:
年级:班级:
姓名:学号:
指导教师:
年月日
教务处制
..
以U1的身份进入查询分析器,进行任意查询。
SELECT* FROM"S-C"."STUDENT"
SELECT* FROM"S-C"."STUDENT"
例4.2 把查询student表和course表的权全部操作限授给用户u2和u3。
SELECT* FROM"S-C"."STUDENT","S-C"."COURSE"
例4.3把对表SC的权限授给所有用户.
以U3的身份进入查询分析器,进行任意查询。
例4.12角色的权限修改。
以system的身份进入查询分析器,增加角色R1对Student表的DELETE权限。
GRANT DELETE
ON TABLE "S-C"."STUDENT"
TO R1;
将这个角色授予U7,使他们具有角色R1所包含的全部权限。
实验五数据库完整性与安全性实验实验内容完整性实验与要求:1分别定义数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束;该操作在实验2中已完成2向学生表插入具有相同学号的数据,验证其实体完整性约束;insertinto student values('g9940201','wangyu','1','9/1/1998','g99401','1999-9-1','背景');3向学生表中插入一条数据,班级号是学生表的外键,验证参照完整性约束;insertinto student values('g9940305','wangyu','1','9/1/1998','g99408','1999-9-1','背景');4删除教师表中的所有数据,验证参照完整性约束;deletefrom teacher5创建一个规则,将其绑定到Student表的Sex列上,保证输入的性别值是0或1Createrule value_sex1as@value in('0','1')GoExec sp_bindrule'value_sex1','student.sex'Go6为Student表增加一列,命名为dept,创建一个默认对象,将其绑定到Student表的dept列上,使其默认值为电子院。
Createdefault系默认as'电子院'GoExec sp_bindefault'系默认1','student.dept'Go安全性实验内容与要求:1定义一新的登录帐号、数据库用户,并授予其访问学生选课数据库的读权限;create login aaawith password='123',default_database=shiyancreate user wangyufor login aaawith default_schema=dbo2分别采用Windows NT/2000验证方式和Windows NT/2000及混合验证方式用不同的用户进行登录连接;3分别用sa用户和新定义的用户访问学生数据库,并对其中的学生表数据进行修改;insertinto student(student_id,entrance_date)values('g9940215','1999-9-1');4创建数据库角色,并授予访问数据库的读、写权限;sp_addrole'db_read_write1'gograntselecton student to db_read_write1gogrant update on student to db_read_write1gograntinserton student to db_read_write15将角色赋予(1)中定义的用户,建立用户和角色联系;exec sp_addrolemember'db_read_write','wangyu'6再次用此用户访问学生数据库,并对其中的学生表数据进行修改。
信息工程学院实验报告课程名称:《数据库原理》实验项目名称:数据库的完整性和安全性一、实 验 目 的:(1)掌握数据库约束的概念;(2)熟悉SQL SERVER 的完整性约束技术。
(3)了解SQL SERVER 的违反完整性处理措施。
(4)了解登录账户的管理理念与具体方法。
(5)了解数据库用户的管理的要则。
(6)了解用户权限管理的内涵与方法。
二、实 验 设 备 与 器 件 Win7 +Sql server 2008 三、实 验 内 容 与 步 骤(一)测试完整性运行附录中的SQL 语句,理解SQL 语句中包含的完整性定义。
然后执行下面的SQL 语句,看是否能正常运行,若无法执行,请说明原因。
1.对dept 表进行数据增删改,并检查完整性规则 Dept 已存在的完整性规则如下: dno CHAR(2)PRIMARY KEYdnameV ARCHAR(20) NOT NULL,UNIQUE(1)增加数据INSERT INTO dept V ALUES('D1','计科系');----正常插入INSERT INTO dept V ALUES('D2','电信系');----正常插入INSERT INTO dept V ALUES(NULL,'机械系'); ----违反dno 主键(NOT NULL )规则INSERT INTO dept V ALUES('D2','机械系'); ----违反dno 主键(UNIQUE )INSERT INTO dept V ALUES('D3',NULL); ----违反dname 的NOT NULL 规则INSERT INTO dept V ALUES('D3','计科系'); ----违反dname 的UNIQUE 规则INSERT INTO dept V ALUES('D3','机械系');----正常插入(2)删除数据DELETE FROM dept WHERE dno='D3';----正常删除(3)修改数据UPDA TE dept SET dname='计算机科学系' WHERE dno='D1';----正常修改UPDA TE dept SET dname='电信系' WHERE dno='D1'; ----违反dname的UNIQUE规则UPDA TE dept SET dname=NULL WHERE dno='D1'; 违反dname的UNIQUE规则2.对student表进行数据增删改,并检查完整性规则Student已存在完整性规则如下:sno CHAR(2) PRIMARY KEYsname V ARCHAR(20) NOT NULL,ssex CHAR(2) NOT NULL, CHECK(ssex in('男','女'))sage INT NOT NULL,dno CHAR(2) NOT NULL, FOREIGN KEY REFERENCES dept(dno)ON DELETE CASCADE ON UPDATE CASCADE(1)增加数据INSERT INTO student V ALUES('S1','张刚','男',20,'D1');----正常插入INSERT INTO student V ALUES('S2','李梅','女',21,'D2');----正常插入INSERT INTO student V ALUES('S2','吴敏','男',20,'D1'); ----正常插入INSERT INTO student V ALUES(NULL,'吴敏','男',20,'D1'); ----违反sno 的主键(NOT NULL)规则INSERT INTO student V ALUES('S3','吴敏','男',NULL,'D1'); 违反sage 的主键(NOT NULL)规则INSERT INTO student V ALUES('S3','吴敏','M',20,'D1'); 违反ssex 的CHECK规则INSERT INTO student V ALUES('S3','吴敏','男',20,'D3'); ----正常插入INSERT INTO student V ALUES('S3','吴敏','男',20,'D1');----正常插入(2)删除数据DELETE FROM student WHERE sno='S3'; ----正常删除(3)修改数据UPDA TE student SET sname='赵强',dno='D2' WHERE sno='S1'-----正常修改UPDA TE student SET ssex='F' WHERE sno='S1'; -----违反ssex的CHECK 规则UPDA TE student SET sno='S2' WHERE sno='S1'; -----违反sno的主键(UNIQUE)规则UPDA TE student SET dno='D3' WHERE sno='S1'; 违反dno 的外键规则UPDA TE dept SET dno='D3' WHERE dno='D1';----检查dno的外键ON UPDATE规则,观察运行后效果DELETE FROM dept WHERE dno='D2';----检查dno的外键ON DELETE规则,观察运行后效果(二)使用规则实现数据完整性(1)在查询分析器中,利用命令(CREATE RULE),创建一个关于年龄(sage)约束的规则,将“sage”列的值约束在0~200之间;然后将所创建的规则绑定到“sage”列(提示:用命令Sp_bindrule)。
实验四数据库完整性与安全性一.实验目的:理解并掌握利用SQL Server 2000进行完整性和安全性控制的基本操作和命令。
并熟悉触发器的使用。
二.实验属性:设计性。
三.实验仪器设备及器材:装有SQL Server 2000的电脑。
四.实验要求1. 预习SQL Server 2000中触发器的概念和使用方法,以及利用create trigger语句定义触发器的方法。
2. 预习SQL Server 2000中安全性架构,以及创建安全性账户和数据库角色等的方法。
2. 实验前仔细阅读实验指导书,理解实验要求。
3. 实验中要求完成如下工作(其中涉及的表是实验一中建立的表):五.实验内容1.触发器的使用1.1创建一个insert触发器,当在Student表中插入一条新记录时,给出‘你已经插入了一条新记录!!!’的提示信息。
1.2 创建一个insert触发器,当在SC表中插入一条新记录时,Sno和Cno必须是student和Course中存在的学号和课程号,且Grade应该在0----100之间。
1.3 创建一个after触发器,在Student表中删除某学生的记录时,删除其相应的选课记录。
1.4 创建一个instead of 触发器,当在Course表中删除记录时,不允许删除Course 表中的数据。
2. 数据库安全性2.1 在企业管理器中创建数据库用户U1、U2、U3和数据库角色R1、R2、R3,并对其操作权限进行设置。
2.2 使用SQL语言对数据库用户和角色的权限的授予。
(1)把查询Student表的权限授给用户U1:(2)把对Student表和Course表的全部操作权限授予用户U2和U3(3)把对Student表的Insert操作权限授予用户U2,并允许将此权限再授予其它用户。
2.3 使用SQL语言进行数据库对用户和角色权限的收回。
2.3.1把用户U2对Student表的Insert的权限收回。
2.3.2 收回所有用户对表student的查询权限2.3.3 通过角色来实现将一组权限授予一个用户。
实验五数据库完整性与安全性实验1、实验目的1.通过对完整性规则的定义实现,熟悉了解kingbase中完整性保证的规则和实现方法,加深对数据完整性的理解。
2.通过对安全性相关内容的定义,熟悉了解kingbase中安全性的内容和实现方法,加深对数据库安全性的理解2、实验环境操作系统:Microsoft Windows 7旗舰版(32位)。
数据库版本:MySQL 6.23、实验内容3.1完整性实验:(1)分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束;在create table 时已经定义了各个基表的主键。
因此,首先对每个基表删除主键,再添加主键。
实现实体完整性约束。
如下图。
删除主键:添加主键:sc表中的cno和sno分别是course表和student表的外关键字。
下图为给sc表添加student和course的外键,实现参照完整性约束。
alter table sc add constraint fk_student foreign key(sno) references student(sno);alter table sc add constraint fk_course foreign key(cno) references course(cno);主键和外键均添加成功,输入show create table 命令来查看各基表信息。
(2)分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,验证其实体完整性约束;向课程表中插入课程号为C01的课程。
向学生表中插入学号为30201的学生。
由上面两个实验来看,分别对student和course表插入具有相同学号和相同课程号的学生信息和课程信息,都显示sql语句错误信息为:Duplicate entry *** for key ‘PRIMARY’。
验证了实体完整性约束。
(3)向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束;插入成绩信息是学号为31428(student中存在),课程号为C07(course中不存在)的学生成绩信息。
北京邮电大学实验报告课程名称数据库系统概念实验名称数据库完整性与安全性实验__系___班姓名__系___班姓名教师______ 成绩_________2011年5月2日目录一、实验目的 (4)二、实验内容 (4)三、实验环境 (7)四、实验要求 (7)五、实验步骤及结果分析 (7)(一)完整性实验 (7)一、建表阶段 (7)二、主键/候选键约束验证 (10)三、外键约束验证 (12)四、check/触发器约束验证 (18)(二)安全性实验........................................ 错误!未定义书签。
六、实验总结 ................................................ 错误!未定义书签。
一、实验目的1.通过对完整性规则的定义实现,熟悉了解Sybase数据库中实体完整性、参照完整性、断言等完整性保证的规则和实现方法,加深对数据完整性的理解。
2.通过对安全性相关内容的定义,熟悉了解Sybase数据库中安全性的内容和实现方法,加深对数据库安全性的理解。
二、实验内容(一)、完整性实验与要求:一、建表阶段1.利用SQL语句,分别定义数据库中各基本表的主键、候选键、外键,实现实体完整性约束和参照完整性约束。
2.在数据库中选取两张或三张具有外键关联的表,利用语句foreign key-references创建外键,实现参照完整性约束。
3.根据实际背景,对某些表中的某些特定属性,定义空值、非空约束。
4.建表时,使用check谓词,通过断言,添加如下一些约束:(1)1个MSC最多管理10个BSC。
(2)1个BSC最多管理50个小区/扇区。
(3)1个BTS可以连接至1-3个BSC。
(4)1个MS可以位于1到6个BTS的覆盖范围内。
(5)小区/扇区所使用的频点号在[1,124]之间。
二、主键/候选键约束验证1. 选取定义了主键的关系表,向该表插入在主属性上取值为空的元组,观察系统反应;选取表中某些或某个元组,修改这些元组在主属性上的取值,或插入新元组,使这些元组与表中已有其它元组的主属性取值相同,观察系统反应;2. 选取定义了候选键的关系表,向该表插入在候选键属性上取值为空的元组,观察系统反应;选取表中某些或某个元组,修改这些元组在候选键属性上的取值,或插入新元组,使这些元组与表中已有其它元组的候选键属性取值相同,观察系统反应;三、外键约束验证参照教科书和讲义上关于4.2.5节内容,完成下述实验。
程
及
(2)删除student表的关于sage 20到50的约束,调试过程如下图:
实
验
结
果
(3)用户王明对Student表和Course表有SELECT权力,在创建用户时遇到了点问题,最后在老师的指导下解决了,调试过程如下图:
(4)用户李勇对Student表和Course表有INSERT和DELETE权力,调试过程如下图:
(5)用户刘星对Student表有SELECT权力,对Student表的sage字段有更新权力,调试过程如下图:
(6)用户张新具有创建表的权力,调试过程如下图:
(7)用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力,在赋予周平给其他用户授权的权利时“ALL PRIVILEGES只授予用户 SQL Server 2000 中可授予的权限,而SQL Server 2005却不被授予,最后改用CONTROL实现了该命令,调试过程如下图:
(8)回收李勇、张新的权限,调试过程如下图:。
北邮数据库实验五数据库完整性与安全性实验以下是为您起草的一份关于“北邮数据库实验五数据库完整性与安全性实验”的协议:合同主体11 甲方:____________________________12 乙方:____________________________合同标的21 本次合同的标的为北邮数据库实验五数据库完整性与安全性实验的相关合作事宜。
22 具体包括但不限于:数据库完整性的测试与保障、数据库安全性的设置与评估等实验内容。
双方权利义务31 甲方权利义务311 甲方有权要求乙方按照合同约定的时间和质量标准完成实验任务。
312 甲方有义务为乙方提供必要的实验资源和技术支持。
313 甲方应及时对乙方提交的实验成果进行验收和反馈。
32 乙方权利义务321 乙方有权获取甲方提供的实验资源和技术支持。
322 乙方有义务按照合同约定的要求和时间进度,认真完成数据库完整性与安全性实验的各项任务。
323 乙方应保证实验过程的合法性、安全性,不得泄露相关数据和信息。
324 乙方需按照甲方的要求提交实验报告和相关成果。
违约责任41 若甲方未按照合同约定提供实验资源和技术支持,导致实验无法正常进行,应承担相应的责任,包括但不限于延长实验期限、补偿乙方因此造成的损失。
42 若乙方未按时完成实验任务,应承担违约责任,根据逾期的时间长短,按照一定比例扣除合同款项,并采取措施尽快完成实验。
43 若乙方在实验过程中违反合法性、安全性要求,泄露相关数据和信息,应承担法律责任,并赔偿甲方因此遭受的全部损失。
44 若双方在实验成果的验收标准上存在争议,且经协商无法达成一致,应按照行业通用标准或由双方共同指定的第三方机构进行评估和判定,责任方应承担相应的评估费用和可能的损失。
争议解决方式51 本合同在履行过程中如发生争议,双方应首先友好协商解决。
52 若协商不成,任何一方均可向有管辖权的人民法院提起诉讼。
本合同自双方签字(或盖章)之日起生效,一式两份,双方各执一份,具有同等法律效力。
实验3 数据库安全性与完整性控制实验1.实验目的练习安全性授权方法、安全性和完整性查看的操作方法。
2.实验内容【实验3-1】使用create user创建用户,创建单个用户teacher,创建两个用户teacher1和student。
【实验3-2】通过直接操作MySQL用户表创建用户,创建单个用户teacher2,创建两个用户teacher3和student2(请注意,新版的MySQL可能不支持使用此方法创建新用户)。
【实验3-3】新建一个terminal窗口,使用mysql –u –h -p方式登录teacher。
【实验3-4】再次新建一个terminal窗口,使用mysql –u –h -p方式登录student。
【实验3-5】使用GRANT语句对用户student赋予所有数据库所有表的insert权限和update权限。
【实验3-6】使用GRANT语句对用户student赋予school数据库所有表的select权限。
【实验3-7】使用GRANT语句对用户student赋予school数据库stuinfo 表的create访问权限。
【实验3-8】使用GRANT语句对用户student赋予school数据库stuinfo 表的stuno列上的select访问权限。
【实验3-9】使用GRANT语句对用户student赋予s所有数据库所有表的select访问权限,并设定student每小时最多可使用select操作访问数据库的次数。
【实验3-10】查看表INFORMATION_ER_PRIVILEGES中有关student的信息,查看user表中的内容信息。
【实验3-11】查看表INFORMATION_SCHEMA.SCHEMA_PRIVILEGES,找到student在school数据库下拥有的权限。
【实验3-12】查看表INFORMATION_SCHEMA.TABLE_PRIVILEGES,查找school数据库中stuinfo数据表相关的表权限。
实验内容及结果:授权创建用户”S学号u1”,S学号u2,S学号u3,S学号U4,并为其赋予connect角色。
其中,学号是指你的学号,比如你的学号为20130001,则你创建的用户应该是S2*******u1,S2*******u2,S2*******u3,S2*******u4create user s2016214220u1 identified by nefu1234;create user s2016214220u2 identified by nefu1234;create user s2016214220u3 identified by nefu1234;create user s2016214220u4 identified by nefu1234;假设你的用户名是S2*******(做实验时请根据你的账号修改),把你在数据库中创建的Student表的查询权限授给用户”S学号u1”,”S学号u1”执行相应的查询。
grant selecton s2016214220.studentto s2016214220u1(1)查询S2*******用户的Student表中全体学生的详细记录select * from student(2)查询S2*******用户Student表中所有姓刘的学生的姓名、学号和性别。
select sno,sname,ssex from s2016214220.student where sname like '刘%';(3)查询S2*******用户Student表中名字中第二字为“阳”字的学生的姓名和学号。
select sname,sno from s2016214220. studentwhere sname like '_阳%';把S2*******用户的Student表和Course表的全部权限授予用户”S学号u2”,”S学号u3”;然后让”S学号u2”用户修改S2*******的数据。
实验4数据库的安全性、完整性(一)引言:数据库的安全性和完整性是数据库管理系统中非常重要的两个方面。
安全性指的是确保数据库的数据不会被非授权的人员访问和篡改,而完整性则指的是数据库中的数据应该保持一致性和准确性。
本文将从数据库的访问控制、身份验证、加密、备份与恢复以及错误处理等五个方面详细介绍数据库的安全性和完整性。
正文:1. 数据库的访问控制- 实施用户和角色管理,限制不同用户对数据库资源的访问权限- 设置访问控制策略,对数据库中的敏感数据进行权限限制- 防止恶意用户通过攻击手段绕过访问控制机制2. 身份验证- 强制用户使用强密码,并定期更换密码以提高安全性- 使用双因素身份验证,如组合使用密码和指纹- 实施账号锁定机制,限制用户连续登录失败的次数3. 数据库的加密- 对敏感数据进行加密,并存储加密后的数据,以防止数据泄露- 使用传输层安全协议(TLS/SSL)来加密数据库与应用程序之间的通信- 使用列级加密技术来进一步保护数据库中的敏感数据4. 数据库的备份与恢复- 定期备份数据库,以防止数据丢失- 将备份数据存储在安全的地方,防止被未经授权的人员访问- 定期测试备份数据的恢复能力,确保备份数据的完整性和可用性5. 数据库的错误处理- 实施日志记录机制,记录数据库操作的详细信息,以便追踪和审计- 对异常情况进行及时响应和处理,防止安全漏洞的扩大- 与安全专家进行合作,定期进行安全漏洞扫描和修复工作总结:数据库的安全性和完整性是保障数据库管理系统正常运行和数据安全的重要方面。
通过实施访问控制、身份验证、加密、备份与恢复以及错误处理等措施,可以有效地保护数据库的安全性和完整性,防止非授权的访问和数据篡改,保障数据的一致性和准确性。
因此,合理的数据库安全措施是保障数据库运行的重要保证。
数据库安全性及完整性实验报告
一、实验简介
一般来说,数据库的安全性及完整性是指数据库实际上实施的安全性、有效性、正确性和可靠性的控制。
当下的关注点是能够确保数据的有效性、正确性与可靠性,以及确保数据的安全性与完整性。
除此之外,还必须尽
量减少数据被篡改及窃取的可能性,使得数据向客户端分发及共享时不会
受到攻击。
本文旨在测试数据库的安全性及完整性,以及评估对于数据库
的安全性及完整性的影响。
二、实验目的
实验的目的是测试数据库的安全性及完整性,以及评估对于数据库的
安全性及完整性的影响。
三、实验内容
1、建立测试环境
为了测试数据库的安全性及完整性,首先我们需要建立一个测试环境,该测试环境包括:安装和配置数据库服务器,建立数据库,建立表、字段,插入一些测试数据,建立客户端访问数据库的程序。
2、测试数据库的安全性
在测试阶段,我们需要测试数据库的安全性,这个测试有两个方面:(1)授权:测试用户是否可以正确访问指定的数据库和表,而不受
限制。
(2)身份认证:测试数据库服务器的安全性,检查服务器是否能够正确实施身份认证,保证只有授权用户可以访问数据库。
3、测试数据库的完整性。
数据库原理及应用实验报告实验四数据控制(安全性和完整性)实验报告实验类型__综合设计__实验室_软件实验室一__数据控制(安全性和完整性)1.实验项目的目的和任务:理解SQL Server的用户与权限管理机制,通过企业管理器创建用户,并给定的用户分配权限,并掌握数据库完整性概念,实现实体、参照和自定义约束。
2.程序代码(部分)sp_addlogin 'pei' ,'147' //服务器级别的建立登录名sp_droplogin 'pei' //.删除sp_grantdbaccess 'pei', 'pp' //数据库级别的安全性sp_addrole 'peipp' //SQL Server服务器角色sp_addrolemember 'peipp','pp'grant select on dbo.spt_values to pp with grant option//数据库对象级别的安全性用户权限继承角色的权限grant create table to pprevoke select on dbo.spt_values to pp cascadesp_revokedbaccess 'pp' //删除3运行结果如图所示4实验总结通过具体的上机实践操作,理解SQL Server的用户与权限管理机制。
(1)数据库的安全性是指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。
(2)用户标识和鉴定、用户存取权限控制、定义视图、数据加密和审计等安全措施。
(3)第一层安全性是服务器级别的安全性,这一级别的安全性建立在控制服务器登录账号和密码的基础上,即必须具有正确的登录账号和密码才能连接到SQL SERVER服务器。
第二层安全性是数据库级别的安全性,用户提供正确的服务器登录账号和密码通过第一层的sql server服务器的安全性检查之后,将接受第二层的安全性检查,即是否具有访问某个数据库的权利。
实验9:数据库安全性实验一、实验目的加深对数据库安全性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法。
二、实验内容1. 数据库的安全性实验。
在SQL Server企业管理器中,设置SQL Server 的安全认证模式,实现对SQL Server的用户和角色的管理,设置和管理数据操作权限。
三、实验原理和步骤1. 设置SQL Server的安全认证模式,选择混合模式。
右键服务器属性-安全性:选择SQL Server和Windows身份验证模式。
9<iL 34ETCI lun-kGEBEnit Studi*rff® min itsii^ 工A⑴音口⑧ tta(£j 怖血JJ(祖软p G出锻笑山*』-石FtYOlLBll.切谢凹L fisruhr & 0 1^1 - i 卜丄裁肚± _j■ J SEti facias xi. Sarri C«E F A SSL E EI" G重启服务,生效V IGjtSJIfl- - FC-2H3 DOI IDE4E#■ [口鼻fEETC^SOI L0]ia]«5&JSfl re-Sffl 1.01OibM^G拥恃Hilll比広)® 饥 /E 和T IP3E馬员若[£出戒題O*'1:|o些歐阳悄加奉團JG^Br^NP□ tlfW霍砂曲•口曲□ 6fl住硕画旧J d E膏注?ffJBIW2. 账号:sa 账号登录 3. 登录帐号的管理1) 将 Windows 帐号添加到 SQL Server 2005中 创建操作系统用户 - 4. 数据库用户的管理1) dbo 用户;查看 banking 数据库的 dbo 用户,查看用户权限。
2) U1 用户;创建banking 数据库的U1用户,查看用户权限。
5. 权限管理U1用户对banking 数据库表customer 的select权限,验证并写出 sql 语句5) 两种方法赋予所创建的 U1用户对banking 数据库表branch 的select 和对branch_name 修改的权限,验证并写出sql 语句6) 把对loan 表的update 权限授予所创建的U1用户用户,并允许将此 权限再授予其他用户,验证并写出 sql 语句7) 两种方法回收所创建的U1用户对banking 数据库表customer 的select权限,验证并写出 sql 语句8) 两种方法回收所有用户对 banking 数据库表loan 的update 权限,验 证并写出 sql 语句四、实验报告要求要求写出如下设计报告:1. 用Transact-SQL 写出实验操作的语句2. 实验步骤和实验结果。
一、 实验目的与要求目的:使学生加深对数据安全性与完整性实验的理解,并掌握 SQL Server 中有关用户,角色及操作权限的管理方法,熟悉通过 SQL 语句副i 数据进行完整性控制。
要求:1. 数据库的安全性实验,在 SQL Server 企业管理器中设置 SQL server 的安全认证模式,实现 对SQL server 的用户和角色管理,设置和管理数据操作权限。
2. 指出用户和角色的区别二、 实验内容1. 设置SQL server 的安全认证模式(windows 或SQL server 和 Windows ( s )认证模式)、。
2. 登陆的管理 创建一个登录用户3. 数据库用户的管理登录用户只有成为数据库(Database User )后才能访问数据库。
每个数据库的用户信息都存放在 系统表Sysusers 中,通过查看 Sysusers 表可以看到该数据库所有用户的情况。
SQLServer 的数据库中都有两个默认用户: dbo (数据库拥有者用户)和(dba )。
通过系统存储过程或企业管理器可以创建新的数据库用户。
4. 角色的管理创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。
5. 在学生表中定义主键、外键约束6. 在课程表的“课程名”字段上定义唯一约束7. 在选课表的“成绩”字段上定义 check 约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符8. 定义规则,并绑定到学生表的“性另『字段,使之只能取“男、女”值9. 在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日 期。
数据库原理及应用实验报告题 目: 数据库安全性与完整性实验 专 业:网络工程班 级:学号:姓名:太原工业学院计算机工程系 2016年 10月15日2..登陆的管理创建一个登录用户sp_addlogin,BBBlogin,,' *, ' BBB*exec sp_addsrvrolemember J BBBlogin* , * sysadmin5三、解决方案和实验结果1.创建一个SQL Server身份验证的登录(命名方式:数据库名称+Login ),默认数据库是新创建的数据库,并为该登录指定sysadmin服务器角色已创堡新登录*〒rn BBBlogin R已瘁加至Q帚色f sysa(iniin n中 *舉据库用户匡性—EBBUser他登录即用户名0J)数据库角色成员Q):BB BloginBBBUser权限的…确走|3•在已有数据库中创建一个数据库用户(命名方式:数据库名称+ User),与上面的登录关联exec sp_grantdbaccess 'BBBlogin' ,' EBBUser^< I 已向'BBBlogiiV授予数IB库访同稅*4•角色的管理创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。
实验五数据库完整性与安全性实验实验内容完整性实验与要求:1分别定义数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束;该操作在实验2中已完成2向学生表插入具有相同学号的数据,验证其实体完整性约束;insertinto student values('g9940201','wangyu','1','9/1/1998','g99401','1999-9-1','背景');3向学生表中插入一条数据,班级号是学生表的外键,验证参照完整性约束;insertinto student values('g9940305','wangyu','1','9/1/1998','g99408','1999-9-1','背景');4删除教师表中的所有数据,验证参照完整性约束;deletefrom teacher5创建一个规则,将其绑定到Student表的Sex列上,保证输入的性别值是0或1Createrule value_sex1as@value in('0','1')GoExec sp_bindrule'value_sex1','student.sex'Go6为Student表增加一列,命名为dept,创建一个默认对象,将其绑定到Student表的dept列上,使其默认值为电子院。
Createdefault系默认as'电子院'GoExec sp_bindefault'系默认1','student.dept'Go安全性实验内容与要求:1定义一新的登录帐号、数据库用户,并授予其访问学生选课数据库的读权限;create login aaawith password='123',default_database=shiyancreate user wangyufor login aaawith default_schema=dbo2分别采用Windows NT/2000验证方式和Windows NT/2000及混合验证方式用不同的用户进行登录连接;3分别用sa用户和新定义的用户访问学生数据库,并对其中的学生表数据进行修改;insertinto student(student_id,entrance_date)values('g9940215','1999-9-1');4创建数据库角色,并授予访问数据库的读、写权限;sp_addrole'db_read_write1'gograntselecton student to db_read_write1gogrant update on student to db_read_write1gograntinserton student to db_read_write15将角色赋予(1)中定义的用户,建立用户和角色联系;exec sp_addrolemember'db_read_write','wangyu'6再次用此用户访问学生数据库,并对其中的学生表数据进行修改。
实验报告课程名称:数据库系统概论学院:工程学院专业:年级:班级:姓名:学号:指导教师:年月日教务处制实验名称:数据库安全性及完整性时间:2015-12-17地点:三教205机房班组:教师评语成绩教师签名实验报告1 实验目的1. 熟悉通过SQL对数据进行安全性控制。
2 实验工具KingbaseESKingbaseES及其交互式查询工具ISQLW。
3 实验内容和要求1.使用SQL对数据进行安全性控制,包括:授权和权力回收。
操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力)。
根据操作过程认真填写实验报告,记录所有的实验用例。
2.首先在数据库中建立用户U1,U2,U3,U4,U5,U6,U7,选择全部为CONNECT角色,具体操作见课本141页;进行例 4.1-4.13各操作。
3.在SYSTEM用户与7个CONNECT用户之间进行授权(例题1-12)。
注意在完成授权或权利回收之后,以相应的用户登录数据库,检查是否获得相应的权利。
4 实验方法及步骤例4.1 把查询student表的权限授给用户u1。
以system的身份进入查询分析器,建立用户U1,U2,U3,U4,U5,U6,U7,密码均为tclcreate user U1 with password'tcl';create user U2 with password'tcl';create user U3 with password'tcl';create user U4 with password'tcl';create user U5 with password'tcl';create user U6 with password'tcl';create user U7 with password'tcl';以system的身份进入企业管理器,查看用户以U1的身份进入查询分析器,进行任意查询。
数据库原理及应用
实验报告
题目:数据库安全性与完整性实验
专业:网络工程
班级:
学号:
姓名:
太原工业学院计算机工程系
2016年10 月15日一、实验目的与要求
目的:
使学生加深对数据安全性与完整性实验的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法,熟悉通过SQL语句副i数据进行完整性控制。
要求:
1.数据库的安全性实验,在SQL Server企业管理器中设置SQL server的安全认证模式,实现对SQL server的用户和角色管理,设置和管理数据操作权限。
2.指出用户和角色的区别
二、实验内容
1.设置SQL server的安全认证模式(windows或SQL server和Windows(s)认证模式)、。
2.登陆的管理
创建一个登录用户
3.数据库用户的管理
登录用户只有成为数据库(Database User)后才能访问数据库。
每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。
SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。
通过系统存储过程或企业管理器可以创建新的数据库用户。
4.角色的管理
创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。
5.在学生表中定义主键、外键约束
6.在课程表的“课程名”字段上定义唯一约束
7.在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.
“课程号”字段只能输入数字字符
8.定义规则,并绑定到学生表的“性别”字段,使之只能取“男、女”值
9.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。
三、解决方案和实验结果
1.创建一个SQL Server身份验证的登录(命名方式:数据库名称+Login),默认数据库是新创建的数据库,并为该登录指定sysadmin服务器角色
2..登陆的管理创建一个登录用户
3.在已有数据库中创建一个数据库用户(命名方式:数据库名称 + User),与上面的登录关联
4.角色的管理
创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。
在已有数据库中创建一个自定义数据库角色(命名方式:数据库名称 + Role),并把上面用户指定为该角色成员
5.在学生表中定义主键、外键约束
6.在课程表的“课程名”字段上定义唯一约束
7.在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.
“课程号”字段只能输入数字字符
8.定义规则,并绑定到学生表的“性别”字段,使之只能取“男、女”值
CREATE RULE sex_rule AS @ssex IN ('男','女')
sp_bindrule sex_rule,'student.ssex'
9.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。
五、出现的问题及解决的方法
创建的用户成为该角色的成员,并授予一定的操作权限时,无法找到到哪儿去进行权限设置,最后通过百度搜索找到如何设置角色的权限。