データベースモデルの基本

データベース

 今回はデータベースのモデルについて書こうと思います。

モデル化

 はじめに、データベースは何を外部(ユーザなど)に見せれば使い勝手が良いのかを考えてみましょう。例として、大学の事務局に学生管理という業務があったとします。この業務のデータに「学籍番号、名前、学年、学科」などが存在しているとし、業務に必要のないデータである「好きな食べ物、特技」などのデータは存在していません。このように、必要なデータだけ取捨選択することをモデル化と言い、データベースの設計をするときには大切な考え方となります。

 このモデル化を広い範囲で、それぞれの目的に沿うような形で行う必要があります。データベースのモデルで、現在多く使われている代表的な3種類のモデルがあります。それが、階層型データベースモデルネットワークモデル関係モデルであり、現在もっとも広く使われているデータベースモデルは関係モデル(リレーショナルモデル)です。

スキーマとインスタンス

 モデルに基づいて抽象化されたデータの枠組みのことをスキーマと言います。このスキーマを用いることで、大量に存在するデータに一定のルールを用いて管理することができます。そして、このスキーマに基づいて格納されたデータのことをインスタンスと言います。例として、先ほどの学生管理の業務データを挙げます。データにある「学籍番号、名前、学年、学科」はスキーマであり「番号0000、山田太郎、2年、工学科」というデータはインスタンスになります。このようにしてスキーマをデータの枠組みとして考えると、さまざまなを定義することができます。

3層スキーマ

 現在、スキーマの層を3層に分けるという考え方が一般的で、3層スキーマと呼ばれています。もともとは、ANSI/SPARCによって提唱されたそうです。3層スキーマにはそれぞれ、外部スキーマ(ビュー)、概念スキーマ(論理)、内部スキーマ(物理)に分けられます。この関係を図に表したものが下図になります。

  • 外部スキーマ(ビュー):ユーザや応用プログラム(アプリケーション)の目的に応じて、データの枠組みを決めたものです。最終的にユーザなどが使うデータのため、外部スキーマのことをビュー層と呼ぶこともあります。
  • 概念スキーマ(論理):外部スキーマをデータベース上で使いやすいように正規化(重複の排除や項目の分割)したものです。データの関係性や種類を定義し、論理的な構造にすることで、データの整合性を保つ役割があります。
  • 内部スキーマ(物理):概念スキーマで正規化したものを物理的なデータにしたもの。実際の記憶装置に、どのような形式でデータを格納するかなどが内部スキーマにあたります。

まとめ

 以上がデータベースモデルの基本的な概念になります。データベースモデルの代表的な3種類である、階層型データベースモデル、ネットワークモデル、関係モデルも含めてすべてを書こうとすると、量が多くなりすぎるので、次回からまとめようと思います。

コメント

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