mysql安全实验测验答案_实验三_数据库安全性实验报告.doc

该实验报告详细介绍了如何在 MySQL 中实现数据安全性控制,包括创建数据库、表以及插入数据。实验涉及授权和权力回收,如用户王明拥有对两个表的 SELECT 权限,李勇具备 INSERT 和 DELETE 权限,每个职工只能查看自己的记录,刘星可以对职工表进行 SELECT 和 UPDATE 工资字段的操作。
摘要由CSDN通过智能技术生成

一 实验目的

熟悉通过SQL对数据进行安全性控制实验工具利用及其实验内容和要求

使用SQL对数据进行安全性控制,包括:授权和权力回收。操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了权力收回操作之后的用户是否确实丧失了收回的数据操作的权力根据以要求认真填写实验报告记录所有的实验用例的和语句(加上视图机制)完成以下授权定义或存取控制功能create database work

go

use work

--创建以下两个关系模式,并分别插入相应的数据。

--Worker(职工号,姓名,年龄,职务,工资,部门号)

go

create table Worker(

职工号 varchar(10),

姓名 char(10),

年龄 int,

职务 char(15),

工资 int,

部门号 char(50)

)

--Section(部门号,名称,经理名,地址,电话号码)

create table Section (

职工号 char(10),

名称 char(10),

经理名 char(10),

地址 char(50),

电话 char(15)

);

go

--插入部门信息

insert into Section values('a001','市场部门','李永','白理工',);

insert into Section values('a002','营销部门','李刚','白理工',);

--插入职工信息

insert into Worker values('a001001','王明',20,'市场营销员',2000,'a001');

insert into Worker values('a001002','李村',29,'市场营销员',2000,'a001');

insert into Worker values('a001003','李永',20,'经理',5000,'a001');

insert into Worker values('a002001','罗杰',18,'销售员',2000,'a002');

insert into Worker values('a002002','李红',24,'销售员',2000,'a002');

insert into Worker values('a002003','李刚',32,'经理',5000,'a002');

--查询部门表和职工表的数据

select *from Worker;

select *from Section;

go

--授权

use work

go

--(a)用户王明对两个表有select权力;

create login [王明] with password=N'1234';

create user [王明] for login [王明];

grant select on Worker to [王明];

grant select on Section to [王明];

--插入数据权限测试

insert into Worker values('a002004','罗红',28,'销售助理',4000,'a002');

--查询数据权限测试

select *from Worker;

--(b)用户李勇对两个表有insert和delete权力;

use work

go

create login [李勇] with password=N'1234';

create user [李勇] for login [李勇];

grant insert,delete on Worker to [李勇];

grant insert,delete on Section to [李勇];

--插入数据权限测试

insert into Worker values('a002005','罗莉',52,'销售助理',4000,'a002');

--查询数据权限测试

select *from Worker;

--删除权限测试

delete Worker from where 职工号='a002001';

--(c)每个职工只对自己的记录有select权力;

use work

go

create view Myself as select * from Worker

where 姓名=user;

grant select on Myself to public;

--(d)用户刘星对职工表有select权力,对工资字段具有更新权力;

use work

go

create login [刘星] with password=N'1234';

create user [刘星] for login [刘星];

grant select,up

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、实验目的 使学生加深对数据库安全性完整性的理解。并掌握SQL Server中有关用户、角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 二、实验内容和要求   数据库安全性实验,在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。   具体内容如下:   设置SQL Server的安全认证模式(Windows或SQL Server和Windows(S)认证模式)。   登录的管理 创建一个登录用户   数据库用户的管理 登陆用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。   角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。   在学生表中定义主键、外键约束。   在课程表的“课程名”字段上定义唯一约束。   在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符。   定义规则,并绑定到读者表的“性别”字段,使之只能取“男、女”值。   在学生表中增加出生日期字段。定义缺省,并绑定到借阅表的“借阅日期”上,使之只能取当前日期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值