數(shù)據(jù)庫系統(tǒng)概論—基礎篇(3)
三.數(shù)據(jù)庫安全性
1.數(shù)據(jù)庫安全性概述
數(shù)據(jù)庫的安全性指保護數(shù)據(jù)庫以防不合法使用所造成的數(shù)據(jù)泄露、更改或破壞
2.數(shù)據(jù)庫安全性控制
2.1用戶身份鑒別
- 靜態(tài)口令鑒別
- 動態(tài)口令鑒別
- 生物鑒別特征
- 智能卡鑒別
2.2存取控制
- 自主存取控制:給用戶限權(DAC,C1級)
- 強制存取控制:給數(shù)據(jù)庫對象一定的密級(MAC,B1級)
2.3自主存取控制方法(授權:授予與收回)
- 授權
Grant 權限
on (類型,表/視圖...) 對象名1,(類型,表/視圖...) 對象名2...
to 用戶1,用戶2...
with grant option;(是否可以傳播該權限)
- 收回
Revoke 權限
on (類型,表/視圖...) 對象名1,(類型,表/視圖...) 對象名2...
from 用戶1,用戶2...
CASADE/RESTRICT;(是否級聯(lián))
- 創(chuàng)建用戶
CREATE USER 用戶名
with DBA/RESOURCE/CONNECT;
DBA:超級用戶,有所有數(shù)據(jù)庫對象的限權
RESOURCE:能創(chuàng)建表和視圖
CONNECT:只能在限權內操作
2.4數(shù)據(jù)庫角色
數(shù)據(jù)庫角色是一組數(shù)據(jù)庫操作相關的權限的集合(權限的集合)
#授予
Grant 權限
on (類型,表/視圖...) 對象名
to 角色1,角色2...;
#收回
Grant 權限
on (類型,表/視圖...) 對象名
from 角色1,角色2...;
2.5強制存取控制方法(數(shù)據(jù)加密)
主體:用戶;客體:數(shù)據(jù)
- 主體的許可證 >= 客體的密級時,該主體才能讀取相應的客體
- 主體的許可證 <= 客體的密級時,該主體才能寫相應的客體
3.視圖機制
視圖可以隱藏部分數(shù)據(jù),控制要查詢的數(shù)據(jù)是否對用戶是可見的
4.審計
審計功能把用戶對數(shù)據(jù)庫的所有操作記錄下來放入審計日志
四.數(shù)據(jù)庫完整性
數(shù)據(jù)庫完整性是數(shù)據(jù)庫的正確性和相容性,是為例防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù)。
1.實體、參照完整性
- 實體:非空唯一,在CREATE TABLE中使用PRIMART KEY定義。(主碼)
- 參照:外碼,參照表的主碼是被參照表的主碼
2用戶自定義完整性
針對某一具體應用的數(shù)據(jù)必須滿足的語義要求。
- 屬性上的約束(列級)
NOT BULL:列值非空
UNIQUE:列值唯一
CHECK:是否滿足條件(類型 屬性 CHECK(Ssex in('男','女'))性別在男女中選)
- 元組上的約束(表級)
eg:當性別是男,名字不以”Ms.“開頭
建表...
CHECK(Sex = '女' or Sname not like'Ms.%');
3.完整性約束字句
給約束起名字,CONSTRAINT 約束名一起使用
CONSTRAINT 約束名 約束條件;
4.斷言
更一般的約束文章來源:http://www.zghlxwxcb.cn/news/detail-435792.html
#創(chuàng)建
CREATE ASSERTION 斷言名
CHECK字句;
#刪除
DROP ASSERTION 斷言名;
5.觸發(fā)器
由事件觸發(fā)的特殊過程(事件條件功能)文章來源地址http://www.zghlxwxcb.cn/news/detail-435792.html
#創(chuàng)建
CREATE TRIGGER 觸發(fā)器名
BEFORE/ALTER 觸發(fā)事件 on 表名
REFRTENCING NEW/OLD ROW AS 變量#NEW/OLD ROW是兩個表(新/舊)
FOR EACH ROW/STATEMENT#行級/列級
WHEN 觸發(fā)事件 觸發(fā)動作;
#刪除
DROP TRIGGER 觸發(fā)器名 on 表名;
到了這里,關于數(shù)據(jù)庫系統(tǒng)概論—安全、完整性的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!