- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 示例 关系表Movies和Studio是用户Janeway创建和拥有的模式MovieSchema的一部分。用户Janeway拥有这些表和模式MovieSchema的任何其他元素的所有权限。 该插入示例可以有如下几种执行方式: * 插入示例执行方式1 用户Janeway创建了一个包含AUTHORIZATION Janeway子句的模块,上述插入语句作为该模块的一部分来执行,则Janeway是模块授权ID。 如果有模块授权ID,该ID总是变成当前授权ID,于是Janeway成为当前授权ID。则该模块及其SQL插入语句拥有与用户Janeway相同的权限,包括表Movies和Studio的所有权限。 * 插入示例执行方式2 插入是模块的一部分,但是该模块没有属主; 用户Janeway在CONNECT语句中用AUTHORIZATION Janeway子句打开一个连接(会话授权ID) 。于是 Janeway再次成为当前授权ID,该插入拥有了所需的所有权限。 * 插入示例执行方式3 用户Janeway将表Movies和Studio所有权限授权给用户archer,或是代表“所有用户”的特殊用户PUBLIC 假定插入语句存在于带有AUTHORIZATION archer子句的模块中,模块授权ID是archer ,因此当前授权ID是archer。而且archer拥有所需的权限,故插入再次被允许。 * 插入示例执行方式4 假定用户Janeway已经将所需的权限给了用户archer。 同时又假定插入语句存在于没有属主的模块中,模块在一个会话中执行,该会话的授权ID由AUTHORIZATION archer子句设置。会话授权ID是archer。这样当前授权ID是archer且这个ID拥有所需的权限。 * 四条准则 拥有数据的用户,其ID就是当前授权ID,那么所需权限总是可用的。执行方法(1)和(2) 如果用户的ID是当前授权ID,而且数据的属主已经把所需要的权限授予了该用户或授予给用户PUBLIC,那么这些权限也是可用的。执行方法(3)和(4) 执行数据的拥有者所拥有的模块或者执行对数据已有授权的某个用户所拥有的模块,就使得所需要的权限是可用的。执行方法(1)和(3) 在会话(它的授权ID是具有所需要权限的用户)期间执行公用模块是合法执行该操作的另一种方法。执行方法(2)和(4) * 4. 授权 SQL提供了GRANT语句,以允许一个用户将权限授权给另一个用户。第一个用户仍保留所授予的权限。 授权选项WITH GRANT OPTION 如果用户A将带有授权选项的某个权限授权给用户B,则用户B可以把该权限再次授权给别的用户(带受权选项或不带); 如果用户A 授予用户B某个权限时不带授权选项,则用户B无法再将该权限授予别的用户(只有A 能够把该权限授予别的用户) * 授权语句的语法格式 GRANT 权限列表 ON 数据库元素 TO 用户列表 [ WITH GRANT OPTION ] 典型的数据库元素是一个关系(基本表或视图)。如果是其他类型的元素,元素名之前应有元素类型作前缀,如ASSERTION。 权限列表是一个或多个权限,如INSERT (name )或 SELECT。关键字ALL PRIVILEGES可根据需要在此出现,表示授权者对正在讨论的数据库元素可合法授予的所有权限。 * 授权语句的执行 为了合法地执行这条授权语句,执行它的用户必须拥有被授予的权限,而且这些权限还必须带有授权选项。 但授权者可以拥有比授出的权限更通用的权限(带有授权选项)。 例如,表Studio的INSERT(name)权限被授出,同时授权者拥有表Studio的更通用的带有授权选项的权限INSERT。 * 授权示例 用户Janeway是MovieSchema模式的属主,该模式包括 Movies (title, year, length, genre, studioName, producerC#) Studio (name, address, presC#) (1) Janeway将表Studio的INSERT和SELECT权限以及表Movies的SELECT权限授予用户kirk和picard。而且包括了这些权限的授权选项。 ① GRANT SELECT,INSERT ON Studio TO kirk, picard WITH GRANT OPTION
文档评论(0)