第十七講 數據庫的物理存儲
1.數據存取的單位:內存與cpu按字存取,而內存與外存按塊存取;
2.操作系統對於數據的組織方式:文件
3.關於磁盤:磁盤讀取數據的時間=尋道時間+旋轉時間+傳輸時間
4.關於RAID技術:將一個文件按照(位/塊)拆分,存在不同的磁盤上,並行讀取,從而增加讀取的速度
5.DBMS的數據存取流程:
6.數據記錄在磁盤上的體現:
。
7.區分定長記錄與變長記錄:定長記錄有固定的長度,而變長記錄則有分隔符來決定開始和結束
8.表所佔的磁盤塊的分配方法:
9.文件組織方式:①無序(heap file)
數據庫重組:即將刪除位置後的數據往前提,重新補充空缺位置
②有序
缺點:在更新的時候,放在溢出文件中,等數據庫重組的時候再併到一起
③散列:
如何處理溢出:會在桶內添加一個指針指向一個溢出桶,再數據庫重組的時候可能要調整桶的大小,或者才用動態散列技術
④聚簇:
10:關於ORACLE的數據庫組織:
錯題分析:
若是再不同的柱面上則需要新的尋道時間,減慢速度
當存入數據庫後,則不再對記錄調整,之後數據庫重組進改變其物理存儲
均勻!!!所以選擇散列
第十八講 數據庫索引
1.索引的定義:
存儲索引的稱作索引文件,而存儲所有記錄的叫做主文件,通常會把索引文件整個載入到內存當中,而不把主文件完整載入,
而在更新的時候,二者會同步更新,由DBMS負責
2.索引文件的特性以及類別:
首先索引文件不會改變主文件,但是可以明顯提高檢索的速度
3.索引的好與壞:
4.概念區分:
一定要區分碼和索引碼
5.關於索引:
索引碼可以爲多屬性
6.稠密索引和稀疏索引:
各自特點:稠密:搜索速度更高,但是會佔據更多的空間, 稀疏:要求索引字段按照一定的規律排列,而且佔據的空間更小,更小的維護任務
稠密索引分兩種:①指向候選鍵的 ②不值向候選鍵的(可以分爲索引文件中的索引字段重複或者索引字段不重複的,後者要求主文件會按照索引字段排序) 稠密索引還可以將索引指向一個桶,桶中的指針指向對應索引的記錄
7.何爲主索引:
主索引是稀疏索引
8.輔助索引:
即用來快速檢索非排序字段的工具
9.其他索引:
倒排索引:用來做關鍵字搜索的
多級索引:B+樹,B樹
B+樹索引:非爲根節點,非葉子節點(指針指向非葉子節點(亦稱索引塊)和葉子節點),葉子節點(指針會指向主文件)
B樹索引:非爲根節點,非葉子節點(指針指向非葉子節點(亦稱索引塊)和葉子節點,還有主文件),葉子節點(指針會指向主文件)
散列索引:
當一個桶放滿了則會放在溢出桶中,當進行刪除操作的時候,出現空位則可將溢出桶的記錄放進去,然後刪掉溢出桶
動態散列索引分類:
①可擴展散列索引:有參數k和i,k表示最多可擴展的桶是2的k次方,而i表示現在的前i位是標識不同的桶的,可以分成2的i次方個桶
②線性散列索引:有參數i,n,r
由於分裂不及時,有時還是會出現溢出桶,分裂的時候從溢出桶中提取對應的記錄
分析:當採用稠密索引的時候,可以使用桶,那麼多個同條件的記錄則會擁有同一個索引項
分析:葉節點指的是主文件存儲塊,或者右邊的葉節點
分析:從旁邊借過來亦稱合併,但不會減少索引存儲塊的數目