Oracle邏輯結構(TableSpace→Segment→Extent→Block)


一、邏輯體系結構圖

  

二、邏輯結構圖組成介紹

  從上表可以看出,一個數據庫是由多個表空間(tablespace)組成,一個表空間又由多個段(segment)組成,一個段又由多個區(extent)組成,一個區則由多個塊(block)組成。

  一個數據庫中,UNDO和SYSTEM表空間是必須存在的。

  舉個例子:

  話說張三是大壩縣的一個農民,每年秋收的稻谷都必須放到縣里的糧倉里統一管理。跟他一同去的還有李四、王五等以種稻谷為主的農民。

  剛開始的時候縣里糧倉給他分配了一塊5㎡的地方(block塊)給他存放。后來不夠用了,他又向管糧倉的領導申請了5㎡。誰知道今年大豐收,這10㎡的地方根本就不夠他用,下次又申請了5㎡。這三兩天就要了幾次地方放稻谷,領導覺得煩了,這樣下去豈不把我忙死?於是領導批准張三可以一次性申請90㎡(extent區),這樣的話張三就可以少去煩領導要地方放稻谷了。可是隨着張三的地一年一年地增多,收獲的稻子也一年比一年多,90㎡也不夠他用了,於是他再向領導申請,但這次他輕松多了,只去了一次,90㎡就到手了。。。但是很快,張三的業務發展迅速,已經不止種稻谷了,還種了蘋果!他又用同樣的方式申請了一塊90㎡的地方放蘋果,再下一年業務增加了種植菠蘿。。。就這樣一直發展,張三靠起家了,他這次真正的大豐收,縣里的糧倉給他分配的地方又不夠用了,張三就直接把整個糧倉(segment段)買了下來,正好儲備所有的農作物。但第二年,張三已經發展到養殖業了,於是直接在旁邊自己建了幾個倉庫,並且給這些倉庫(包括之前的糧倉)起了個名字,張生倉庫(tablespace)

  而李四、王五也幾乎同時,也跟張三一樣發家致富,各自也建了自己的倉庫,李生倉庫(tablespace1)、王生倉庫(tablespace2)。。。

  他們幾十個發家致富的農民的倉庫共同組成了大壩縣的糧食倉庫(database)

三、總結

  對於我們在數據庫里新建數據庫(database),在數據庫中建立多個表空間(tablespace),在每個表空間內建表。例如我們可以分配多個用戶,在user1用戶下建立table1,table2,user2下建立table3,table4,user1、user2就等於不同的表空間,table1、table2是建立在表空間下的不同段(segment),而每張表的每個數據就是塊(block),一列數據可看做一個區(extent),區滿了之后不斷擴展就組成了表。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM