1、數據控制
數據控制是控制對用戶存取的權力,由DBA來決定。DBMS數據控制與功能:
1、通過GRANT和REVOKE將授權通知系統,並存入數據字典。
2、當用戶發起請求時,根據授權情況檢查是否執行操作請求。
SQL標準包括 delete、insert、select、update權限。select權限屬於讀權限。SQL還包括了reference權限,用來限制用戶在創建關係時定義外碼的能力。
2、授權的語法格式
GRANT<權限>[,<權限>]……[ON<對象類型><對象名>]TO<用戶>[,<用戶>]…… [WITH GRANT OPTION]
注意:不同類型的操作對象具有不同的操作權限
屬性列:delete、insert、select、update、all privileges (前4個權限的總和)
視圖:delete、insert、select、update、all privileges (前4個權限的總和)
基本表:delete、insert、select、update、alter、index、all privileges (前6個權限的總和)
資料庫:CREATETAB建表權限,可由DBA授予普通用戶。對應類型時資料庫。
參數說明:
WITH GRANT OPTION:若指定了此子句,那麼獲得了權限的用戶還可以將權限賦給其他用戶。
例子:
grant all privileges on table Studnet to user1,user2;
grant update on table to user1 WITH GRANT OPTION;
3、收回權限的語句格式
REVOKE<權限>[,<權限>]……[ON<對象類型><對象名>]From<用戶>[,<用戶>]……[RESTRICT|CASCADE]
語法說明:RESTICT 表示只回收指定用戶的權限,CASCADE 表示回收指定用戶及其授予其他用戶的該權限。
REVOKE all privileges on table studnet from user1,user2
revoke select on table student from public