电子课件数据库系统原理第3章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子课件数据库系统原理第3章

(3)SQL的权限拒绝 DENY语句的一般格式为: DENY 权限[, 权限]... [ON 对象名] TO用户[, 用户]...; [CASCADE] 功能:拒绝用户具有某权限。 其中,CASCADE表示要拒绝的权限也会被对此主体授予该权限的其他主体拒绝。 例题 例11 拒绝用户U1对Address表具有SELECT权限。 DENY SELECT ON Address TO U1 例12 拒绝用户U1对EmployeeInfo存储过程具有EXECUTE权限。 DENY EXECUTE ON EmployeeInfo TO U1 2、语句级别的权限 在数据库中,不但可以将用户权限与数据库中的对象关联起来,而且还可以将用户权限与特定对象的语句关联起来。SQL Server允许对执行不同的语句进行权限控制,这些语句主要包括: CREATE DATABASE CREATE PROCEDURE CREATE TABLE CREATE VIEW CREATE FUNCTION BACKUP DATABASE BACKUP LOG 语句级别的权限(续) (1)授权语句 GRANT 权限[, 权限]... TO 用户[, 用户]...; (2)收权语句 REVOKE 权限[, 权限]... FROM 用户[, 用户]...; (3)拒绝权限 DENY 权限[, 权限]... TO用户[, 用户]...; 权限如上所列的语句 语句级别的权限(续) 例13 授予用户U1具有创建表的权限。 GRANT CREATE TABLE TO U1 例14 授予用户U1和U2具有创建表和视图的权限。 GRANT CREATE TABLE, CREATE VIEW TO U1,U2 例15 收回用户U1创建表的权限。 REVOKE CREATE TABLE FROM U1 例16 拒绝用户U1具有创建视图的权限。 DENY CREAT VIEW TO U1 小结 SQL提供了非常灵活的授权机制 用户对自己建立的基本表和视图拥有全部的操作权限, 并且可以用GRANT语句把其中某些权限授予其他用户。 被授权的用户如果有“继续授权”的许可, 还可以把获得的权限再授予其他用户。 DBA拥有对数据库中所有对象的所有权限,并可以根据应用的需要将不同的权限授予不同的用户。 所有授予出去的权力在必要时又都可以用REVOKE语句收回。 第三章 SQL语言 3.1 SQL概述 3.2 数据定义 3.3 查询 3.4 数据更新 3.5 视图 3.6 数据控制 3.7 嵌入式SQL 3.7 嵌 入 式 SQL SQL语言的两种使用方式 交互式SQL 嵌入式SQL 为什么要引入嵌入式SQL SQL语言是非过程性语言,而许多应用都是过程性的, 将SQL语句嵌入某种高级语言中使用。 3.7 嵌 入 式 SQL 嵌入式SQL的一般形式 嵌入式SQL语句与主语言之间的通信 SQL通信区、主变量、游标 存储过程 触发器 为了实现对于嵌入式SQL的支持,技术上必须解决以下4个问题: 1.宿主语言的编译器不可能识别和接受SQL文,需要解决如何将SQL的宿主语言源代码编译成可执行码; 2.宿主语言的应用程序如何与DBMS之间传递数据和消息; 3.如何把对数据的查询结果逐次赋值给宿主语言程序中的变量以供其处理; 4.数据库的数据类型与宿主语言的数据类型有时不完全对应或等价,如何解决必要的数据类型转换问题。 一、 嵌入式SQL的一般形式 DBMS处理宿主型数据库语言SQL 的方法 预编译 修改和扩充主语言使之能处理SQL语句 预编译 由DBMS的预处理程序对源程序进行扫描, 识别出SQL语句 把它们转换成主语言调用语句, 以使主语言编译程序能识别它 最后由主语言的编译程序将整个源程序编译成目标码. * 嵌入式SQL的一般形式(续) 嵌入式SQL语句的一般形式 为了能够区分SQL语句与主语言语句, 需要为SQL语句加前缀和结束标志 前缀: EXEC SQL 结束标志: 随主语言的不同而不同 以C或PL/1作为主语言的嵌入式SQL语句的一般形式 EXEC SQL SQL语句; 例: EXEC SQL DROP TABLE Student; 以COBOL作为主语言的嵌入式SQL语句的一般形式 EXEC SQL SQL语句 END-EXEC 例: EXEC SQL DROP TABLE

文档评论(0)

sandaolingcrh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档