实验9索引.docx

上传人:b****6 文档编号:5380018 上传时间:2022-12-15 格式:DOCX 页数:15 大小:481.43KB
下载 相关 举报
实验9索引.docx_第1页
第1页 / 共15页
实验9索引.docx_第2页
第2页 / 共15页
实验9索引.docx_第3页
第3页 / 共15页
实验9索引.docx_第4页
第4页 / 共15页
实验9索引.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实验9索引.docx

《实验9索引.docx》由会员分享,可在线阅读,更多相关《实验9索引.docx(15页珍藏版)》请在冰豆网上搜索。

实验9索引.docx

实验9索引

实验9-索引

实验九索引及数据库安全

一、实验目的

(1)理解索引的概念与类型。

(2)掌握使用SQLServerManagementStudio创建与维护索引的方法。

(3)掌握T-SQL语句创建与维护索引的方法。

(4)掌握SQLSERVER下的数据库安全管理机制

二、实验内容

请分别通过SQLServerManagementStudio和T-SQL语句完成该实验。

1.索引

(1)为Student表创建一个以Sno为索引关键字的惟一聚簇索引,索引名为Sno_index。

若索引已存在,请先删除。

SQLServerManagementStudio:

、检查索引是否存在

如右图,该索引不存在

、创建索引

单击“添加”

T-SQL语句:

ifexists(select*fromsysindexeswherename='Sno_index')

dropindexStudent.Sno_index

createuniqueclusteredindexSno_index

onStudent(Sno)

先删除聚集索引'PK__Student__CA1FE4640BC6C43E'(这一步可能会不存在,依据题目做)

(2)为Student表创建以Sname,Sex为索引关键字的非聚簇索引,对Sname以升序来排列,Sex以降序排列,索引名为ss_index。

SQLServerManagementStudio:

、同时选中Sname,Sex两行,右击,选择“索引/键”,单击“添加”

、在“列”一行中,继续添加详细信息

按“确定”键退出

、添加其他信息

选择“关闭”退出

T-SQL语句:

createnonclusteredindexss_index

onStudent(Snameasc,Sexdesc)

(3)将索引文件ss_index删除。

SQLServerManagementStudio:

选择“删除”完成删除操作

T-SQL语句:

dropindexStudent.ss_index

(4)针对下列4条select语句,在查询分析器中查看这些语句的预执行计划,分析预执行计划的不同点及原因。

a.Select*fromStudent

b.Select*fromStudentwhereSno=’20110001’

c.Select*fromStudentwhereSnamelike‘张%’andSex=’女’

d.Select*fromStudentwhereClasSno=’051’

不同点:

执行处的结果不相同

原因:

where条件语句不同

2.数据库安全

(1)注册一个“登录”(loginin),登录名为自己的学号,并将该登录加入服务器角色“systemadministrators”。

SQLServerManagementStudio:

、在资源管理器中选择“安全性”→登录名→新建登录名

出现如下界面:

、添加信息

搜索结果中选择其一

单击确定退出

、在“服务器角色”中,选择服务器角色“systemadministrators”

单击确定退出

T-SQL语句:

createloginS2*******

withpassword='20110001'

sp_addsrvrolememberS2*******,sysadmin

(2)注册一个“登录”(loginin),登录名为自己的姓名,该登录不属于任何服务器角色。

createlogin张三

withpassword='20110001'

(3)在数据库Student_info下创建一个用户,用户名为自己的学号,并将它和登录名为自己的学号的登录连在一起,察看该用户属于哪个数据库角色,对数据库对象有哪些操作权限。

useStudent_info

go

createuserS20110001

forloginS20110001

权限操作:

资源管理器→安全性→用户→S2*******,右击,选择属性

(4)在数据库Student_info下创建一个用户,用户名为自己的姓名,并将它和登录名为自己的姓名的登录连在一起,察看该用户属于哪个数据库角色;

useStudent_info

go

createuser张三

forlogin张三

接下来的步骤同上理

编辑修改该用户属性,并为该用户分配数据库中各对象的操作权限:

a.对Student表拥有全部权限;

grantinsert,update,delete

onStudent

to张三

b.对Course只有select权限;

grantselect

onCourse

to张三

c.对sc表的Sno、cno列具有select权限,对Grade列没有任何权限。

grantselect(Sno,Cno)

onSC

to张三

(5)创建一个自定义角色“学生”,并将以自己姓名命名的用户添加为成员。

createrole学生

sp_addrolemember学生,张三

(6)断开原来的连接,用学号登录企业管理器,进入Student_info数据库,测试用学号登录后,是否拥有对数据库的全部操作权限(注意:

该登录属于systemadministrators组)。

用学号登录后,不拥有对数据库的全部操作权限

(7)断开原来的连接,用姓名登录企业管理器,进入学生成绩数据库,测试用姓名登录后,拥有对数据库的哪些操作权限。

只能对数据库进行查看,并不能修改

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1