1、数据库原理与应用实验报告6题目:数据库平安性班级学号姓名批阅教师赵宏庆一、实验目的熟悉通过SQL语句对数据进行平安性控制二、实验工具 MS SQL Server2012利用 MS SQL Server2012 熟悉 SQLo三、实验内容及要求使用SQL对数据进行平安性控制,包括:授权和权力回收。操作完成后看看已授权的 用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回 的数据操作的权力。根据以上要求认真填写实验报告,记录所有的实验用例。具体操作可以 参照课件中的实例。具体操作内容:创立以下两个关系模式,并分别插入相应的数据。职工(职工号,姓名,年龄,职务,工资,部
2、门号)部门(部门号,名称,经理名,地址, 号码)(1)请用SQL的Grant和Revoke语句(加上视图机制)完成以下授权定义或存取控制功能,并进行相应的 平安性测试;(a)用户王明对两个表有select权力;(b)用户李勇对两个表有insert和delete权力;(c)每个职工只对自己的记录有select权力;(d)用户刘星对职工表有select权力,对工资字段具有更新权力;(e)用户张新具有修改这两个表的结构的权力;(f)用户周平具有对两个表所有权力(对,插,改,删数据),并具有给其他用户授权的权 利;(g)用户杨兰具有从每个部门职工中select最高工资,最低工资,平均工资的权力,他不
3、能查看每个人的工资。(2)把上面(a)(g)的每一种情况,撤销各用户所授予的权力。_* 初始化数据库及相关 内 容* *-新建数据库create database workuse work-创立以下两个关系模式,并分别插入相应的数据。-Worker (职工号,姓名,年龄,职务,工资,部门号) create table Worker(职工号 varchar(lO),姓名 char(10),年龄int,职务 char(15),工资int,部门号char(50)-Section (部门号,名称,经理名,地址, 号码)create table Section ( 部门号char(10), 名称 cha
4、r(10),经理名char(10),地址 char(5O), char(15) );-插入部门信息insert into Section valuesCaOOl;市场部门?李永?白理工?营销部门?李刚?白理工-插入职工信息insert into Worker values(a00100,王明,20,市场营销员,2000,a001);insert into Worker values(a0010027李村:29,市场营销员,2000,a00);insert into Worker values(a001003?李永,20,经理;5000,a001);insert into Worker valu
5、es(a002001?罗杰,183肖售员,2000,2002);insert into Worker values(a002002?李红,24件肖售员,2OOO,aOO2);insert into Worker values(a002003,李 W,32,经理,5000,a002);-查询部门表和职工表的数据 select *from Worker;select *from Section;-sp_adduser:可以理解为增加User, -和sp_grantdbaccess:理解为授予连接权限。EXEC sp_addlogin 王明,123EXEC sp_grantdbaccess 王明EX
6、EC sp_addlogin 李村? 123EXEC sp_grantdbaccess李村EXEC sp_addlogin 李永? 123 EXEC sp_grantdbaccess 李永EXEC sp_addlogin 罗杰? 123 EXEC sp_grantdbaccess,罗杰EXEC sp_addlogin 李红? 123EXEC sp_grantdbaccess 李红EXEC sp_addlogin 李即23 EXEC sp_grantdbaccess 李冈EXEC sp_addlogin 李勇23EXEC sp_grantdbaccess,李勇EXEC sp_addlogin 坟【J星,123EXEC sp_grantdbaccess刘星EXEC sp_addlogin 张新,123EXEC sp_grantdbaccess 张新EXEC sp_addlogin 周平? 123EXEC sp_grantdbaccess 周平EXEC sp_addlogin 杨兰? 123EXEC sp_grantdbaccess 杨兰_ * J 女台*四、程序调试及运行结果的自我分析与自我评价五、实验心得及建议