文档详情

9实验九 索引.doc

发布:2017-05-05约2.38千字共14页下载文档
文本预览下载声明
实验九 索引及数据库安全 一、实验目的 (1)理解索引的概念与类型。 (2)掌握使用SQL Server Management Studio创建与维护索引的方法。 (3)掌握T-SQL语句创建与维护索引的方法。 (4)掌握SQL SERVER下的数据库安全管理机制 二、实验内容 请分别通过SQL Server Management Studio和T-SQL语句完成该实验。 1.索引 (1)为Student表创建一个以Sno为索引关键字的惟一聚簇索引,索引名为Sno_index。若索引已存在,请先删除。 企业管理器: ①、检查索引是否存在 如右图,该索引不存在 ②、创建索引 单击“添加” T-SQL语句: if exists (select * from sysindexes where name=Sno_index) drop index Student.Sno_index create unique clustered index Sno_index on Student (Sno) 先删除聚集索引PK__Student__CA1FE4640BC6C43E(这一步可能会不存在,依据题目做) (2)为Student表创建以Sname,Sex为索引关键字的非聚簇索引,对Sname以升序来排列,Sex以降序排列,索引名为ss_index。 企业管理器: ①、同时选中Sname,Sex两行,右击,选择“索引/键”,单击“添加” ②、在“列”一行中,继续添加详细信息 按“确定”键退出 ③、添加其他信息 选择“关闭”退出 T-SQL语句: create nonclustered index ss_index on Student (Sname asc,Sex desc) (3)将索引文件ss_index删除。 企业管理器: 选择“删除”完成删除操作 T-SQL语句: drop index Student.ss_index (4)针对下列4条select语句,在查询分析器中查看这些语句的预执行计划,分析预执行计划的不同点及原因。 a. Select * from Student b. Select * from Student where Sno= c. Select * from Student where Sname like ‘张%’ and Sex=’女’ d. Select * from Student where ClasSno=’051’ 不同点:执行处的结果不相同 原因:where条件语句不同 2.数据库安全 (1)注册一个“登录”(loginin),登录名为自己的学号,并将该登录加入服务器角色“system administrators”。 企业管理器: ①、在资源管理器中选择“安全性”→登录名→新建登录名 出现如下界面: ②、添加信息 搜索结果中选择其一 单击确定退出 ③、在“服务器角色”中,选择服务器角色“system administrators” 单击确定退出 T-SQL语句: create login with password sp_addsrvrolemember sysadmin (2)注册一个“登录”(loginin),登录名为自己的姓名,该登录不属于任何服务器角色。 create login 张三 with password (3)在数据库Student_info下创建一个用户,用户名为自己的学号,并将它和登录名为自己的学号的登录连在一起,察看该用户属于哪个数据库角色,对数据库对象有哪些操作权限。 use Student_info go create user for login 权限操作: 资源管理器→安全性→用户→右击,选择属性 (4)在数据库Student_info下创建一个用户,用户名为自己的姓名,并将它和登录名为自己的姓名的登录连在一起,察看该用户属于哪个数据库角色; use Student_info go create user 张三 for login 张三 接下来的步骤同上理 编辑修改该用户属性,并为该用户分配数据库中各对象的操作权限: a.对Student表拥有全部权限; grant insert,update,delete on Student to 张三 b.对Course只有select 权限; grant select on Course to 张三
显示全部
相似文档