數據庫系統概論04-數據庫角色授權和回收&斷言&屬性上的約束條件&觸發器&範式

數據庫角色授權和回收

角色的創建:CREATE ROLE 角色名

給角色授權:GRANT 權限 ON 角色 TO 用戶 WITH GRANT OPTION(表示可以將權限授予其他用戶)

角色授權的回收:REVOKE  權限 ON 對象類型 對象名 FROM 角色

屬性上的約束條件

  • 列值非空NOT NULL
  • 列值唯一UNIQUE
  • 檢查列值是否滿足一個條件表達式(CHECK短語)如:CHECK(Ssex IN('男','女'));CHECK(Ssex='女' OR Sname NO LIKE 'MS.%')

完整性約束命名子句

CONSTRAINT 完整性約束條件

完整性約束條件:NOT NULL、UNIQUE、PRIMARY KEY、FOREIGY KEY、CHECK短語

 

斷言

1.創建斷言語句:CREATE ASSERTION 斷言名 CHECK 子句

2.刪除斷言語句:DROP ASSERTION 斷言名

 

觸發器

用戶定義在關係表上由事件驅動的特殊過程

定義觸發器

事件-條件-動作規則

CREATE TRIGGER 觸發器名  /*每當觸發事件發生時,觸發器被激活*/
{BEFORE|AFTER} 觸發事件 ON 表名 
REFERENCING NEW|OLD ROW AS 變量    /*REFERENCING 指出引用的變量*/
FOR EACH {ROW|STATEMENT}/*定義觸發器的類型,指明動作體執行的頻率*/
WHEN 觸發條件 觸發動作體/*僅當觸發條件爲真時才執行觸發動作體*/

激活觸發器

由觸發事件激活,執行順序如下:

  1. 執行該表上的BEFORE觸發器
  2. 激活觸發器的SQL語句
  3. 執行該表上的AFTER觸發器

刪除觸發器

DROP TRIGGER 觸發器名 ON 表名

 

關係模式 R(U,D,DOM,F)

關係名R是符號化的元組語義

U爲一組屬性

D爲屬性組U中的屬性域

DOM爲屬性到域的映射

F爲屬性組U上的一組數據依賴

數據依賴最重要的是函數依賴(Function Dependency)和多值依賴(Mutil-Valued Dependency,MVD)

函數依賴中,X與Y是否存在函數依賴關係,只需考察X,Y的兩組屬性,與別的屬性無關。而在多值依賴中,X與Y是否存在多值依賴還需看屬性Z。

範式

  • 1NF:列數據不可分割。
  • 2NF:主鍵。表中每一行必須可被唯一地區分。
  • 3NF:外鍵,表中不包含已在其他表中包含的非主關鍵字信息。
  • 反三範式:有時爲查詢效率可設置重複字段。
  • 4NF:消除非平凡且非函數依賴的多值依賴
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章