1、数 据 库 原 理 及 应 用实 验 报 告题 目: 数据库安全性与完整性实验 专 业: 网络工程 班 级: 学 号: 姓 名: 太原工业学院计算机工程系2016 年 10 月 15 日一、实验目的与要求目的:使学生加深对数据安全性与完整性实验的理解,并掌握 SQL Server 中有关用户,角色及操作权限的管理方法,熟悉通过 SQL 语句副 i 数据进行完整性控制。要求:1.数据库的安全性实验,在 SQL Server 企业管理器中设置 SQL server 的安全认证模式,实现对 SQL server 的用户和角色管理,设置和管理数据操作权限。2.指出用户和角色的区别二、实验内容1.设置
2、SQL server 的安全认证模式(windows 或 SQL server 和 Windows(s)认证模式)、。2.登陆的管理创建一个登录用户3.数据库用户的管理登录用户只有成为数据库(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表 Sysusers 中,通过查看 Sysusers 表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。4.角色的管理创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。5.在学生表中定义主键
3、、外键约束6.在课程表的“课程名”字段上定义唯一约束7.在选课表的“成绩”字段上定义 check 约束,使之必须大于等于 0 且小于等于 100.“课程号”字段只能输入数字字符8.定义规则,并绑定到学生表的“性别”字段,使之只能取“男、女”值9.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。3、解决方案和实验结果1.创建一个 SQL Server 身份验证的登录(命名方式:数据库名称+Login),默认数据库是新创建的数据库,并为该登录指定 sysadmin 服务器角色2登陆的管理创建一个登录用户3.在已有数据库中创建一个数据库用户(命名方式:数据库名称
4、 + User),与上面的登录关联4.角色的管理创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。在已有数据库中创建一个自定义数据库角色(命名方式:数据库名称 + Role),并把上面用户指定为该角色成员5.在学生表中定义主键、外键约束6.在课程表的“课程名”字段上定义唯一约束7.在选课表的“成绩”字段上定义 check 约束,使之必须大于等于 0 且小于等于 100.“课程号”字段只能输入数字字符8.定义规则,并绑定到学生表的“性别”字段,使之只能取“男、女”值CREATE RULE sex_rule AS ssex IN (男,女)sp_bindrule sex_rule,student.ssex9.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。五、出现的问题及解决的方法创建的用户成为该角色的成员,并授予一定的操作权限时,无法找到到哪儿去进 行权限设置,最后通过百度搜索找到如何设置角色的权限