数据库复习篇(三)--SQL 之 DCL(数据控制语言)

DCL为数据控制语言,主要用来权限管理。

谈到数据库权限,首先来说说两个专有名词,目的是了解当今数据库的两大权限形式。

  • 自主访问控制(简单来说,就是有一个超级用户拥有所有权限,其他用户的任何操作需要超级用户分配权限)。

  • 管理的方式不同就形成不同的访问控制方式。一种方式是由客体的属主对自己的客体进行管理,由属主自己决定是否将自己客体的访问权或部分访问权授予其他主体,这种控制方式是自主的,我们把它称为自主访问控制(Discretionary Access Control——DAC)。在自主访问控制下,一个用户可以自主选择哪些用户可以共享他的文件。Linux系统中有两种自主访问控制策略,一种是9位权限码(User-Group-Other),另一种是访问控制列表ACL(Access Control List)。

  • 强制访问控制(权限是固定好的,要想进行更多的操作,就要升级权限)。

  • 强制访问控制(Mandatory Access Control——MAC),用于将系统中的信息分密级和类进行管理,以保证每个用户只能访问到那些被标明可以由他访问的信息的一种访问约束机制。通俗的来说,在强制访问控制下,用户(或其他主体)与文件(或其他客体)都被标记了固定的安全属性(如安全级、访问权限等),在每次访问发生时,系统检测安全属性以便确定一个用户是否有权访问该文件。其中多级安全(MultiLevel Secure, MLS)就是一种强制访问控制策略。

进入正题,DCL语言主要拥有两大功能,授权(grant)和回收权限(revoke);

1.创建用户(Linux,你的登陆要从root 启动,你可以在默认的mysql库中查看user表的信息,里面存放着各个用户的权限新信息)

代码:create “账号” @ localhost(主机或者其他客户端) identified by “密码”;

2.授予权限(grant),超级用户root拥有一切权限,上述没有给创建的用户授予更多的权限。

代码:grant  Select on Grade .* to lqlq;//给用户lqlq查询表Grade的权限回收。

3.回收权限(revoke)

代码:revoke  Select on Grade .* from lqlq;//把用户lqlq查询表Grade的权限回收。

 

相信大家对这个权限有一定了解了,赶紧去linux下或window下试试把,也相信大家也明白日后我们几乎几乎不可能删库跑路的,

因为我们根本没有删库的权限。

实验(2) SQL语言DCL 一、实验目的 SQL数据控制通过DCL(数据控制语言) 实现。DCL通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。 本次实验了解DCL语言的GRANT和REVOKE语句对数据库存取权限的控制,学会SQL Server 2000的查询分析器中用DCL语言数据库存取权限进行设定。 本实验需要2学时。 二、实验内容 1.创建新的数据库用户 2.用GRANT语句对数据库存取权限进行授权操作,语法格式如下: GRANT <特权组> To <用户组>|PUBLIC PUBLIC指数据库的所有用户。 3.用REVOKE语句将DBA(数据库管理员)、DBO(建库用户)授与其它用户对数据库的操作权收回,语法格式如下: REVOKE <权限组>|ALL PRIVILEGES [ON <对象名>] FROM <用户组名>|PUBLIC 、实验任务 1. 创建新的数据库用户 要在STUDENTS数据库中创建一个“user0”数据库用户,可以按下面的步骤创建新数据库用户。 1) 在企业管理器中扩展SQL服务器及数据库文件夹。用鼠标右键单击用户 文件夹,弹出一个快捷菜单,在弹出的菜单中选择“新建数据库用户”项,会出现对话框。 2) 在对话框的登录名栏中选择一个SQL服务器登陆名和用户名。(选新建) 3) 单击“确定”按钮。 2.打开数据库SQL Server 2000的查询分析器,用新建的用户user0进行登录。 3.在查询分析器中,对STUDENTS中的表进行操作:查询(SELECT)等。会出现提示如图3:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值