数据控制也称为数据保护,包括数据的安全性控制、完整性控制、并发控制和恢复。
数据库的安全性是指保护数据库,防止不合法的使用所造成的数据泄露和破坏。数据库系统中保证数据安全性的主要措施是进行存取控制,即规定不同用户对不同数据对象所允许的执行操作,并规定用户只能存取其权限内的数据。
授权使用 GRANT
语句,允许数据库管理员或具有足够权限的用户将特定数据对象的特定操作权限授予其他用户。
其一般格式为:
GRANT <权限>[,<权限>]...
[ON<对象类型><对象名>]
TO<用户>[,<用户>]...
[WITH GRANT OPTION]:
不同类型的操作对象有不同的操作权限,如表所示。
接受权限的用户可以是一个或多个具体用户,也可以是 PUBLIC(表示全体用户)。
如果指定了 WITH GRANT OPTION 子句,则获得某种权限的用户还可以把这种权限再授予别的用户;如果没有指定 WITH GRANT OPTION子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。
授予用户 U1 和 U2 对 C
表和 S
表的全部权限:
GRANT ALL PRIVIEGES ON TABLE C,S TO UL,U2;
授予用户 U3 对 C
表的查询和修改 Cname
权限,并允许其将此权限授予其他用户:
GRANT SELECT,UPDATE(Cname) ON TABLE C TO U3
WITH GRANT OPTION;
授予用户 U3 在数据库 S
中建立表的权限:
GRANT CREATETAB ON DATABASE S TO U3;
注意:
WITH GRANT OPTION
允许用户再次授予其所获得的权限。已授予的权限可以通过 REVOKE
语句被收回。
其一般格式为:
REVOKE <权限>[,<权限>]...
[ON<对象类型><对象名>]
FROM<用户>[,<用户>]... ;
把用户 U1 对 C 表和S 表的全部权限收回
REVOKE ALL PRIVIEGES ON TABLE C,S FROM Ul;
把用户 U3 的修改 Cname 的权限收回
REVOKE UPDATE(Cname) ON TABLE C FROM U3:
注意: