(筆記)第五章 資料庫的安全性

2021-10-05 23:52:01 字數 1878 閱讀 2765

資料庫的安全性:指保護資料庫防止非法使用所造成的資料洩露、更改或破壞。

安全性控制:指要盡可能地杜絕所有可能的資料庫非法訪問。

安全性措施:

定義檢視

資料加密

審計 sql server 2012安全模型:

伺服器安全管理

資料庫安全管理

資料庫物件訪問許可權管理

windows身份驗證模式

混合身份驗證模式

設定身份驗證模式

sql server的伺服器角色

資料庫的使用者賬號

資料庫角色:與伺服器角色不同的是,資料庫角色許可權的作用域僅限在特定的資料庫內

使用者許可權管理

資料庫完整性:保護資料庫中資料的正確性、有效性和相容性,防止錯誤的資料進入資料庫造成無效操作

完整性和安全性的區別

構成 從執行時間上分兩類

一條完整性規則五元組——d,o,a,c,p

值約束和結構約束

靜態約束和動態約束

宣告式資料完整性

程式化資料完整性

實施資料完整性的方法

建立規則

create rule rule_name as condition_expression
規則的繫結與鬆綁

使用儲存過程sp_bindrule繫結規則

sp_bindrule [@rulename =] 'rule', [@objname =] 'object_name'[, 'futureonly']

futureonly:僅在繫結規則到使用者自定義資料型別上時才可以使用

使用儲存過程sp_unbindrule解綁規則

sp_unbindrule [@objname =] 'object_name'[, 'futureonly']

建立預設

create default default_name as constant_expression
預設的繫結和鬆綁

使用儲存過程sp_binddefault繫結預設

sp_binddefault [@defaultname =] 'default', [@objname =] 'object_name'[, 'futureonly']

使用儲存過程sp_unbinddefault繫結預設

sp_binddefault [@objname =] 'object_name'[, 'futureonly']

如果同時繫結了乙個規則和預設,預設應該符合規則的規定

刪除預設(刪除前應先解綁)

drop default  [,...n]
併發控制:防止多個使用者併發訪問同一資料時產生不正確的資料或破壞資料的完整性

併發控制就是解決這類問題保持資料庫中資料的一致性

事務:是資料庫系統中執行的乙個工作單位,它是由使用者定義的一組操作序列,

事務的特徵

丟失更新

汙讀不可重讀

封鎖型別

封鎖協議

封鎖粒度

死鎖和活鎖

死鎖產生的必要條件

死鎖的預防

順序加鎖法:預先對所有可加鎖的資料物件規定乙個加鎖順序,對每個事務都需要按此順序加鎖,在釋放時,按逆序進行

死鎖的診斷與解除:選擇乙個處理死鎖代價最小的事務,將其撤銷,並在之後加以恢復

資料庫的恢復:系統必須具有檢測故障並把資料從錯誤狀態中恢復到某一正確狀態的功能

資料庫恢復的原理:利用資料冗餘,恢復系統應提供兩種型別的功能:生成冗餘資料和冗餘重建

生成冗餘資料

事務故障:採用事務撤銷

系統故障

介質故障

資料庫第五章

資料庫的完整性 資料的正確性 是指資料是符合現實世界語義,反映了當前實際狀況的 資料的相容性 是指資料庫同一物件在不同關係表中的資料是符合邏輯的 例如,學生的學號必須唯一 性別只能是男或女 本科學生年齡的取值範圍為14 50的整數 學生所選的課程必須是學校開設的課程,學生所在的院系必須是學校已成立的...

第五章 資料庫

資料庫按照一定的規則儲存程式資料,程式再發起查詢取回所需的資料。web程式最常用基於關係模型的 資料庫,這種資料庫也稱為sql資料庫。因為它們使用結構化查詢語言。近幾年流行文件資料庫 和 鍵值對資料庫 成了最流行戴爾替代選擇,這兩種資料庫合稱nosql資料庫。nosql資料庫一般使用集合代替表,使用...

第五章 資料庫完整性

解釋一下斷言 assertion 斷言是資料庫中一種更具一般性的約束機制,任何對斷言中有涉及的關係進行操作都會觸發斷言的檢查,如果斷言結果不為真,則該操作會被拒絕執行。舉乙個生活中的例子 小a是一家之主,月初他定下了乙個小目標 這個月家裡的開銷要限制在一萬元以內 然後每次他和他妻子花錢的時候都會觸發...