- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.数据库应用系统开发_关系数据库标SQL
3.5.2 查询视图 【例57】利用例56建立的视图,查询男生中年龄大于20岁的学生姓名。 SELECT SNAME FROM boy_S WHERE AGE20 说明:该查询针对视图进行,但最终转换为对基本表S的查询。 3.5.3 删除视图 删除视图语句的一般格式: DROP VIEW 视图名 3.5.4对视图的更新操作 【例58】利用例56建立的男生视图,插入一行元组:学号为,姓名为‘李华’,年龄为18。 INSERT INTO boy_S VALUES(,‘李华’,18) 分析:例56所定义的视图是从单个关系只使用选择和投影来导出的,并且包含了基本表S的主码SNO,因此属于“行列子集视图”,可以被执行更新操作。以上针对视图boy_S的插入操作语句在执行时系统自动会把它转变成对基本表STUDENT的插入语句,如下所示: INSERT INTO STUDENT ; VALUES(,‘李华’,18 ,‘男’) 3.1 SQL概述 3.2 数据定义 3.3 SQL数据查询 3.4 SQL数据更新 3.5 视图 3.6 SQL数据控制 3.6 SQL数据控制 问题的提出: 数据库中的数据被多个用户共享,为保证数据库的安全,SQL语言提供数据控制语言(Data Control Language,DCL)对数据库进行统一的控制管理 数据库安全性定义:数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。 安全机制 的两种手段: 视图机制 、权限机制 (主要的安全机制手段) 3.6 SQL数据控制 权限机制的基本思想: 权限机制的基本思想是给用户授予不同类型的权限,使用户能够进行的数据库操作以及所操作的数据限定在指定范围内,禁止用户超越权限对数据库进行非法的操作,从而保证数据库的安全性;在必要时,可以从用户那里收回授权即权限撤销。 权限机制的实现方法: 通过 SQL 的 GRANT(授权) 语句和 REVOKE (收回权限)语句实现 3.6 SQL数据控制 数据库访问权限分类: 系统权限、对象权限 系统权限是指数据库用户能够对数据库系统进行某种特定的操作的权力。如: CREATE TABLE、 CREATE VIEW、CREATE INDEX、 CREATE DATABASE等。 对象权限是指对某个具体数据对象执行某种特定操作的权利。如:对表的 SELECT,INSERT,UPDATE,DELETE 等。 3.6 SQL数据控制 用户的分类: DBA (数据库管理员 ,拥有系统权限 ,DBA可以将系统权限授予给数据库用户 )。 Owner (基本表的拥有者 ,拥有对该表的一切操作权限 )。 数据库用户:使用数据库的人员。 角色的定义: 角色(ROLE)是多种权限的集合,可以把角色授予用户或角色。当要为某一用户同时授予或收回多项权限时,则可以把这些权限定义为一个角色,对此角色进行操作。这样就避免了许多重复性的工作,简化了管理数据库用户权限的工作。 3.6.1 授予权限 SQL语言用GRANT语句向用户或角色授予数据访问的权限。 发出GRANT: DBA 数据库对象创建者(即属主Owner) 拥有该权限的用户 3.6.1 授予权限 语句关键字 语法格式 说 明 GRANT GRANT 系统权限名[{, 系统权限名}]TO 用户或角色[{, 用户或角色}][WITH GRANT OPTION]; 给用户或角色授予系统权限。其中PUBLIC代表数据库中的全部用户。若附有WITH GRANT OPTION子句,则授权者可以将此权限或角色转授给其他用户或角色。 GRANT 对象权限名 [{,对象权限名}] ON 表名TO 用户或角色[{, 用户或角色}][WITH GRANT OPTION]; 给用户或角色授予对象权限。 GRANT 角色名[{, 角色名}]TO 用户或角色[{, 用户或角色}][WITH GRANT OPTION]; 给用户或角色授权角色。 3.6.1 授予权限 【例59】把创建表的权限授予用户userl。 GRANT CREATE TABLE TO userl 作为数据库的普通用户,只对自己建的基本表、视图等数据库对象拥有对象权限。如果要共享其他的数据库对象,则必须授予普通用户一定的对象权限,对象权限是指对某个具体数据对象执行某种特定操作的权利。 常用的对象权限有: SELECT:对象的查询权限; INSERT:对象的插入权限; UPDATE:对象的数据更新权限; DELE
文档评论(0)