【Oracle】邏輯結構(TableSpace→Segment→Extent→Block)
一、邏輯體系結構圖
二、邏輯結構圖組成介紹
從上表可以看出,一個數據庫是由多個表空間(tablespace)組成,一個表空間又由多個段(segment)組成,一個段又由多個區(extent)組成,一個區則由多個塊(block)組成。
一個數據庫中,UNDO和SYSTEM表空間是必須存在的。
舉個例子:
話說張三是大壩縣的一個農民,每年秋收的稻穀都必須放到縣裡的糧倉裡統一管理。跟他一同去的還有李四、王五等以種稻谷為主的農民。
剛開始的時候縣裡糧倉給他分配了一塊5㎡的地方(block塊)給他存放。後來不夠用了,他又向管糧倉的領導申請了5㎡。誰知道今年大豐收,這10㎡的地方根本就不夠他用,下次又申請了5㎡。這三兩天就要了幾次地方放稻穀,領導覺得煩了,這樣下去豈不把我忙死?於是領導批准張三可以一次性申請90㎡(extent區)
而李四、王五也幾乎同時,也跟張三一樣發家致富,各自也建了自己的倉庫,李生倉庫(tablespace1)、王生倉庫(tablespace2)。。。
他們幾十個發家致富的農民的倉庫共同組成了大壩縣的糧食倉庫(database)。
三、總結
對於我們在資料庫裡新建資料庫(database),在資料庫中建立多個表空間(tablespace),在每個表空間內建表。例如我們可以分配多個使用者,在user1使用者下建立table1,table2,user2下建立table3,table4,user1、user2就等於不同的表空間,table1、table2是建立在表空間下的不同段(segment),而每張表的每個資料就是塊(block)