数据库55.docx
《数据库55.docx》由会员分享,可在线阅读,更多相关《数据库55.docx(13页珍藏版)》请在冰豆网上搜索。
![数据库55.docx](https://file1.bdocx.com/fileroot1/2023-1/5/1598ae02-f44e-4cf9-b286-9a4311d4b87c/1598ae02-f44e-4cf9-b286-9a4311d4b87c1.gif)
数据库55
甘肃政法学院
本科生实验报告
(五)
姓名:
王斌
学院:
计算机科学学院
专业:
信息管理与信息系统
班级:
2011级信息管理与信息系统班
实验课程名称:
数据库原理实验
实验日期:
2013年5月31日
指导教师及职称:
李燕
实验成绩:
开课时间:
2012-2013学年第二学期
甘肃政法学院实验管理中心印制
实验题目
数据库的安全性与完整性
小组合作
否
姓名
王斌
班级
2011级信管
学号
201181170133
一、实验目的
1.理解数据库的安全性与完整性概念;
2.掌握数据库的安全性控制技术;
3.掌握数据库的完整性控制技术。
二.实验环境
WindowsXP+SQLServer2000
三、实验内容与步骤
1、设置安全认证模式
2、创建登录用户
(1)利用企业管理器创建4个登录用户U1、U2、U3、U4,创建U1和U2时均选中数据库访问为SP,使他们成为SP数据库的用户,创建U3和U4时不选中任何数据库。
(2)使用T-SQL语句创建登录用户,登录名为丁勇,密码为dy,默认数据库为SP。
3、修改登录用户
使用T-SQL语句修改登录用户丁勇的密码。
4、删除登录用户U4
5、创建数据库用户
使用T-SQL语句创建SP的数据库用户U3
6、删除数据库用户
使用T-SQL语句删除SP的数据库用户U2
7、创建数据库角色
使用T-SQL语句为SP数据库创建数据库角色R2,将用户U1添加至R2中,再从R2中删除U1
8、删除数据库角色
使用T-SQL语句为SP数据库创建数据库角色R3,再将其删除
9、权限管理
(1)语句权限授权
使用T-SQL语句将SP数据库上CREATETABLE、CREATEVIEW的权限授予SP数据库用户U1
(2)对象权限授权
①使用T-SQL语句将表SHOP上的全部权限授予全部用户,结果如图所示
②使用T-SQL语句将视图V1上的SELECT权限权限授予SP数据库用户U1
③使用T-SQL语句将表PRODUCT上的INSERT和DELETE权限权限授予SP数据库用户U1
④使用T-SQL语句将表SALE上的AMOUNT列UPDATE权限授予SP数据库用户U1
(3)权限回收
①收回SP数据库用户U1的CREATETABLE权限
②收回所有用户对表SHOP上的修改权限
10.实施约束
(1)使用企业管理器实施约束
为SHOP表实施约束:
SHOPADDRESS列上创建默认值为上海的默认约束
,SHOPNAME列上创建其值必须是上海、北京或南京之一的检查约束
(2)使用T-SQL语句实施约束
为SHOP1表的SHOPADDRESS列创建默认约束,默认值为上海;
为SHOP1表的SHOPADDRESS列创建检查约束,其值必须是上海、北京或南京之一;
为SHOP1表的SHOPNAME列创建唯一约束;
为SHOP1表的SHOPNAME列创建非空约束;
为SHOP1表的SHOPNO列创建主键约束;
为SALE1表的SHOPNO列创建外键约束,该外键参照SHOP1表的主键SHOPNO。
11.实施规则
(1)利用企业管理器实施规则
为PRODUCT表的PROPRICE列创建值在10~10000之间的规则,然后删除该规则
(2)使用T-SQL语句实施规则
为SHOP表的SHOPNO列创建值在s01~s10之间的规则,然后删除该规则
12.使用T-SQL语句实施触发器
(1)创建触发器
创建一个AFTER触发器,为PRODUCT表定义完整性规则“所有商品的价格不得低于100;若低于100,则自动改为100”,结果如图所示
图12.1
(2)删除触发器,结果如图所示
图12.2
四、实验过程与分析
1、使用T-SQL语句创建登录用户
语法为:
sp_addlogin登录名[,登录密码[,默认数据库]]
2、使用T-SQL语句修改登录用户
语法为:
sp_password旧密码,新密码,登录用户名
3、使用T-SQL语句创建数据库角色
语法为:
sp_addrole数据库角色名
sp_addrolemember角色名用户
sp_droprolemember角色名用户
4、使用T-SQL语句删除数据库角色
语法为:
sp_droprole数据库角色名
5、创建触发器
语法为:
CREATETRIGGER触发器名ON表名|视图名FOR|AFTER|INSTEADOFINSERT,DELETE,UPDATEAS触发动作体
五、实验总结
通过这次实验,我学会了用企业管理器和查询分析器创建登录用户,数据库用户和数据库角色。
对数据库安全性有了一定了解,学会对用户进行权限的授权和回收;在数据库完整性中学会定义实体完整性,包括列级完整性约束和表级完整性约束(在CREATETABLE中用PRIMARYKEY定义);参照完整性定义是在CREATETABLE中用FOREIGNKEY短语定义那些列为外码,用REFERENCES短语致命这些外吗参照那些表的主码。
学会了创建触发器。
但在完整性约束命名子句中仍有点问题。