資料庫原理及應用系列筆記之DBMS

2021-10-03 11:34:58 字數 1594 閱讀 6795

ufi 提供給使用者的即席訪問介面

api 由資料庫系統提供給資料庫的各種使用方法

單程序結構

多程序結構【滿足多使用者多工】、多執行緒結構

為了解決此問題,建立執行緒

dbms程序的結構

公共空間

catlog 目錄

locktable 封鎖表

buffer

查詢乙個檔案的大部分元組

查詢某條特定元組

查詢若干條元組【不超過15%】

範圍查詢

更新堆檔案

has**件

堆檔案+b加樹索引

動態hash

柵格結構檔案

raw disk機制/clustering (簇集儲存)代數優化

dbms內部會用關係代數表達查詢,通過分析器生成查詢樹。

相關概念

等價變換規則

連線和笛卡爾乘積的結合律

投影操作的串接律

選擇操作的串接律

選擇與投影操作的交換律

選擇的條件只與單個表有關,可以把選擇的操作壓到連線操作的下面

附和並相容的可以壓下去

基本原則

操作優化

選擇操作的優化

投影操作的優化

集合操作的優化

連線操作的優化

巢狀迴圈的改進【??】

歸併掃瞄演算法

b+樹索引

hash 連線

組合操作的優化主要目的

要求滿足

常用地恢復策略

備份+日誌

相當於通過日誌重演資料庫的所有變化

不會丟失資訊,保證資料庫資料的一致性,不會產生丟失更新

事務 acid準則

acid準則的應用

恢復使用的相關資料結構

資料結構包括

兩個規則

提交規則

日誌提前規則

資料庫恢復方法

冪等性

三種更新策略

通過active list 和commit list 的tid的狀態判斷故障時事務的進展情況是要 redo 還是undo

遇到commit 命令後將改動的資料寫入db【比第一種更新策略效率高】【需要redo,不需要undo】

ai寫入db和commit命令併發執行【可能需要redo ,也可能需要undo】

可序列化

封鎖法及其鎖協議

核心想法

鎖協議定義二:如果在申請鎖之後再訪問資料就是well-formed,如果未申請鎖就直接訪問資料不是well-formed.

定理及結論

(s,x)鎖協議

(s,u,x)鎖協議

死鎖與活鎖

死鎖的解決辦法

死鎖檢測與死鎖預防

死鎖檢測

構造等待圖:頂點集合就是參於的事務,等待關係就是邊

死鎖預防

等死法:當ta要申請的鎖被tb占有了,比較兩者時間戳,如果自己年齡更小,就殺了自己sleep一會再執行,自己年齡更大,就等待。

等法:當ta要申請的鎖被tb占有了,比較兩者時間戳,如果比較更小,就等待,自己年齡大,就殺了自己sleep一會再執行。

多粒度封鎖【???】

資料庫原理及應用系列筆記之資料庫安全與完整性約束

資料庫資料被破壞的原因 保證資料庫資料安全的措施 使用者標識和使用者認證 授權 許可權檢查 role 角色機制 資料加密 審計追蹤 如果只有乙個元組r謂詞p,那麼 隱含約束 顯示約束 通過應用程式,不滿足條件的資料不接受 資料庫的更新 增 刪 更新 針對單個表的約束create table sail...

資料庫原理及應用 學習筆記2

二 關聯式資料庫 1 常見的資料模型有 層次模型 網狀模型 關係模型 物件導向模型。2 關係資料庫系統是指支援關係模型的資料庫系統。關係資料模型由關係資料結構 關係操作模型和完整性約束3個部分組成。a 關係資料結構 關係模型中的資料結構其實就是一張二維表。b 關係操作集合 交並差 選擇 投影 連線 ...

資料庫原理及應用 2

單一的資料結構 關係 現實世界的實體以及實體間的各種聯絡均用關係來表示 邏輯結構 二維表 從使用者角度,關係模型中資料的邏輯結構是一張二維表 建立在集合代數的基礎上一組具有相同資料型別的值的集合 笛卡爾積可表示為乙個二維表 表中的每行對應乙個元組,表中的每列對應乙個域 d1 d2 dn的子集叫作在域...