1、数据控制
数据控制是控制对用户存取的权力,由DBA来决定。DBMS数据控制与功能:
1、通过GRANT和REVOKE将授权通知系统,并存入数据字典。
2、当用户发起请求时,根据授权情况检查是否执行操作请求。
SQL标准包括delete、insert、select、update权限。select权限属于读权限。SQL还包括了reference权限,用来限制用户在创建关系时定义外码的能力。
2、授权的语法格式
GRANT权限[,权限]……[ON对象类型对象名]TO用户[,用户]……[WITHGRANTOPTION]
注意:不同类型的操作对象具有不同的操作权限
属性列:delete、insert、select、update、allprivileges(前4个权限的总和)
视图:delete、insert、select、update、allprivileges(前4个权限的总和)
基本表:delete、insert、select、update、alter、index、allprivileges(前6个权限的总和)
数据库:CREATETAB建表权限,可由DBA授予普通用户。对应类型时数据库。
参数说明:
WITHGRANTOPTION:若指定了此子句,那么获得了权限的用户还可以将权限赋给其他用户。
例子:
grantallprivilegesontableStudnettouser1,user2;
grantupdateontabletouser1WITHGRANTOPTION;
3、收回权限的语句格式
REVOKE权限[,权限]……[ON对象类型对象名]From用户[,用户]……[RESTRICT
CASCADE]
语法说明:RESTICT表示只回收指定用户的权限,CASCADE表示回收指定用户及其授予其他用户的该权限。
REVOKEallprivilegesontablestudnetfromuser1,user2
revokeselectontablestudentfrompublic