【数据库原理】实验报告-实验10 索引和数据库的安全性

实验
目的

要求

1、明确索引的概念、分类及作用
2、掌握创建索引的SQL语法格式
3、掌握windows身份验证与SQL Server身份验证的区别
4、掌握登录账户与数据库用户的区别
5、掌握服务器角色和数据库角色的区别
6、掌握grant、revoke语言的语法格式

实验
环境

SQL Server 2014

实验内容或
实验题目

1、为电子商务系统数据库中的会员表member创建一个唯一性索引memusername,以提高根据会员用户名username进行查询的速度
2、删除索引memusername
3、查看数据库服务器的身份验证模式,并修改为“SQL Server和Windows身份验证模式”
4、创建一个SQL Server类型的登录账户sqluser,密码为123456,默认数据库为master,并验证服务器角色dbcreator(创建数据库)的权限(通过为sqluser选择dbcreator服务器角色前后的执行数据库创建语句来验证)
5、以windows管理员身份的账户连接到SQL Server数据库引擎实例,为ecommerce数据库新建用户(ecommerce-安全性-用户),选择带登录名的用户,输入用户名为sqluser,在“登录名”文本框中选择sqluser);并新建数据库角色select_product(ecommerce-安全性-角色-数据库角色—新建:在“角色名称”中输入select_product,在“角色成员”窗格中添加sqluser用户;选择左侧“安全选项”-搜索-添加对象-特定类型的对象-确定-打开“选择对象对话框”-选择对象类型为“表”-确定-安全对象选择product,权限选择授予“选择-确定”),然后验证select_product角色的权限(通过新建角色前后分别以sql server身份访问ecommerce数据库是否可以查询product表的详细信息进行验证)
6、使用SQL语句完成如下权限的设置:授予数据库用户sqluser对member表有select、update、delete权限,然后撤销update权限










步骤如下:
1、为电子商务系统数据库中的会员表member创建一个唯一性索引memusername,以提高根据会员用户名username进行查询的速度
create unique index memusername on member(username);

 


 



2、删除索引memusername
drop index memusername on member

 


 



3、查看数据库服务器的身份验证模式,并修改为“SQL Server和Windows身份验证模式”
 


 


4、创建一个SQL Server类型的登录账户sqluser,密码为123456,默认数据库为master,并验证服务器角色dbcreator(创建数据库)的权限(通过为sqluser选择dbcreator服务器角色前后的执行数据库创建语句来验证)
 


 


 


 


若此处报错,则在做完第三步操作后进行重启,重启后再添加则无错误,
 


 



5、以windows管理员身份的账户连接到SQL Server数据库引擎实例,为ecommerce数据库新建用户(ecommerce-安全性-用户),选择带登录名的用户,输入用户名为sqluser,在“登录名”文本框中选择sqluser);并新建数据库角色select_product(ecommerce-安全性-角色-数据库角色—新建:在“角色名称”中输入select_product,在“角色成员”窗格中添加sqluser用户;选择左侧“安全选项”-搜索-添加对象-特定类型的对象-确定-打开“选择对象对话框”-选择对象类型为“表”-确定-安全对象选择product,权限选择授予“选择-确定”),然后验证select_product角色的权限(通过新建角色前后分别以sql server身份访问ecommerce数据库是否可以查询product表的详细信息进行验证)
 


 


 


 


 


 


 


 


 




6、使用SQL语句完成如下权限的设置:授予数据库用户sqluser对member表有select、update、delete权限,然后撤销update权限
授予权限:
GRANT SELECT, UPDATE, DELETE ON member TO sqluser;
撤销权限:
REVOKE UPDATE ON member FROM sqluser;














 

组内
分工

可选











实验运行结果或者是验证性的结果:
1.创建唯一性索引:成功在 member 表上创建了基于 username 字段的唯一性索引 memusername,提升了查询速度。
2.删除索引:成功删除了 memusername 索引,保持了数据库结构的清洁。
3.身份验证模式修改:将服务器的身份验证模式更改为“SQL Server和Windows身份验证模式”。
4.登录账户创建与权限验证:创建了 SQL Server 登录账户 sqluser,并通过加入 dbcreator 角色验证了其创建数据库的权限。
5.数据库用户与角色权限设置:在 ecommerce 数据库中创建用户 sqluser,并赋予其 select_product 角色,验证了角色对 product 表的查询权限。
6权限调整:通过SQL语句,先授予 sqluser 对 member 表的 select、update、delete 权限,后撤销了 update 权限。












分析结果以及在试验中应注意的问题:
1. 权限测试: 权限设置后,务必通过实际操作验证权限是否符合预期,防止权限过宽或过窄导致的数据安全问题。
2. 数据库重启: 修改身份验证模式或某些系统级设置可能需要重启SQL Server服务

 

  • 25
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

司徒阿宝

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

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

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

打赏作者

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

抵扣说明:

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

余额充值