综合实验二 数据库保护
注:由于本实验源代码过于糅杂,过于繁杂,此处便不再写出,想要源代码的,麻烦请关注微信公众号“理工科日记”,回复“SQL代码”获取,谢谢您的配合!
目的和要求
1.了解数据库备份和还原的基本方法,掌握备份和还原的基本技术;
2.掌握SQL Server2008中有关用户、角色及操作权限的管理方法;
3.掌握约束、规则和默认值的概念及实施方法。
内容和步骤
一、针对综合实验一中在数据库School进行备份和还原。
1.数据库的备份:
2、数据库的还原:
二、根据以前创建一个学生表<你的姓名>_student,完成下列操作:
1、为性别字段创建DEFAULT约束,默认值为‘男’
2、用T-SQL创建默认的对象phone:CREATEDEFAULT phone AS ‘0000000’, 这个默认对象phone绑定到学生表<你的姓名>_student的电话字段上。
3、取消默认对象phone的绑定并删除默认对象。
4、利用T-SQL创建规则st_id,使得学生的学号必须在19960000000到20000000000之间, 把规则st_id绑定到学生表<你的姓名>_student的学号上。
三、数据库安全性练习
假设三个学生为一组(设名称为A、B、C,A为原来的数据库用户),对以前完成的School数据库进行安全性控制:
1、将B、C添加为A数据库的用户。
2、B用户打开A的数据库进行简单的数据操作,能否进行?为什么?
答:不能,因为B用户不具有对A数据库操作的权限。
3、授予B创建表的权限,并允许B用户把该权限授予C,B、C试验能否创建表?
a、授予用户B创建表的权限:
b、使用B用户验证是否能创建表格:
c、使用C用户验证是否能创建表格:
4、授予B具有对学生表<你的姓名>_student表的查询权与更新权,B用户试验。
a、授予权限:
b、使用B用户验证更新的权限:
c、使用B用户验证查询的权限:
5、添加一个新的数据库角色NewRole,并将用户B添加到角色中。
6、将对表<你的姓名>_student的查询权限授予角色,指定WITH GRANT OPTION子句。
7、用户B将表<你的姓名>_student的SELECT权限授予用户C,用户C不是NewRole的成员。
8、废除用户B对表<你的姓名>_student的所有权限。