第3部分:關係資料庫管理系統原理part1
阿新 • • 發佈:2022-05-16
題型:選擇題、填空題、演算法題、分析題分值:約35%
第7章:資料庫儲存
要求準確掌握基本概念和基本原理
儲存介質:儲存介質的分類(主儲存器、⼆級儲存器、三級儲存器、易失儲存器、⾮易失儲存器)
主儲存器:位元組定址,快取記憶體,記憶體暫存器,CPU直接訪問
二級儲存器
-
磁碟、硬碟 按塊定址、cpu不能直接訪問、聯機使用
三級儲存器
磁碟光碟 可以離線使用、按塊定址、通過二級儲存器才能訪問
資料傳輸速度和大小對比
易失性儲存器與非易失性儲存器
非易失性記憶體
磁碟的塊與組成部分
基於磁碟的資料庫儲存結構:屬性值的表示、元組的表示、⻚的佈局、⽂件的組織
-
磁碟能永久儲存,所以用磁碟存資料庫;檔案以檔案頁構成;需要將磁碟中把頁讀到記憶體中。
-
將記憶體對映到虛擬記憶體中,無法控制作業系統如何排程,所以不能用作業系統管理
屬性值的表示
數的表示
字串的表示:按字元限定
字串的表示:按位元組限定
元組的表示
元組頭
元組資料:4位元組對齊
變長元組的佈局:放兩端
頁的佈局
頁頭
頁資料:面向元組和麵向日志
面向元組資料組織
分槽頁
-
尾部放元組(一個槽,位元組對齊)
-
頁頭後放起始位置的偏移
頁頭中的元資料
-
最後一個槽的起始位置的偏移量因為是倒敘,就是新元組插入的位置。
記錄號
溢位頁
碎片化
日誌結構頁的佈局
日誌記錄
讀元組:
-
從後往前找記錄,然後重建即可
日誌索引
-
幫助更快的讀
日誌記錄的合併
檔案組織
分類
堆檔案組織
-
任意順序儲存,連結串列和頁目錄兩種組織方法
基於連結串列的組織
-
頭頁兩個指標,分別指向空閒的和有資料的
基於頁目錄的組織
-
記錄 頁的位置和是否空閒
順序檔案組織
-
插入如果不符合順序,需要將後面所有的元組往後挪位置,很慢,適用於排序鍵是主鍵的儲存
雜湊檔案組織
-
利用雜湊函式
緩衝區管理:緩衝池的結構、⻚請求、⻚釋放、⻚替換策略
-
cpu藉助緩衝區與磁碟中資料互動
緩衝池的結構
-
記憶體區域分頁
頁表
頁框中的元資料(基本資料)
-
pincount 表示當前引用的計數
-
表示是否被修改過
頁的功能:請求修改和釋放
頁請求
-
有則pincount+1
-
沒有則選擇一個pin_count=0的頁框,髒頁寫回,否則直接讀入需要的頁,並將pin_count=1
-
沒有pin_count=0,則需要等待,或者直接abort,防止死鎖
頁的釋放
頁的修改
頁替換策略
最近最少使用策略
-
效率不高
時鐘替換策略
-
LRU的近似,這樣做選擇了一個較長時間沒有訪問的表
-
reference bit讀入或者訪問時賦值為1
-
掃過為1賦值為0,否則進行替換
預取
-
提前取
緩衝池和虛擬記憶體的比較
-
dbms預測更準確
-
強制寫回
第8章:索引結構
要求準確掌握基本概念熟練運⽤可擴充套件雜湊表、線性雜湊表、B+樹的操作演算法
外存雜湊表的分類
可擴充套件雜湊表:資料結構、查詢索引項的演算法、插⼊索引項的演算法
資料結構
性質
查詢
插入
刪除
線性雜湊表:資料結構、查詢索引項的演算法、插⼊索引項的演算法
資料結構
查詢
插入
可擴充套件雜湊表和線性雜湊表對比
B+樹:資料結構、點查詢演算法、區間查詢演算法、插⼊索引項的演算法、刪除索引項的演算法
資料結構
區間查詢
插入
刪除