- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 通过SQL进行数据完整性控制推荐
实验报告实验目的:熟悉通过SQL进行数据完整性控制的方法。实验内容和要求:建立表,考察表的生成者拥有该表的哪些权限。使用SQL 的grant 和revoke命令对其他用户进行授权和权力回收,考察相应的作用。建立视图,并把该视图的查询权限授予其他用户,考察通过视图进行权限控制的作用。完成实验报告。实验平台:数据库管理系统:SQL Server 或MySQL操作方法与实验步骤及结果1、建立表,考察表的生成者拥有该表的哪些权限。说明:以下实验在Workbench中完成。首先以root用户登录,新建一个用户sherry,密码是12345:mysqlgrant usage on *.* to sherry@localhost mysqlidentified by 12345 with grant option;查看sherry@localhost的权限:mysqlshow grants for sherry@localhost;返回:GRANT USAGE ON *.* TO \sherry\@\localhost\ IDENTIFIED BY PASSWORD \*00A51F3F48415C7D4E8908980D443C29C69B60C9\ WITH GRANT OPTION这里WITH GRANT OPTION部分指定了用户可以使用GRANT/REVOKE命令将他拥有的权限赋予其他用户。刷新权限:mysqlflush privileges;0 row(s) affected查看用户表,可以看到多了一个名为sherry的用户:mysqlselect host,user,password from mysql.user;4 row(s) returned2)用户sherry登录数据库:3)在test数据库中用用户sherry建立表格,考察其权限:use test;0 row(s) affected 0.000 seccreate table stest( s_id CHAR(4), s_name CHAR(10));0 row(s) affected0.827 sec4)向表格中插入数据成功,该用户对其创建的表格具有插入权限5)查看表中数据成功,该用户对其创建的表格具有查看权限6)更新表中数据,但这时出现了一个小问题:Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences - SQL Queries and reconnect.使用安全更新模式的时候update语句必须使用一个关键字列属性来限定更新的范围。如果不使用关键字列来限定范围或更新所有记录的时候就不能用安全更新模式。解决办法是执行以下语句设置为非安全更新模式.mysql有个叫SQL_SAFE_UPDATES的变量,为了数据库更新操作的安全性,此值默认为1,所以才会出现更新失败的情况。解决办法是执行以下语句设置为非安全更新模式.SET SQL_SAFE_UPDATES=0;再次更新表中数据,修改成功,说明sherry对其创建的表格具有修改的权限。7)删除表中数据:8)删除表格stest:综上,表格的生成者对表格具有插入、查看、修改、删除的权限。2、使用SQL 的grant 和revoke命令对其他用户进行授权和权力回收,考察相应的作用。1)再次以root用户登录2)对sherry赋予branch表格的查看权限:3)以sherry账号登录,查看branch表格内容,成功:4)如果是查看account表格,因为sherry不具有权限,因此被拒绝:Error Code: 1142. SELECT command denied to user sherry@localhost for table account5)试图向branch表格中插入数据,又被拒绝:insert into branch values(First Bank,ManhattanError Code: 1142. INSERT command denied to user sherry@localhost for table branch6)修改数据被拒绝:update branch set branch_name=First Bank where branch_city = LAError Code: 1142. UPDATE command denied to user sherry@loca
文档评论(0)