数据库系统概论 实验报告答案 实验七:视图、索引及数据安全

实验七:视图、索引及数据安全

一、实验目的

1.    掌握视图特点;

2.    掌握使用SQL Server 2008创建及管理视图;

3.    掌握在对象资源管理器和T-SQL语句中创建和管理索引;

二、实验学时

2学时

三、实验要求

1.    掌握使用界面方式和命令方式创建及管理视图;

2.    利用对象资源管理器和T-SQL语句创建、修改、删除和使用索引。

3.    完成实验报告。

四、实验内容

1.以实验数据库为基础数据,利用对象资源管理器创建以下视图:

 1)创建所有学生学号、姓名及年龄的信息视图stu_info

 2)创建CS系学生基本信息视图stu_cs

 3)创建选修课成绩在80分以上的学生的信息视图stu_80,包括学生基本情况及成绩。

2. 以实验数据库为基础数据,请使用T-SQL语句完成以下内容,并将SQL语句写在实验报告册中:

1)    创建CS_age视图,包括CS系各学生的学号、姓名及年龄,要求进行修改和插入操作时仍需保证该视图只有CS系的学生;

create view CS_age

as

select sno,sname,sage

from XSKC.student

where sdept='CS'

WITH CHECK OPTION;

2)    创建CS_age_20视图,包括CS系学生年龄在20岁以上的基本信息;并保证对视图文本的修改都要符合年龄大于20这个条件。

create view CS_age_20

as

select*

from XSKC.student

where sdept ='CS'and sage>'20'

WITH CHECK OPTION;

3)    创建一个视图stu_cg,用于查看学生学号、姓名、课程和成绩信息,并用WITH ENCRYPTION加密。

create view stu_cg 

with encryption 

as 

select student.sno,sname,cname,grade 

from XSKC.student,XSKC.sc,XSKC.course 

where student.sno=sc.sno and sc.cno=course.cno;

4)    向CS系学生视图stu_CS中插入一个新的学生记录,学号为200515026,姓名为“赵红平”,性别为“男”,年龄21岁;

insert

into stu_cs

values('200515026','赵红平','男','21','CS');

5)    利用视图stu_CS修改学号为200515001的学生姓名为“赵青青”;

update stu_cs

set sname='赵青青'

where sno='200515001';

6)    利用视图stu_CS删除CS系学号为200515003的记录;

delete

from stu_cs

where sno='200515003';

7)    删除视图CS_age_20;

drop view CS_age_20;

3.在对象资源管理器中,利用图形化的方法创建和管理下列索引:

1)    对数据表student中字段sname建立非聚集索引idx_name;

2)    针对student表的sno和sname列创建复合索引idx_no_name;

3)    删除数据表student的索引idx_name;

4. 利用T-SQL语句创建和管理以下索引:

1)    对course表的cname列创建非聚集索引idx_cname;

create

index idx_cname

on XSKC.course(cname);

2)    对sc表的sno和cno列创建复合索引idx_sno_cno;

create

index idx_sno_cno 

on XSKC.sc(sno,cno)

3)    利用系统存储过程sp_helpidex查看索引idx_cname信息;

cr 'XSKC.course'

4)    删除索引idx_cname。

drop index XSKC.course.idx_cname;

5. 数据安全性。以系统管理员身份登录到SQL Server服务器,在SQL Server2008界面中实现以下操作,并写出相应程序代码。

1)    在当前计算机中增加一个用户zhang,密码为secret。使此用户通过windows模式下登录SQL Server服务器,登录名为zhang;

2)    新建以混合模式登录SQL Server服务器的用户登录名分别为stu1、stu2和stu3登录密码为secret,默认登录数据库为stu;将登录帐号stu1、stu2和stu3加入到服务器角色sysadmin中;

3)    删除服务器角色sysadmin的成员stu2和stu3;

4)    在数据库stu中创建用户zhang,登录帐号为zhang;

  create user zhang for login zhang 

5)    在数据库stu中创建用户stu1、stu2和stu3,登录帐号为stu1、stu2和stu3;

  create user stu1 for login stu1

  create user stu2 for login stu2

  create user stu3 for login stu3

6)    给数据库用户zhang赋予创建数据表的权限;

grant create table 

to zhang 

7)    给数据库用户stu1赋予对sc表进行插入、修改、删除操作权限;

grant insert,update,delete 

on XSKC.sc 

to stu1

8)    给数据库用户stu2和stu3赋予对student表、course表所有操作权限及查询sc的操作权限,并允许再授权给其他用户;

grant all privileges 

on XSKC.student

to stu2,stu3 

with grant option

grant all privileges 

on XSKC.course 

to stu2,stu3 

with grant option

grant select 

on XSKC.sc 

to stu2,stu3 

with grant option

9)    回收数据库用户stu2对student表和course表的删除操作的权限;

revoke delete 

on XSKC.student 

from stu2 

cascade

revoke delete 

on XSKC.course

from stu2 

cascade

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rhyme_7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值