实验四 数据库安全性与完整性控制

合集下载

实验四 数据库安全性与完整性控制

实验四 数据库安全性与完整性控制

实验题目:数据库安全性与完整性控制目录一、实验目的 (1)二、实验内容 (1)三、实验要点及说明 (1)四、实现方法 (1)五、实验结果 (2)六、源程序清单 (4)七、思考及总结 (5)一、实验目的通过本次实验,提高以下几个方面的能力1. 创建新用户2. 通过GRANT语句对新用户进行授权3. 通过REVOKE语句完成权限的回收4. 实体完整性的实现5. 参照完整性实现二、实验内容1.完成教材中实例1-82.完成教材中相应于完整性的实例。

三、实验要点及说明1.一定要熟练掌握GRANT语句与REVOKE语句的使用2.一定要熟练掌握实体完整性与参照完整性控制3.要读懂出错的提示信息四、实现方法未将创建的用户删除,有创建同一个用户。

删除localhost方法五、实验结果创建用户成功登陆用户zhangsan 登陆用户zhangsan2 登陆用户lisi用户zhangsan和zhangsan2信息显示用户lisi信息显示分别给用户zhangsan和zhangsan2授权授权之后查看zhangsan中信息修改zhangsan2中数据六、源程序清单Create user 'zhangsan'@'%' identified by '1'; /*创建用户张三,密码为1*/ Create user 'zhangsan2'@'%' identified by password'*E6CC90B878B948C35E92B003C792C46C58C4AF40'; /*创建用户张三,密文定义密码为1*/Grant all on *.* to 'lisi'@'localhost' identified by '2';/*创建用户李四*/ mysql -u zhangsan -p /*登录用户张三*/show schemas; /*显示信息*/grant select<col1> on ch4.t to zhangsan;/*给用户张三授权*/ update ch4.t set col1=1;/*修改张三2中的信息*/七、思考及总结重复创建用户,对代码掌握不熟悉,混淆记忆。

数据库实验4 索引、数据完整性与安全性

数据库实验4 索引、数据完整性与安全性

实验四索引、数据完整性与安全性一、实验目的(1) 掌握利用SQL Server Management Studio和SQL语言建立、删除索引的方法;(2) 掌握利用SQL Server Management Studio和SQL语言实现数据完整性的方法;(3) 掌握在SQL Server Management Studio中实现数据安全性管理的方法。

二、实验原理1.索引在关系型数据库中,索引是一种可以加快数据检索的数据库结构。

SQL Server系统中主要有两种类型的索引,即聚集索引、非聚集索引。

(1)聚集索引聚集索引定义了数据在表中存储的物理顺序。

一个表只能定义一个聚集索引。

(2)非聚集索引非聚集索引并不存储表数据本身。

相反,非聚集索引只存储指向表数据的指针,该指针作为索引键的一部分,因此,在一个表中同时可以存在多个非聚集索引。

(3)利用SQL命令建立索引简化语法格式:CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]INDEX index_name ON {table|view}(column|ASC|DESC][,…n])其中:UNIQUE。

可选。

该选项用于通知SQL Server索引中列出的列的值是每行唯一的。

如果试图插入重复的行,则该选项会强制SQL Server返回一个错误信息。

CLUSTERED或NONCLUSTERED。

可选。

如果这两个选项都没有被明确列出,则默认将索引创建为NONCLUSTERED(非聚集索引)。

(4)通过SQL命令删除索引语法格式:DROP INDEX ‘table.index|view.index’[,…n]2.表主键和UNIQUE约束表主键通过表数据中一个列或者多个列组合的数据来唯一标识表中的每一行数据。

即表主键就是用来约束数据表中不能存在相同的两行数据。

在SQL Server系统中,定义表的主键可以在创建表的同时定义,也可以给已有的表添加主键。

数据完整性控制实训报告

数据完整性控制实训报告

一、实训目的数据完整性是指数据在存储、处理、传输等过程中保持其准确性和一致性的能力。

数据完整性控制是保证数据质量的重要手段,对于维护企业信息系统稳定运行、保障企业数据安全具有重要意义。

本次实训旨在通过实际操作,让学生掌握数据完整性控制的方法和技巧,提高数据完整性控制能力。

二、实训环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:Visual Studio 20194. 实训数据库:自建数据库三、实训原理数据完整性控制主要包括以下三个方面:1. 实体完整性:保证每个数据记录在数据库中是唯一的,即每个数据记录的主键值不能重复。

2. 字段完整性:保证数据记录中各个字段的值符合数据类型、长度、精度等要求。

3. 引用完整性:保证数据记录之间引用关系的正确性,即外键约束。

四、实训过程1. 创建数据库首先,在MySQL中创建一个实训数据库,用于存储实训数据。

```sqlCREATE DATABASE data_integrity;```2. 创建表在实训数据库中创建一个学生信息表,包括学号、姓名、性别、年龄、班级等字段。

```sqlCREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(20) NOT NULL,gender ENUM('男', '女') NOT NULL,age INT NOT NULL,class VARCHAR(20) NOT NULL);```3. 添加实体完整性约束为学号字段添加唯一性约束,保证每个学生记录的学号是唯一的。

```sqlALTER TABLE students ADD UNIQUE (id);```4. 添加字段完整性约束为年龄字段添加检查约束,确保年龄在1到100之间。

```sqlALTER TABLE students ADD CONSTRAINT chk_age CHECK (age BETWEEN 1 AND 100);```5. 添加引用完整性约束为班级字段添加外键约束,引用班级表的主键。

数据库完整性与安全性实验

数据库完整性与安全性实验

1.实验五数据库完整性与安全性实验1.1 实验目的1.通过对完整性规则的定义实现,熟悉了解Mysql中完整性保证的规则和实现方法,加深对数据完整性的理解。

2.通过对安全性相关内容的定义,熟悉了解Mysql中安全性的内容和实现方法,加深对数据库安全性的理解1.2 实验内容1.2.1 完整性实验(1)分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束;(2)分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,验证其实体完整性约束;(3)向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束;(4)删除学生表中的所有数据,验证参照完整性约束;(5)定义存储过程,完成查询某个学生的选课情况,并执行。

(6)定义触发器,当向学生表插入新的一条记录时,将所有学生出生日期加1;并对其进行测试。

(7)用sql完成以上操作。

1.2.2 安全性实验(1)定义一新的登陆帐号、数据库用户,并授予其访问学生数据库的读权限;(2)分别用sa用户和新定义的用户访问学生数据库,并对其中的学生表数据进行修改;(3)再次用此用户访问学生数据库,并对其中的学生表数据进行修改。

(4)用SQL语句分别完成以上内容。

1.3 实验环境Window8操作系统Mysql 8.0版本数据库Mysql workbench 8.0可视化工具Mysql命令行编辑器1.4 实验步骤及结果分析1.4.1 完整性1.4.1.1 分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束1.首先因为在之前创建表的时候定义了主键,因此,我们需要先将所有表的主键撤销掉,然后重新创建主键。

Mysql语句(删除主键):alter table student drop primary key;alter table course drop primary key;alter table sc drop primary key;2.重新创建主键Mysql语句(创建主键):alter table student add primary key(sno);alter table course add primary key(cno);alter table sc add primary key(sno,cno);3.到此,我们已经重新添加了各表的主键,接下来我们为SC表添加外键。

实验4 安全性和完整性实验

实验4 安全性和完整性实验

实验4 安全性和完整性实验一、实验目的1.了解SQL SERVER数据库管理系统使用安全账户认证的方法,掌握SQL SERVER数据访问控制策略和技术;2.使用数据库用户和角色等限制用户对数据库的访问,并为不同的用户及角色进行权限分配和回收;3.掌握数据完整性的基础知识;4.学会使用约束来实施数据完整性。

二、实验内容利用之前实验中建立的STUDENT数据库及基本表S(学生表)、C(课程表)、SC(选课表),完成以下内容。

1、在企业管理器中,了解SQL SERVER数据库管理系统使用安全账户认证的方法,可以通过在企业管理器中设置安全模式,自行练习;2、创建登录(1)利用企业管理器创建登录创建4个登录U1、U2、U3、U4,创建U1和U2时均选中数据库访问为STUDENT,使他们成为STUDENT数据库的用户,创建U3和U4时不选中任何数据库;(2)使用T-SQL语句创建登录用户语法为:sp_addlogin 登录名[,登录密码[,默认数据库]] 注意:未指定默认数据库时,默认数据库是master;3、创建数据库用户(1)利用企业管理器创建数据库用户U3、U4(2)使用T-SQL语句创建数据库用户U3、U4语法为:sp_adduser 登录用户名4、创建数据库角色(1)使用企业管理器创建数据库角色 R1(2)使用T-SQL语句创建数据库角色R1语法为:sp_addrole 数据库角色名5、权限管理(1)利用企业管理器管理权限(2)使用T-SQL语句管理权限语法为:GRANT ALL|对象权限列表ON 表名|视图名|存储过程名TOPUBLIC|用户列表[WITH GRANT OPTION](3)完成下列练习●把对表S的INSERT权力授予用户U1和U2,并允许U1再将此权限授予其他用户;●用户U2对S,C,SC三个表有SELECT和INSERT权力;●用户U3对SC表有DELETE权力,对GRADE字段具有UPDATE权力;●把对用户U2授予的所有权力收回;●对用户U3增加SC表的SELECT权力。

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

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

信息工程学院实验报告课程名称:《数据库原理》实验项目名称:数据库的完整性和安全性一、实 验 目 的:(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)。

数据库的安全性、完整性

数据库的安全性、完整性

实验报告【实验名称】数据库的安全性、完整性姓名:学号:班级:日期:11月21日【实验目的】1. 掌握自主存取控制权限的定义和维护方法;2. 掌握实体完整性的定义和维护方法;3. 掌握参照完整性的定义和维护方法;4. 掌握用户自定义完整性的定义和维护方法。

【实验环境】SQL SERVER 2008【实验内容】1.义用户、角色,分配权限给用户、角色,回收权限,以相应的用户名登录数据库验证权限分配是否正确。

选择一个应用场景,使用自主存取控制机制设计权限分配。

可以采用两种方案。

方案一:采用sa超级用户登录数据库,完成所有权限分配工作,然后用相应用户名登陆数据库以验证权限分配正确性;方案二:采用sa用户登陆数据库创建三个部门经理用户,并分配相应的权限,然后分别用三个经理用户名登陆数据库,创建相应部门的USER, ROLE,并分配相应权限。

验证权限分配之前,请备份好数据库;针对不同用户所具有的权限,分别设计相应的SQL语句加以验证。

2.定义实体完整性,删除实体完整性。

能够写出两种方式定义实体完整性的SQL语句:创建表时定义实体完整性、创建表后定义实体完整性。

设计SQL语句验证完整性约束是否起作用。

3.定义参照完整性,定义参照完整性的违约处理,删除参照完整性。

写出两种方式定义参照完整性的SQL语句:创建表时定义参照完整性、创建表后定义参照完整性。

4.针对具体应用语义,选择NULL/NOT NULL、DEFAULT,UNIQUE、CHECK等,定义属性上的约束条件。

【实验过程】首先在Windows身份验证模式下以管理员身份右击“安全性”下的“用户”创建用户(不勾选任何选项),此时的用户没有任何的权限,无法访问数据库,更无法访问基本表。

可以直接使用代码为用户授权GRANT INSERTON TABLE SCTO U5WITH GRANT OPTION;有最后一句子句用户可以传播此权限右击“安全性”下的“角色”创建数据库角色(或使用CREATE ROLE <角色名>),此时的角色是一个没有权限的空集合。

数据库---实验四oracle的安全性和完整性控制

数据库---实验四oracle的安全性和完整性控制

数据库---实验四oracle的安全性和完整性控制实验内容:(⼀)授权1. 以dba⽤户的⾝份登陆oracle,创建⽤户u1+学号后四位,u2+学号后四位。

SQL> create user u1_3985 identified by "123";SQL> create user u2_3985 identified by "123";SQL> create user u3_3985 identified by "123";SQL> create user u4_3985 identified by "123";2. 对1.中创建的⽤户授予connect,resource的权限。

SQL> grant connect,resource to u1_3985,u2_3985;3. ⽤户jsj***把查询Student表权限授给⽤户u1+学号后四位,u1执⾏相应的查询。

SQL> grant select on student to u1_3985;SQL> con u1_3985/123@orcl;1)查询jsj***⽤户的全体学⽣的详细记录。

SQL> select * from j2014213985.student ;2)查询jsj***⽤户的所有姓刘的学⽣的姓名、学号和性别。

SQL> select sname,sno,ssex from j2014213985.student where sname like '刘%';3)查询jsj***⽤户的名字中第⼆字为“勇”字的学⽣的姓名和学号。

SQL> select sname,sno from j2014213985.student where sname like '_明';4. ⽤户jsj***把对Student表和Course表的全部权限授予⽤户u2+学号后四位,u3+学号后四位;u2+学号后四位⽤户修改jsj***的数据。

实 验 四 数据库完整性与安全性

实 验 四 数据库完整性与安全性

实验四数据库完整性与安全性一.实验目的:理解并掌握利用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 通过角色来实现将一组权限授予一个用户。

数据库完整性与安全性实验

数据库完整性与安全性实验

北京邮电大学实验报告课程名称数据库系统概念实验名称数据库完整性与安全性实验__系___班姓名__系___班姓名教师______ 成绩_________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节内容,完成下述实验。

实验4 数据库安全保护实验

实验4  数据库安全保护实验

实验4 数据库安全保护实验一、实验目的和要求(1)通过实验使学生加深对数据完整性的理解;(2)掌握使用SQL语句进行数据库权限授予和回收的方法;(3)掌握使用SQL语句进行视图建立;(4)掌握SQL Server中数据库备份和恢复的方法。

二、实验内容和步骤数据库的安全性是指保护数据库,以防止不合法的使用所造成的数据泄露、更改或破坏。

系统安全保护措施是否有效是数据库系统的主要指标之一。

数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性,是紧密联系、相互支持的。

对于数据库管理来说,保护数据不受内部和外部侵害是一项重要的工作。

SQL Server 正日益广泛地应用于各种场合,作为SQL Server的数据库系统管理员,需要深入理解SQL Server的安全性控制策略,以实现安全管理的目标。

SQL Server包含各种精确的可配置的安全功能。

使用这些功能,管理员可实施针对其所处环境的特定安全风险优化的深度防御。

SQL Server 2008具有了最新的安全技术,以保证数据的安全。

微软公司利用自己Windows操作系统产品的安全性设置,将SQL Server的安全性建构在其上,并且增加了专门的数据安全管理等级。

这些机制保证了数据库的访问层次与数据安全。

SQL Server安全策略是通过系统的身份验证实现的。

身份验证是指当用户访问系统时,系统对该用户的账号和口令的确认过程。

身份验证的内容包括确认用户的账号是否有效、能否访问系统、能访问系统的哪些数据等。

身份验证模式是指系统确认用户的方式。

SQL Server系统是基于Windows操作系统的,这样SQL Server的安全系统可以通过两种方式实现:SQL Server和Windows结合使用以及只使用Windows。

Windows系统用户能否访问SQL Server系统,取决于SQL Server系统身份验证方式的设置。

Windows 身份验证模式只允许使用Windows身份验证方式。

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

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

实验报告
课程名称:数据库系统概论
学院:工程学院
专业:
年级:班级:
姓名:学号:
指导教师:
年月日
教务处制
以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所包含的全部权限。

实验4数据库的安全性、完整性(一)2024

实验4数据库的安全性、完整性(一)2024

实验4数据库的安全性、完整性(一)引言:数据库的安全性和完整性是数据库管理系统中非常重要的两个方面。

安全性指的是确保数据库的数据不会被非授权的人员访问和篡改,而完整性则指的是数据库中的数据应该保持一致性和准确性。

本文将从数据库的访问控制、身份验证、加密、备份与恢复以及错误处理等五个方面详细介绍数据库的安全性和完整性。

正文:1. 数据库的访问控制- 实施用户和角色管理,限制不同用户对数据库资源的访问权限- 设置访问控制策略,对数据库中的敏感数据进行权限限制- 防止恶意用户通过攻击手段绕过访问控制机制2. 身份验证- 强制用户使用强密码,并定期更换密码以提高安全性- 使用双因素身份验证,如组合使用密码和指纹- 实施账号锁定机制,限制用户连续登录失败的次数3. 数据库的加密- 对敏感数据进行加密,并存储加密后的数据,以防止数据泄露- 使用传输层安全协议(TLS/SSL)来加密数据库与应用程序之间的通信- 使用列级加密技术来进一步保护数据库中的敏感数据4. 数据库的备份与恢复- 定期备份数据库,以防止数据丢失- 将备份数据存储在安全的地方,防止被未经授权的人员访问- 定期测试备份数据的恢复能力,确保备份数据的完整性和可用性5. 数据库的错误处理- 实施日志记录机制,记录数据库操作的详细信息,以便追踪和审计- 对异常情况进行及时响应和处理,防止安全漏洞的扩大- 与安全专家进行合作,定期进行安全漏洞扫描和修复工作总结:数据库的安全性和完整性是保障数据库管理系统正常运行和数据安全的重要方面。

通过实施访问控制、身份验证、加密、备份与恢复以及错误处理等措施,可以有效地保护数据库的安全性和完整性,防止非授权的访问和数据篡改,保障数据的一致性和准确性。

因此,合理的数据库安全措施是保障数据库运行的重要保证。

实验四数据库 数据控制(安全性和完整性)

实验四数据库 数据控制(安全性和完整性)

数据库原理及应用实验报告实验四数据控制(安全性和完整性)实验报告实验类型__综合设计__实验室_软件实验室一__数据控制(安全性和完整性)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服务器的安全性检查之后,将接受第二层的安全性检查,即是否具有访问某个数据库的权利。

数据库完整性与安全性实验

数据库完整性与安全性实验

1.实验五数据库完整性与安全性实验1.1 实验目的1.通过对完整性规则的定义实现,熟悉了解Mysql中完整性保证的规则和实现方法,加深对数据完整性的理解。

2.通过对安全性相关内容的定义,熟悉了解Mysql中安全性的内容和实现方法,加深对数据库安全性的理解1.2 实验内容1.2.1 完整性实验(1)分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束;(2)分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,验证其实体完整性约束;(3)向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束;(4)删除学生表中的所有数据,验证参照完整性约束;(5)定义存储过程,完成查询某个学生的选课情况,并执行。

(6)定义触发器,当向学生表插入新的一条记录时,将所有学生出生日期加1;并对其进行测试。

(7)用sql完成以上操作。

1.2.2 安全性实验(1)定义一新的登陆帐号、数据库用户,并授予其访问学生数据库的读权限;(2)分别用sa用户和新定义的用户访问学生数据库,并对其中的学生表数据进行修改;(3)再次用此用户访问学生数据库,并对其中的学生表数据进行修改。

(4)用SQL语句分别完成以上内容。

1.3 实验环境Window8操作系统Mysql 8.0版本数据库Mysql workbench 8.0可视化工具Mysql命令行编辑器1.4 实验步骤及结果分析1.4.1 完整性1.4.1.1 分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束1.首先因为在之前创建表的时候定义了主键,因此,我们需要先将所有表的主键撤销掉,然后重新创建主键。

Mysql语句(删除主键):alter table student drop primary key;alter table course drop primary key;alter table sc drop primary key;2.重新创建主键Mysql语句(创建主键):alter table student add primary key(sno);alter table course add primary key(cno);alter table sc add primary key(sno,cno);3.到此,我们已经重新添加了各表的主键,接下来我们为SC表添加外键。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验题目:数据库安全性与完整性控制
目录
一、实验目的 (1)
二、实验内容 (1)
三、实验要点及说明 (1)
四、实现方法 (1)
五、实验结果 (2)
六、源程序清单 (4)
七、思考及总结 (5)
一、实验目的
通过本次实验,提高以下几个方面的能力
1. 创建新用户
2. 通过GRANT语句对新用户进行授权
3. 通过REVOKE语句完成权限的回收
4. 实体完整性的实现
5. 参照完整性实现
二、实验内容
1.完成教材中实例1-8
2.完成教材中相应于完整性的实例。

三、实验要点及说明
1.一定要熟练掌握GRANT语句与REVOKE语句的使用
2.一定要熟练掌握实体完整性与参照完整性控制
3.要读懂出错的提示信息
四、实现方法
未将创建的用户删除,有创建同一个用户。

删除localhost方法
五、实验结果
创建用户成功
登陆用户zhangsan 登陆用户zhangsan2 登陆用户lisi
用户zhangsan和zhangsan2信息显示用户lisi信息显示
分别给用户zhangsan和zhangsan2授权
授权之后查看zhangsan中信息
修改zhangsan2中数据
六、源程序清单
Create user 'zhangsan'@'%' identified by '1'; /*创建用户张三,密码为1*/ Create user 'zhangsan2'@'%' identified by password
'*E6CC90B878B948C35E92B003C792C46C58C4AF40'; /*创建用户张三,密文定义密码为1*/
Grant all on *.* to 'lisi'@'localhost' identified by '2';/*创建用户李四*/ mysql -u zhangsan -p /*登录用户张三*/
show schemas; /*显示信息*/
grant select<col1> on ch4.t to zhangsan;/*给用户张三授权*/ update ch4.t set col1=1;/*修改张三2中的信息*/
七、思考及总结
重复创建用户,对代码掌握不熟悉,混淆记忆。

相关文档
最新文档