1. 程式人生 > 其它 >第3部分:關係資料庫管理系統原理part1

第3部分:關係資料庫管理系統原理part1

第3部分:關係資料庫管理系統原理

題型:選擇題、填空題、演算法題、分析題分值:約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+樹:資料結構、點查詢演算法、區間查詢演算法、插⼊索引項的演算法、刪除索引項的演算法

 

資料結構

 

 

 

 

#### 點對點查詢

區間查詢

 

插入

 

 

 

 

 

 

 

 

 

 

 

刪除

 

 

 

 

 

 

 

 

 

 

 

線上演示:B+ Tree Visualization (usfca.edu)