数据库原理 实验5 数据库的安全性与完整性

发布时间:   来源:文档文库   
字号:
实验5数据库的安全性与完整性
一、实验目的
1)理解数据库的安全性与完整性概念2)掌握数据库的安全性控制技术3)掌握数据库的完整性控制技术
二、实验环境
WindowsXP+SQLServer2000
三、实验内容
1.设置安全认证模式
方法:服务器组上右键“属性”|“安全性”2.创建登录用户
1)利用企业管理器创建登录用户方法:安全性|登录,右键。
【例1】创建4个登录用户U1U2U3U4,创建U1U2时均选中数据库访问为SP使他们成为SP数据库的用户,创建U3U4时不选中任何数据库。2)使用T-SQL语句创建登录用户
语法为:sp_addlogin登录名[,登录密码[,默认数据库]]
注意:未指定默认数据库时,默认数据库是master
【例2】创建登录用户,登录名为丁勇,密码为dy,默认数据库为SP3.修改登录用户
1)利用企业管理器修改登录用户2)使用T-SQL语句修改登录用户
语法为:sp_password旧密码,新密码,登录用户名
【例3】以sa登录服务器,修改登录用户丁勇的密码。4.删除登录用户
1)利用企业管理器删除登录用户2)使用T-SQL语句删除登录用户
语法为:sp_droplogin登录用户名
【例4】删除登录用户U4
注意:若待删除登录用户已是某数据库用户,则需先删除数据库用户,再删除登录用户。
5.创建数据库用户
1


1)利用企业管理器创建数据库用户2)使用T-SQL语句创建数据库用户
语法为:sp_adduser登录用户名
【例5】创建SP的数据库用户U36.删除数据库用户
1)利用企业管理器删除数据库用户2)使用T-SQL语句删除数据库用户
语法为:sp_dropuser数据库用户名
【例6】删除SP的数据库用户U27.创建数据库角色
1)使用企业管理器创建数据库角色2)使用T-SQL语句创建数据库角色
语法为:sp_addrole数据库角色名
sp_addrolemember角色名用户sp_droprolemember角色名用户
【例7】为SP数据库创建数据库角色R2,将用户U1添加至R2中,再从R2中删除U18.删除数据库角色
1)利用企业管理器删除数据库角色2)使用T-SQL语句删除数据库角色
语法为:sp_droprole数据库角色名
【例8】为SP数据库创建数据库角色R3,再将其删除。9.权限管理
SQLServer2000的权限管理分为语句权限管理和对象权限管理,前者是对用户或角色执行语句的权限管理,后者是对用户或角色操作数据库对象的权限管理。1)利用企业管理器管理权限①管理语句权限②管理对象权限
2)使用T-SQL语句管理权限①语句权限授权
语法为:GRANT{ALL|语句权限列表}TOPUBLIC|用户列表
【例9】将SP数据库上CREATETABLECREATEVIEW的权限授予SP数据库用户U1②对象权限授权
语法为:GRANTALL|对象权限列表ON表名|视图名|存储过程名TOPUBLIC|用户列表
[WITHGRANTOPTION]
2


【例10将表SHOP上的全部权限授予全部用户,将视图V1上的SELECT权限、PRODUCT上的INSERTDELETE权限、SALE上的AMOUNTUPDATE权限授予SP数据库用户U1③语句权限回收
语法为:REVOKEALL|权限列表FROMPUBLIC|用户列表
④对象权限回收
语法为:REVOKEALL|对象权限列表ON表名|视图名|存储过程名FROMPUBLIC|用户列表
[CASCADE]
【例11】收回SP数据库用户U1CREATETABLE权限,收回所有用户对表SHOP上的修改权限。10.实施约束
1)使用企业管理器实施约束
【例12SHOP表实施约束:SHOPADDRESS列上创建默认值为上海的默认约束,SHOPNAME列上创建其值必须是上海、北京或南京之一的检查约束。2)使用T-SQL语句实施约束
【例13】为SHOP1表的SHOPADDRESS列创建默认约束,默认值为上海。
【例14SHOP1表的SHOPADDRESS列创建检查约束,其值必须是上海、北京或南京之一。【例15】为SHOP1表的SHOPNAME列创建唯一约束。【例16】为SHOP1表的SHOPNAME列创建非空约束。【例17】为SHOP1表的SHOPNO列创建主键约束。
【例18】为SALE1表的SHOPNO列创建外键约束,该外键参照SHOP1表的主键SHOPNO11.实施规则
1)利用企业管理器实施规则
【例19】为PRODUCT表的PROPRICE列创建值在10~10000之间的规则,然后删除该规则。2)使用T-SQL语句实施规则
①创建规则:CREATERULE规则名AS②绑定规则:sp_bindrule规则名,‘表名.列名’③解除绑定:sp_unbindrule‘表名.列名④删除规则:droprule规则名
【例20】为SHOP表的SHOPNO列创建值在s01~s10之间的规则,然后删除该规则。12.使用T-SQL语句实施触发器1)创建触发器
CREATETRIGGERON|FOR|AFTER|INSTEADOF
INSERT,DELETE,UPDATEAS触发动作体
【例21】创建一个AFTER触发器,为PRODUCT表定义完整性规则“所有商品的价格不得低
3


100;若低于100,则自动改为1002)删除触发器
4


本文来源:https://www.2haoxitong.net/k/doc/a946e08d8762caaedd33d4df.html

《数据库原理 实验5 数据库的安全性与完整性.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式