4.Oracle之DCL的SQL語句之使用者許可權以及三大正規化
DCL (Data Control Language,資料庫控制語言)用於定義資料庫許可權
一、使用者許可權
1.1 建立使用者以及授權:
Eg :CREATE USER 使用者名稱 IDENTIFIED BY 密碼 ;
1.2 GRANT 許可權 TO 使用者名稱 ;
Eg:GRANT CREATE SESSION TO test ;建立許可權給test使用者
Eg:GRANT CONNECT,RESOURCE TO test ;把倆個角色許可權覆給test使用者
1.3修改test使用者密碼為hello :
ALTER USER test IDENTIFIED BY hello ;
1.4清除test密碼
ALTER USER test PASSWORD EXPIRE ;
1.5 將使用者賬號鎖住:ALTER USER 使用者名稱 ACCOUNT LOCK ;
解鎖:ALTER USER 使用者名稱 ACCOUNT UNLOCK ;
1.6 將scott使用者查詢和刪除許可權給test使用者
GRANT SELECT,DELETE ON scott.emp TO test ;
1.7 回收test使用者的許可權
REVOKE SELECT,DELETE ON scott.emp FROM test ;
二、資料庫三大正規化
第一正規化:當關系模式R的所有屬性都不能在分解為更基本的資料單位時,稱R是滿足第一正規化的,簡記為1NF。滿足第一正規化是關係模式規範化的最低要
求,否則,將有很多基本操作在這樣的關係模式中實現不了。
1.原子性不可再分 2.兩列相近的合併成一個列(地址中省,市不符合第一正規化)
第二正規化:如果關係模式R滿足第一正規化,並且R得所有非主屬性都完全依賴於R的每一個候選關鍵屬性,稱R滿足第二正規化,簡記為2NF。
1.一行資料只能對應一件事。資料重複就需要拆分表(聯絡人和訂單分開)
第三正規化:設R是一個滿足第一正規化條件的關係模式,X是R的任意屬性集,如果X非傳遞依賴於R的任意一個候選關鍵字,稱R滿足第三正規化,簡記為3NF.
1.沒有間接關係。主鍵於屬性有直接關係。
注:關係實質上是一張二維表,其中每一行是一個元組,每一列是一個屬性