データベースの「論理構造」とは何か:ゼロからのリレーショナルデータベース入門(3)(3/3 ページ)
エクステントとは、連続したデータブロックで構成される領域を確保する単位のことです。例えば「社員表」を作成して表にデータをINSERTすると、領域はエクステント単位で確保され、その中のデータブロックに1行1行のデータが格納されていきます。もちろん、データが格納されていないデータブロックは空の状態です(図6)。
図6 エクステントは連続したデータブロックから構成される
その後、データが追加されてエクステント単位で確保したデータブロックが全て使用されると、同じ表領域内に次のエクステントが確保されます。必要なのはデータブロック1つ分だけでよい場合であっても、領域はエクステント単位で確保されます(図7)。
図7 領域は、常にエクステント単位で確保される
なお、表領域には異なる複数の表を格納できるため、通常は図8のように複数の表のエクステントが混在することになります。
図8 表領域には、複数の表のエクステントが含まれる
今回は、Oracle Databaseでの論理単位を例に、データベースの論理構造を解説しました。論理構造のファイルは、物理構造のOSファイルのように「見えるファイル」ではないのでイメージしにくいものかもしれませんが、論理構造への理解は、今後、データベースの領域管理を行っていく上で非常に重要です。以下のポイントで復習をしておきましょう。
- 表領域とは、データファイルをグループ化した単位である
- 1つの表は、表領域内でセグメント単位で管理される
- セグメントとは、表などに確保されたエクステントの集合体である
- エクステントとは、連続したデータブロックで構成される領域確保の単位である
- データブロックとは、行データを格納する領域であり論理構造の最小単位である
【2016/10/5】2016年時点の状況に合わせて、内容を追記更新しました
【2008/07/16】初版公開
株式会社アシスト サービス事業部教育部所属。Oracle研修の講師としてリカバリーやチューニングなど幅広い研修を担当。ていねいで誠実な対応が受講者に高い評価を得ている。群馬県をこよなく愛している
株式会社アシスト 支援統括部教育部(当時)。データベース管理者コースを中心に講師を担当。サポートセンター時代に培った障害対応の体験談を講義に交えるなど、常に受講者の立場に立った講義には定評がある。趣味はサーフィンと子育て
- SQLの基礎 「SELECT」文を覚えよう
- SQLとはどういう言語か
「SQLは何となく苦手」という人は意外と多いものです。すでに何らかのプログラミング言語を習得している人を見ても、SQLを苦手としている人は少なくありません。そこで、実際にSQLを入力して結果を見ながら学習する連載を始めます。用意するのはインターネットにつながったWebブラウザだけ。気軽に始めてみてください。(編集部)
- RDBMS製品のビッグ3、それぞれの“癖”をつかもう
本連載はOracleを使ったデータベースシステムの開発・運用管理にある程度の知識を持つ読者を対象に、Oracle以外の商用RDBMSであるMicrosoft SQL ServerとIBM DB2とのアーキテクチャの違いを明らかにし、マルチベンダに対応できるデータベースシステムの設計・開発・運用ノウハウを紹介していく。(編集局)
- NoSQLはRDBMSに取って代わるものなのか?
「memcached」や「Apache Cassandra」、「Apache CouchDB」など、RDBMSとは異なる考えで設計してあるデータベース管理システムが普及しつつあります。この連載では、これら新しいデータベース管理システムの特徴と、RDBMSとの使い分け方について解説します。(編集部)
Copyright © ITmedia, Inc. All Rights Reserved.