資料庫安全與保護 資料庫系統原理(本科)

2021-10-04 09:33:05 字數 2420 閱讀 8432

一、完整性約束條件的作用物件

1、 列級約束:列型別,取值範圍,精確度的約束

主鍵primary key、外來鍵foreign key、唯一unique、檢查check、預設default、非空not null

2、 元組約束:各欄位之間相互約束,例如:開始日期小於結束日期

3、 表級約束:若干元組之間、關係之間的約束

二、定義與實現完整性約束

1、實體完整性:主鍵不能為空

2、參照完整性:實體之間參照某種關係

3、使用者定義完整性約束:使用者定義

三、命名完整性約束

constraint [symbol]

四、更新完整性約束

1、 刪除約束

alter table 表名 drop foreign key 外來鍵約束名

alter table 表名 drop primary key

alter table 表名 drop

2、 新增約束

alter table 表名 add constraint 主鍵名primary key 表名

alter table 從表 add constraint 外鍵名 foreign key 從表references 主表

保護表資料的資料庫物件, 當發生增刪改查的時候被觸發進行相應動作

一、建立觸發器

create trigger 觸發名 觸發時機(before | after) 觸發事件(insert | delete | update) on表名 for each row 一條sql語句或begin…end多條語句

所以可以說mysql建立以下六種觸發器:

before insert before delete before update

after insert after delete after update

二、刪除觸發器

drop trigger 觸發器名

三、使用觸發器

insert、delete、update都會觸發

一、使用者賬號管理

1、建立使用者:create user 『 使用者名稱 』 @ 『 主機名 』 identified 『 密碼 』

2、檢視使用者:select user,password from mysql.user

3、刪除使用者:drop user 使用者名稱@主機名

4、修改使用者:rename user 舊使用者名稱 to 新使用者名稱

5、修改密碼:set password [ for user ] = password( 『 新密碼 』 )

二、賬戶許可權管理——授權(grant)

新建立的使用者不允許任何操作,必須被授權

(1)列許可權:乙個具體列相關

(2)表許可權:乙個具體表相關

(3)資料庫許可權:乙個具體資料庫中所有表相關

(4)使用者許可權:所有資料庫所有表相關

一、事務的概念——恢復和併發控制的基本單位

使用者定義資料庫操作序列,要麼全做,要麼全不做,不可分割的工作單位

二、事務的特徵

原子性:要麼全部執行,要麼全部不執行。

一致性:事務前後,資料庫的狀態都滿足所有的完整性約束

隔離性:併發執行的事務是隔離的,乙個不影響乙個

永續性:事務所對資料庫所作的更改便持久的儲存在資料庫之中,並不會被回滾。

三、併發操作問題

1、丟失更新:後乙個事物更新的結果被前一事務所做更新覆蓋

2、不可重複讀:乙個事務兩次讀取同乙個資料,兩次讀取的資料不一致

3、髒資料:乙個事務讀取了另乙個事務未提交的資料

四、封鎖

事務在執行前向系統發出請求,對其封鎖,在事務執行前不被改變

排他鎖(t):事務完成前不需要被請求

共享鎖(s):可以被請求,但是要等事務完成才執行

粒度:描述封鎖的資料單元大小

活鎖:級別低的無法執行——避免方法:先來先服務策略

死鎖:兩個以上事務迴圈等待被同組中另一事務鎖住的情況

避免方法:一次性鎖請求、鎖請求排序、序列化處理、資源剝奪

資料丟失或被破壞原因:

1、硬體故障

2、軟體故障

3、病毒

4、誤操作

5、自然災害

6、盜竊

備份:select * from 表名 into outfile 『路徑/檔名.txt』

恢復:load data local infile 『路徑/檔名.txt』 into table 表名

資料庫 資料庫系統原理

事務指的是滿足 acid 特性的一組操作,可以通過 commit 提交乙個事務,也可以使用 rollback 進行回滾。事務被視為不可分割的最小單元,事務的所有操作要麼全部提交成功,要麼全部失敗回滾。回滾可以用回滾日誌來實現,回滾日誌記錄著事務所執行的修改操作,在回滾時反向執行這些修改操作即可。資料...

資料庫系統概論 資料庫安全

摘自 資料庫系統概論 王珊 2 revoke 授權使用者的許可權可以由資料庫管理員或其他授權者用revoke語句收回,revoke的語句一般格式為 revoke 許可權 on 物件型別 物件名 from 使用者 把使用者 u4 修改學生學號的許可權收回 revoke update sno on tb...

資料庫系統 資料庫 資料庫管理系統 資料庫系統

繼續寫資料庫系統的文章,第二篇 資料庫 資料庫管理系統 資料庫系統。本文主要談談這三者之間的關係。下方,摘自老師的ppt,非原創。資料庫管理系統 從系統角度看資料庫管理系統 資料庫系統 資料庫指的是長期儲存在計算機內有組織的,大量的,相關聯的,可共享的資料集合。資料應當是有組織的,不應該是雜亂無章的...