一、DBMS原理
1.1 DB物理存儲
1.1.1 磁盤的結構&特性
1.1.2 DBMS數(shù)據(jù)存儲&查詢原理
- 記錄:磁盤塊 。OS的文件存儲記錄表(FAT)記錄 數(shù)據(jù) 在哪些磁盤塊當中block
- 數(shù)據(jù)先加載到內(nèi)存緩沖區(qū)中,有一個內(nèi)存頁page & block的對應表
- 磁盤塊Block已經(jīng)裝載進了磁盤頁Page,有一個 記錄Record & 記錄所在內(nèi)存位置Point的映射
記錄:磁盤塊
數(shù)據(jù)有定長記錄&變長記錄(靠分隔符區(qū)分開始&結束)
一條記錄在數(shù)據(jù)塊中也可以是跨塊的
數(shù)據(jù)庫-表所占磁盤塊的分配方法
- 連續(xù)分配:數(shù)據(jù)塊被分配到連續(xù)的磁盤塊上
- 鏈接分配:包含指向下一個數(shù)據(jù)庫的指針(訪問速度影響)
- 按簇分配:簇連續(xù)若干的磁盤塊,簇內(nèi)連續(xù)分配,簇之間用指針連接,
- 簇:也稱為片段Stagement / 盤區(qū)extent
- 索引分配:索引塊中存放指向實際數(shù)據(jù)塊的指針
1.2 DB文件組織方法
數(shù)據(jù)組織要考慮更新(增刪改) & 檢索的需求
索引會處理整個數(shù)據(jù)庫、大批量處理
**文件組織:**數(shù)據(jù)組織成記錄、塊、和訪問結構的方式,包括把記錄和塊存儲在磁盤上的方式,以及記錄和塊之間相互聯(lián)系的方法
**存取方法:**對文件采取的存取操作方法,可以采用多種
1.2.1 無序文件組織 堆文件
heap 或 pile file
特點:記錄存儲在人為有空間的位置,磁盤上存儲的記錄是無序的。更新效率高,檢索效率低
刪除時,標記一下,并不是真正的刪除
多次頻繁刪除后,需要重新組織順序
數(shù)據(jù)庫重組: 通過移走被刪除的記錄使有序存放
1.2.2 有序記錄文件
排序文件Sequential
順序加入: 存儲是有序的,檢索效率高
排序字段(Ordering field),通常使用關系中的主碼,又稱為排序碼
更新效率低,解決方法:
- 為可能插入的數(shù)據(jù)預留空間
- 創(chuàng)造一個臨時的無序文件,需要數(shù)據(jù)重組(將溢出文件合并到主文件中,并恢復主文件中的記錄順序)
1.2.3 散列文件(Hash File)
特點:用散列函數(shù)來計算應該存放的位置(桶號bucket,塊號或簇號),檢索效率都挺高
散列字段(Hash field),也通常采用主碼,又稱散列碼(Hash key)
1.2.4 聚簇文件(Clustering File)
聚簇:將有相同或相似屬性值的記錄存放在連續(xù)的磁盤簇塊種
多表聚簇:多個相互關聯(lián)的table存儲在同一個文件中,提高多表的效率
1.3 Oracle 物理存儲簡介
數(shù)據(jù)庫DataBase
表空間tablespace
操作系統(tǒng)文件Datafiledatafile
table
段segment
盤區(qū)extent
基本數(shù)據(jù)塊data blocks
邏輯存儲層
- 所有表的容量就是數(shù)據(jù)庫的存儲容量
- 系統(tǒng)表空間:系統(tǒng)自動創(chuàng)建,用戶表空間:用戶創(chuàng)建的表
- 表:OSFile = 1 :n
物理存儲層
- 物理存儲層:段segment、盤區(qū)extent、數(shù)據(jù)塊data block構成
- 簇:特定數(shù)量連續(xù)的數(shù)據(jù)塊。
- 盤區(qū)extent是動態(tài)的,隨不同數(shù)據(jù)庫存儲需求而調(diào)整
- 段 一組分配了特定數(shù)據(jù)結構的盤區(qū):數(shù)據(jù)段、索引段、臨時段
- 表:段 = m : n。一個段放置多個表數(shù)據(jù)(聚簇文件)
SQL的create table的三種功能:文章來源:http://www.zghlxwxcb.cn/news/detail-419467.html
- 定義模式
- 定義物理存儲結構
- 定義完整約束
文章來源地址http://www.zghlxwxcb.cn/news/detail-419467.html
到了這里,關于數(shù)據(jù)庫系統(tǒng)-數(shù)據(jù)物理存儲的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!