軟考——數據庫技術基礎之二
范式
第一范式1NF:所有屬性都不可以分割成兩個或多個分量
第二范式2NF:當且僅當R是1NF,且每個非主屬性都完全依賴主鍵(不存在部分依賴)時,R就是2NF
第三范式3NF:當且僅當R是3NF,且R中沒有非主屬性傳遞依賴于候選鍵時,R就是3NF。本質是主鍵要直接決定所有非主屬性,不能通過非主屬性間接決定。
BC范式BCNF:R屬于BCNF當且僅當其F中每個依賴的決定因素必定包含R的某個候選碼。
模式分解
無損分解:分解后的關系模式能還原出原來的關系模式
有損分解:不能還原
事務管理
事務提交commit,事務回滾rollback
事務:由一系列操作組成,這些操作要么全做,要么全不做
特性:
(操作)原子性:要么全做,要么全部做
(數據)一致性:事務發生后數據是一致的,例如銀行轉賬,不會存在A賬戶轉出但是B賬戶沒有收到的情況
(執行)隔離性:任意事務的更新操作直到其成功提交的整個過程對其他事務都是不可見的,不同事務之間是隔離的,互不干涉
(改變)持續性:事務操作的結果是持續性的
并發控制
概念:控制不同的事務控制不同的事務并發執行
丟失更新:1和2分別對數據A進行修改并寫回,事務2會覆蓋事務1的寫回數據,丟失了事務1對A的更新
不可重復讀:事務2讀A的同時,事務1對A進行修改并寫回,事務2重復讀取的時候發現A數據有誤
讀臟數據:事務1對A修改后,事務2讀A,然后事務1回滾,則事務2對數據A做的事是無效的,讀了臟數據
三級封鎖協議
一級封鎖協議:事務修改數據R前需要先加X(排他)鎖,事務結束才釋放。解決丟失更新
二級封鎖協議:一級基礎上,事務T讀數據R前對其加S(共享)鎖,讀完后釋放S鎖。解決丟失更新、讀臟數據
三級封鎖協議:一級基礎上,事務T在讀取數據R之前先對其加S鎖,直到事務結束才釋放。解決丟失更新、讀臟數據、數據重復讀
數據庫故障
事務內部
系統
介質
計算機病毒
數據庫備份
靜態轉儲:冷備份,轉儲期間不允許對數據進行任何讀取、修改
優點:快速、容易歸檔
缺點:某一時間點的恢復,不能做其他工作,不能按表或按用戶恢復
動態轉儲:熱備份,轉儲期間允許對數據庫進行存取、修改。轉儲和用戶事務可并發執行
優點:表空間或數據庫文件級備份,數據庫仍可使用,秒級恢復
缺點:不能出錯,否則后果嚴重
完全備份:備份所有數據
差量備份:僅備份上一次完全備份后變化的數據
增量備份:備份上一次備份之后變化的數據
日志文件:DBMS把事務開始、事務結束以及數據庫的插入、刪除、修改每一次操作寫入日志文件。
數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。