今回は、データベースのスキーマとは何なのか、そしてそのタイプについてと、データベース管理システムにおけるスキーマの役割とその統合要件についても説明します。 では、さっそく掘り下げていきましょう!
- 目次 -
Part 1: データベースのスキーマとは?
データベース(Database)とは、ある条件付きな「データ」を収集し、再利用ができるように蓄積するデータの基礎・土台であります。
データベースはIT用語だけではなく、情報の交換の流れに、幅広く使用されています、
スキーマが定義されたデータベースだと、整理されたデータに効率的な方法でアクセスする事ができます。たとえばもしあなたが、色々なタイプの大量なデータを含んだファイルを複数所有していた場合、必要なデータの洗い出しに、多くの時間と労力が必要になります。
そんな時データに効率的にアクセスするには、構造を作りあげることが重要です。その作り上げた構造とそれに対応する関係が、私たちがデータベーススキーマと呼んでいるものです。
ここは一旦、「データベース構成図」と理解しましょう。
データベースにおけるスキーマとは、設計図とシンボルでデータベースの流動をしめします。例えばテーブル、ビュー、フィールド、リレーションシップ、パッケージ、プロシージャ、インデックス、関数、タイプ、シーケンス、マテリアライズドビュー、トリガー、キュー、シノニム、データベースリンク、XMLスキーマなど、あらゆるデータの構造物が含まれます。
Part 2: データベースのスキーマの構築
データベースのスキーマには、概念-論理-物理の3つに分けるものや、外部-概念-内部の3つに分けるものがある。
2.1 概念-論理-物理スキーマ
概念スキーマとは、開発者から見て、データベースの必要な情報の間の関係を示します、その関連を説明する。
論理スキーマとは、概念スキーマによって特定のデータ管理するデータモデルである。
物理スキーマ、また内部スキーマと呼ばれて、個別のデータベース管理製品におけるデータ格納を具体的に定義する。
2.2 外部-概念-内部スキーマ
外部、またはビューレベルでのデータベースの設計は、外部スキーマと呼ばれます。これは、データベースシステムが利用者側から見たデータの構造や関係を定義します。
概念レベルでのデータベースの設計は、データ構造に格納されているデータレコードに表示されますが、データ構造の実装などの内部の詳細は不明です。
内部レベルで、データベースをどのように格納、管理するかを具体的に定義したものを物理スキーマと呼びます。
データ元:https://efnote.com/
2.3 その他スキーマ
ここからは基本的なタイプのデータベースのスキーマとは別に、時間の経過とともに徐々に開発されてきた、いくつかのスキーマをご紹介します。
1. スタースキーマ
スタースキーマは、クエリを単純化するのに適した、1つまたは数個のファクトテーブルの周囲に、複数のディメンションテーブルが関連付けられた、最もシンプルなデータベースです。
2. スノーフレークスキーマ
スノーフレークスキーマは、ディメンションテーブルが複数の階層に渡っているため、拡張ネットワークを形成し、見た目がスノーフレーク(雪片)に似た構造の多次元データベースです。
Part 3: DBMS内のインスタンスとスキーマ
データベース管理システム(DBMS)内のデータベースのインスタンスとスキーマは、関連はしていますが、同じものではありません。
データベースのスキーマとは、データベースの構造であり、データを格納する構造がまったくない場合に設計されます。データベースが作動可能になると、データベースの設計に変更を加えることは非常に困難になるため、設計段階のスキーマは、実際のデータを含まないプラントデータベースのレイアウトになります。
一方データベースのインスタンスは、ある特定の時間に存在した、データベースのスナップショットです。これはある時間に存在したデータを含む、操作中のデータベースの状態を表しています。
つまり、データベースのインスタンスは、時間の経過とともに変化しますが、スキーマは運用後に構造を変更することが難しいため、静止状態のままです。
データベースのインスタンスとスキーマはDBMS内で相互に影響しますが、システムは、すべてのインスタンスがスキーマ内に設計された構造に準拠していることを示しています。こうすることで、DBMSは、データベースが課す、すべての検証、条件、および制約に従うことにより、すべてのインスタンスが有効な状態にあることを確認します。
Part 4: スキーマインテグレーションに要求されるもの
スキーマインテグレーションとは、複数のデータベースを、一つのスキーマに統合することを言います。特定の要件に従うことで、スキーマの詳細な構造に影響を与えることができます。すべての統合要件が重要とは限りませんが、シームレスで理想的な移行には重要です。データベーススキーマの統合要件は次のとおりです。
• 最小性
要件は、どのリソースでも要素が失われないようにする必要があります。
• 標準化
独立したエンティティとリレーションシップは、スキーマ内の同じテーブルにまとめられません。
• 重複排除
すべての重複要素は、データベース・スキーマのテーブルの一つに統合されている必要があります。
• 重複排除の延長
重複する要素は1つのソースに表示されますが、複数の要素に紐付けされている場合は、インポートされるファイルにコピーする必要があります。