データベースの「論理構造」とは何か:ゼロからのリレーショナルデータベース入門(3)(3/3 ページ)
リレーショナルデータベースのデータ構造は、大きく「物理構造」と「論理構造」に分けられます。前回解説したデータファイル、オンラインREDOログファイル、制御ファイルなどのRDBを構成するファイルが物理構造です。今回はもう1つのデータ構造である、「論理構造」の役割を解説します。【更新版】
「エクステント」の役割
エクステントとは、連続したデータブロックで構成される領域を確保する単位のことです。例えば「社員表」を作成して表にデータをINSERTすると、領域はエクステント単位で確保され、その中のデータブロックに1行1行のデータが格納されていきます。もちろん、データが格納されていないデータブロックは空の状態です(図6)。
その後、データが追加されてエクステント単位で確保したデータブロックが全て使用されると、同じ表領域内に次のエクステントが確保されます。必要なのはデータブロック1つ分だけでよい場合であっても、領域はエクステント単位で確保されます(図7)。
なお、表領域には異なる複数の表を格納できるため、通常は図8のように複数の表のエクステントが混在することになります。
「論理構造」のまとめ
今回は、Oracle Databaseでの論理単位を例に、データベースの論理構造を解説しました。論理構造のファイルは、物理構造のOSファイルのように「見えるファイル」ではないのでイメージしにくいものかもしれませんが、論理構造への理解は、今後、データベースの領域管理を行っていく上で非常に重要です。以下のポイントで復習をしておきましょう。
論理構造のポイントまとめ
- 表領域とは、データファイルをグループ化した単位である
- 1つの表は、表領域内でセグメント単位で管理される
- セグメントとは、表などに確保されたエクステントの集合体である
- エクステントとは、連続したデータブロックで構成される領域確保の単位である
- データブロックとは、行データを格納する領域であり論理構造の最小単位である
更新履歴
【2016/10/5】2016年時点の状況に合わせて、内容を追記更新しました
【2008/07/16】初版公開
筆者紹介
石尾覚
株式会社アシスト サービス事業部教育部所属。Oracle研修の講師としてリカバリーやチューニングなど幅広い研修を担当。ていねいで誠実な対応が受講者に高い評価を得ている。群馬県をこよなく愛している
初版:井坂太
株式会社アシスト 支援統括部教育部(当時)。データベース管理者コースを中心に講師を担当。サポートセンター時代に培った障害対応の体験談を講義に交えるなど、常に受講者の立場に立った講義には定評がある。趣味はサーフィンと子育て
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 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との使い分け方について解説します。(編集部)