【オラクル】Oracleのストレージ・データファイル・表領域・表の関係について初心者にもわかりやすく解説

Oracle
スポンサーリンク

Oracleのストレージ・データファイル・表領域・表の関係について正しく理解できていますか?オラクルに現在関わっている方・これから関わろうとしている方はこれらの用語を頻繁に目にするかと思います。この記事では、これら4つが互いにどう関係しているのか、初心者でもわかるように詳しく丁寧に解説します。

スポンサーリンク

ストレージ・データファイル・表領域・表の関係は?

まず、下の図をご覧ください。こちらが、4つの関係性を図示したものです。(あくまでも概念図です。)

図1. ストレージ・データファイル・表領域・表の関係性

ストレージとは何か?

ストレージ(storage)とは記憶装置のことで、データを格納するためのデバイスです。物理的な物で、代表的なものにはSSDやHDDなどがあり、家電量販店に行けば実物を目にすることができます。まず第一にストレージがなければデータを保存することができないので、データベースシステムを構築することはできません。ストレージはデータベースにとって欠かすことのできない存在なのです。ちなみに今皆さんはPCやスマホでこの記事をご覧になっているかと思いますが、その中にもストレージが内臓されています。

データファイルとは何か?

データファイル(datafile)とは、その名の通りデータを格納するためのファイルです。そしてこのデータファイルは、ストレージ内に保存されます。例えば皆さんも普段、PCでメモ帳を開いてメモをし、ファイルとして保存しますよね。それと同じです。Oracleに使ってもらうためのファイルをデータファイルと呼んでいるのです。余程の例外を除けば、ストレージの中には複数のデータファイルを作成し保存します。図1でも、1つのストレージの中に3つのデータファイルが保存されている様子を記載しています。(簡単のため3つにしていますが、現実にはもっと多いはずです。)

表領域とは何か?

表領域(table space)とは、1つ以上のデータファイルをグルーピングし、あたかも1つの領域であるかのように見せたOracleの世界の論理構造のことです。「グルーピング」や「見せかける」部分は、Oracle(ミドルウェア)が担当してくれます。この論理的な領域には、表を格納します。(実際には、索引なども格納します。)なので、表領域と呼ばれます。表領域の実体はデータファイルなので、大容量のデータファイルで構成すれば表領域の容量も大きくなり、その逆も然りです。

表(テーブル)とは何か?

表(table)とは、Oracleデータベースでデータを保存(insert)したり検索(select)したりする際に指定する論理的な領域のことです。図1のように、表領域の中には複数の表を作成することができます。例えば、従業員テーブル、部署テーブル、給与テーブル等のように、格納するデータの種類ごとに表を作成するのが一般的です(正規化という考え方と関係します)。

まとめ

ストレージはデータを格納するための物理的なデバイスで、その中にOSの機能を使用してデータファイルを作成します。

オラクル(ミドルウェア)はそのデータファイルを1つ以上まとめて、表領域という論理的な領域を構成します。表領域の中には表や索引(これらをオブジェクトと言います)を作成します。この表を指定して、データを挿入したり検索したり削除したりします。

コメント

タイトルとURLをコピーしました