データベーススキーマとは
データベーススキーマは、データベース内で使用および保持される情報の構造と関係を記述する方法です。 一部のスキーマは、データベース管理ソフトウェア(DBMS)が解釈できる言語で記述されていますが、他のスキーマは完全に抽象的な図です。 データベーススキーマの主要な要素は、エンティティとテーブルです。 エンティティはデータベース内のオブジェクトのデータモデルであり、テーブルは値またはその他のエンティティの格納されたシーケンスです。 ブループリントと同様に、適切に設計されたスキーマを使用して、データベースのアーキテクチャがどのように構築されているかを正確に確認できます。
データベーススキーマは、データがどのように格納され、データベースの他の部分とどのように関連しているかを明示的に示すために必要になる場合があります。 エンティティは、データのコレクションの表現です。 他のデータ構造と同様に、多くのフィールドを持つことができます。 ただし、エンティティには通常、一意の識別フィールドがあります。 これは主キーと呼ばれます。
主キーは、テーブルへのリンクです。 キーは、テーブル内の他のすべての要素間で一意である必要があります。 例として、店舗の購入を追跡するデータベースの顧客番号があります。 各エンティティは、1つの主キーのみを持つことができます。
エンティティは、任意の数の外部キーを持つこともできます。 外部キーは、ほとんどの場合、別のテーブル内の別のエンティティの主キーです。 上記の例では、外部キーはその顧客の注文番号になります。
リレーショナルデータベースでは、主キーと外部キーを使用して、1対多の関係という非常に重要な概念を表現します。 与えられた例では、顧客は多くの異なる注文と注文番号を持つことができます。 注文には顧客が1人しかいないため、その逆は当てはまりません。 1対多の関係は、データベーススキーマが必要な理由の一部です。
別のタイプの関係は、多対多と呼ばれます。 これは、エンティティが単一のタイプに対して多くの関係を持つことはできないが、別のタイプによって多くのタイプに含めることができるインスタンスです。 この例は、任意の数の顧客が同じ製品を注文する方法です。 同時に、顧客は任意の数の製品を注文できます。 この多対多の関係は一般的ですが、データベーススキーマ内で機能するには特別なデータモデリングが必要です。
データベーススキーマを作成する際に従う標準的な規則がいくつかありますが、データモデルを表現する方法も多数あります。 各スキーマオブジェクトが抽象設計でどのように表現されるかは、データモデラーの裁量次第です。 状況によっては、DBMSシステムは特定の方法で記述されたデータベーススキーマを受け入れ、実際に設計の一部を自動的に実装できます。