- 1、本文档共145页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
3.9.2系统权限与角色的授予与收回3.9.2.1系统权限与角色的授予SQL语言使用GRANT语句为用户授予系统权限,其语法格式为:GRANT系统权限|角色[,系统权限|角色]…TO用户名|角色|PUBLIC[,用户名|角色]…[WITHADMINOPTION]其语义为:将指定的系统权限授予指定的用户或角色。其中:PULBIC代表数据库中的全部用户。WITHADMINOPTION为可选项,指定后则允许被授权的用户将指定的系统特权或角色再授予其他用户或角色。*例3-85为用户ZHANGSAN授予CREATETABLE的系统权限。GRANTCREATETABLETOZHANGSAN3.9.2.2系统权限与角色的收回数据库管理员可以使用REVOKE语句收回系统权限,其语法格式为:REVOKE系统权限|角色[,系统权限|角色]…FROM用户名|角色|PUBLIC[,用户名|角色]…例3-86收回用户ZHANGSAN所拥有的CREATETABLE的系统权限。REVOKECREATETABLEFROMZHANGSAN*3.9.3对象权限与角色的授予与收回3.9.3.1对象权限与角色的授予数据库管理员拥有系统权限,而作为数据库的普通用户,只对自己创建的基本表、视图等数据库对象拥有对象权限。如果要共享其他的数据库对象,则必须授予他一定的对象权限。同系统权限的授予类似,SQL语言使用GRANT语句为用户授予对象权限,其语法格式为:GRANTALL|对象权限[(列名[,列名]…)][,对象权限]…ON对象名TO用户名|角色|PUBLIC[,用户名|角色]…[WITHGRANTOPTION]*其语义为:将指定的操作对象的对象权限授予指定的用户或角色。其中:ALL代表所有的对象权限。列名用于指定要授权的数据库对象的一列或多列。如果不指定列名,被授权的用户将在数据库对象的所有列上均拥有指定的特权。实际上,只有当授予INSERT、UPDATE权限时才需指定列名。ON子句用于指定要授予对象权限的数据库对象名,可以是基本表名、视图名等。WITHADMINOPTION为可选项,指定后则允许被授权的用户将权限再授予其他用户或角色。*例3-87将对S表和T表的所有对象权限授予USER1和USER2。GRANTALLONS,TTOUSER1,USER2例3-88将对C表的查询权限授予所有用户。GRANTSELECTONCTOPUBLIC*例3-89将查询T表和修改教师职称的权限授予USER3,并允许将此权限授予其他用户。GRANTSELECT,UPDATE(PROF)ONTTOUSER3WITHGRANTOPTIONUSER3具有此对象权限,并可使用GRANT命令给其他用户授权,如下例,USER3将此权限授予USER4:GRANTSELECT,UPDATE(PROF)ONTTOUSER4*3.9.3.2对象权限与角色的收回所有授予出去的权力在必要时都可以由数据库管理员和授权者收回,收回对象权限仍然使用REVOKE语句,其语法格式为:REVOKE对象权限|角色[,对象权限|角色]…FROM用户名|角色|PUBLIC[,用户名|角色]…例3-90收回用户USER1对C表的查询权限。REVOKESELECTONCFROMUSER1*例3-91收回用户USER3查询T表和修改教师职称的权限。REVOKESELECT,UPDATE(PROF)ONTFROMUSER3CASCADE废除可授予的权限时使用CASCADE。在例3-91中,USER3将对T表的权限授予了USER4,在收回USER3对T表的权限的同时,系统会自动收回USER4对T表的权限(CASCADE的作用)。*小结本章以SQLSERVER为例,详细介绍了SQL语言的使用方法。在讲解SQL语言的同时,进一步介绍了关系数据库的有关概念,如索引和视图的概念及其作用。SQL语言具有数据定义、数据查询、数据更新、数据控制四大功能。其全部功能可以用表3.5的9个动词概括出来。SQL功能动词数据定义CREATE,DROP,ALTER数据查询SELECT数据操纵INSERT,UPDATE,DELETE数据控制GRANT,REVOKE表3.5SQL语言的动词*第3章例题*基本表教师情况基本表T(T#,TNAME,TD)课程基本表C(C#,CNAME,T#)学
文档评论(0)