data:数据库安全性与完整性实验讲解学习.docVIP

  • 25
  • 0
  • 约1.97千字
  • 约 4页
  • 2020-06-01 发布于浙江
  • 举报

data:数据库安全性与完整性实验讲解学习.doc

data:数据库安全性与完整性实验 精品文档 精品文档 收集于网络,如有侵权请联系管理员删除 收集于网络,如有侵权请联系管理员删除 精品文档 收集于网络,如有侵权请联系管理员删除 数据库原理及应用 实验报告 题 目:数据库安全性与完整性实验 专 业: 计算机科学与技术 班 级: 1420542 学 号: 30 姓 名: 王朔 太原工业学院计算机工程系 2016年11月20日 实验目的与要求 使学生加深对数据安全性和完整性的理解。并掌握 SQL Server中有关用户、角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 实验内容 数据库的安全性实验,在 SQL Server企业管理器中,设置 SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。 具体内容如下: 1. 设置SQL Server服务器身份验证模式(Windows或SQL Server和Windows(S) 认证模式)。 2. 登录的管理 创建一个SQL Serve登录用户 3. 数据库用户的管理 登录用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。 4. 角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。 5.在学生表中定义主键、外键约束。 6.在课程表的“课程名”字段上定义唯一约束。 7.在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100。“课程号”字段只能输入数字字符。 8.定义完整性约束命名子句,限制学生表的“性别”字段,使之只能取“男、女”值。 9.在学生表中增加出生日期字段,并定义完整性约束命名子句,使出生年月的默认值取当前日期。 解决方案 create role r1 grant select,update,insert on student to r1;4 create table student3 (sno char(9) primary key, sname char(20) not null, ssex char(2) constraint c1 check(ssex in (男,女)), sage smallint, sdept char(20) ); alter table student3 add birthday date default getdate(); create table course3 (cno int primary key , cname char(40)unique, cpno char(4), ccredit smallint, ); 7create table sc3 (sno char(9) , cno int , grade smallint check(grade=0 and grade=100), primary key(sno,cno), foreign key(sno)references student3(sno), foreign key(cno)references course3(cno) ); 实验结果 设置SQL Server服务器身份验证模式 2. 登录的管理 3. 数据库用户的管理 4. 角色的管理 在学生表中定义主键、外键约束。 6.在课程表的“课程名”字段上定义唯一约束。 在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100。“课程号”字段只能输入数字字符。 8.定义完整性约束命名子句,限制学生表的“性别”字段,使之只能取“男、女”值。 9.在学生表中增加出生日期字段,并定义完整性约束命名子句,使出生年月的默认值取当前日期。 五、出现的问题及解决的方法 出现的问题:在学生表中增加出生日期用到了getdate函数,需要百度函数用法; 执行语句过程中会发生错误,可能是语句冲突,要及时检查并改正。建表是要认真输入数据,以防出现错误。 解决方法:看书弄清知识点,寻求同学老师的帮助。 总之,一定要细心·耐心,遇到困难解决困难

文档评论(0)

1亿VIP精品文档

相关文档