为什么“拒绝”用于数据控制语言?

时间:2013-07-19 14:10:49

标签: sql

我刚开始学习SQL的基础知识,当我在搜索数据操作语言,数据控制语言,数据定义语言时,有些事情没有意义。

据我了解,数据控制语言有3个关键字:Grant,Deny,Revoke。

“Grant”允许指定的用户执行某些操作。 “撤销”会破坏指定用户的安全许可。

然而,我不明白的是“拒绝”。

如果用户在开始时没有安全许可(是否有特殊术语计算机科学?)到特定数据库,为什么设计数据库的程序员会“拒绝”该用户对该数据库的许可?这没有意义。

有人能告诉我为什么以及在哪里使用“拒绝”?

2 个答案:

答案 0 :(得分:5)

拒绝 - 如“拒绝访问”。

这意味着明确禁止某人做某事。这与分别授予访问权限和取消授予和撤销权限的访问权限不同。

考虑您可以授予组对模式的访问权限,但是对于该组的子集,您要拒绝访问模式中定义的表的子集。 “deny”为你提供了一种方法。

答案 1 :(得分:1)

DENY命令可用于明确阻止用户接收特定权限。

当用户可能是被授予权限的角色或组的成员并且您希望阻止该用户通过创建例外来继承权限时,这很有用。