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的子集叫作在域...