こんにちは。エンジニアの加戸です。
今回は表、表領域、データファイルについてお話しします。
まずは表、表領域、データファイルがどのようなものかを簡単に説明します。
表とは?
表は、Oracle データベースを利用する人にとって一番身近なものになると思います。表は列と行からなり、列名に応じて情報を確認できます。
例えば、表は目的や用途に応じて様々な種類がありますが、とある社員表を確認すると以下のように情報が表示されます。
表領域とは?
表領域は表の入れ物です。表領域も用途により複数ありますが、表は必ずどこかの表領域に属しています。
データファイルとは?
データファイルには表のデータがバイナリ形式で格納されています。続いて、表、表領域、データファイルの関係性をみていきましょう。
論理構造と物理構造
表領域は表の入れ物とお話しましたが、これらはデータファイルとどのように関係しているのでしょうか。それを理解するためには、データ構造として「物理構造」と「論理構造」の二つを知る必要があります。
論理構造
データ管理を容易にするためのOracleの内部的な構造であり、今回の場合だと表や表領域が論理構造です。物理構造
OSレベルで確認できるファイルのことであり、OSファイルであるデータファイルは物理構造です(その他には、Oracle DatabaseではREDOログファイル、アーカイブログファイル、制御ファイルがあります)。このように、表と表領域は論理構造であり、データファイルは物理構造ですが、論理構造と物理構造にも対応関係があります。それは表領域は1つ以上のデータファイルで構成されるということです。
前述の通り、表の入れ物は表領域です。
つまり、表を作成するときに保存先として指定するのは表領域です。
表領域という論理構造があることで、データファイルの物理的な位置や名前を意識することなく表を作成でき、楽に管理できるようになります。
まとめ
今回は表、表領域、データファイルについて説明しました。最後にポイントをまとめておきます。・表は列と行からなり、列名に応じて情報を確認できる
・表領域は表の入れ物である
・表、表領域は論理構造、データファイルは物理構造
・表領域と1つ以上のデータファイルが対応している
・表の保存先として指定するのは表領域の名前
・表のデータは、表領域に対応するデータファイルにバイナリ形式で格納される