《data:数据库安全性与完整性实验(3页).doc》由会员分享,可在线阅读,更多相关《data:数据库安全性与完整性实验(3页).doc(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-data:数据库安全性与完整性实验-第 3 页数据库原理及应用实验报告题 目:数据库安全性与完整性实验 专 业: 计算机科学与技术 班 级: 1420542 学 号: 30 姓 名: 王朔 太原工业学院计算机工程系 2016年11月20日一、 实验目的与要求使学生加深对数据安全性和完整性的理解。并掌握 SQL Server中有关用户、角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。二、 实验内容 数据库的安全性实验,在 SQL Server企业管理器中,设置 SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。具体内容如下
2、:1. 设置SQL Server服务器身份验证模式(Windows或SQL Server和Windows(S) 认证模式)。2. 登录的管理创建一个SQL Serve登录用户3. 数据库用户的管理登录用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。4. 角色的管理创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权
3、限。5在学生表中定义主键、外键约束。6在课程表的“课程名”字段上定义唯一约束。7在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100。“课程号”字段只能输入数字字符。8定义完整性约束命名子句,限制学生表的“性别”字段,使之只能取“男、女”值。9在学生表中增加出生日期字段,并定义完整性约束命名子句,使出生年月的默认值取当前日期。三、 解决方案create role r1grant select,update,inserton studentto r1;4create table student3(sno char(9) primary key,sname char(20
4、) 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(grad
5、e=0 and grade=100),primary key(sno,cno),foreign key(sno)references student3(sno),foreign key(cno)references course3(cno)四、 实验结果1. 设置SQL Server服务器身份验证模式2. 登录的管理3. 数据库用户的管理4. 角色的管理5 在学生表中定义主键、外键约束。6在课程表的“课程名”字段上定义唯一约束。7 在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100。“课程号”字段只能输入数字字符。8定义完整性约束命名子句,限制学生表的“性别”字段,使之只能取“男、女”值。 9在学生表中增加出生日期字段,并定义完整性约束命名子句,使出生年月的默认值取当前日期。五、出现的问题及解决的方法 出现的问题:在学生表中增加出生日期用到了getdate函数,需要百度函数用法;执行语句过程中会发生错误,可能是语句冲突,要及时检查并改正。建表是要认真输入数据,以防出现错误。 解决方法:看书弄清知识点,寻求同学老师的帮助。 总之,一定要细心耐心,遇到困难解决困难
限制150内