SQL的数据控制功能
9 @2 S$ m3 A, w: P SQL数据控制功能是指控制用户对数据的存取权力。某个用户对某类数据具有何种操作权力是由DBA决定的。这是个政策问题而不是技术问题。数据库管理系统的功能是保证这些决定的执行。为此它必须能:( P. K- a. ]* b* R
(1)把授权的决定告知系统,这是由SQL的GRANT和REVOKE语句来完成的。" u, B1 O G! S9 c) o* t" v
(2)把授权的结果存入数据字典。
) `. d) ^8 d( I3 _ (3)当用户提出操作请求时,根据授权情况进行检查,以决定是执行操作请求还是拒绝之。授权语句的一般格式为:: A! i5 L- g$ g& R* ~: E, @" X
GRANT权力[,权力]…[ON对象类型对象名] TO用户[,用户]…,7 Y- @: b# ^7 l) l. u8 D+ o
[WITH GRANT OPTION];, K8 Z! \9 l6 ?
对不同类型的操作对象可有不同的操作权力。4 A' Z" R' ]! B+ @( O
(1)对基本表、视图及其字段的操作权力有查询、插入、更新、删除以及它们的总和ALL PRIVILEGE。$ j# c, E3 x1 }9 O5 `5 ^
(2)对基本表的操作权力还有修改(ALTER)和建立索引(INDEX)。
J/ b: r/ |6 c Y2 e9 p2 Y. ~ (3)对数据库的操作权力有建立表(CREATETAB)。某用户有了此权力就可以使用Create table建立基本表。称他为表的主人,拥有对此表的一切操作权力。
, c5 @- b% R. ~7 W! K% ? (4)对表空间的权力有使用(USE)数据库空间存储基本表的权力。
8 F. O' Y. u. T' P, u% p& b (5)系统权力有建立新数据库(CREATEDBA)的权力。GRANT语句中的任选项WITH GRANT OPTION的作用是使获得某种权力的用户可以把权力再授予别的用户。 |