データベース中級者必見!その3〜ER図とテーブル構造書〜
2015/10/12
はじめに
前回データベースの作成と正規化についてご紹介いたしました。
データベース中級者必見!その2〜データベースの作成と正規化〜
今回は、システム設計の仕様書などにも用いられるER図とテーブル構造書について紹介いたします。
ER図とテーブル構造書
ER図
前回はテーブルの正規化について紹介いたしました。正規化を行って定義された4つのテーブルを再度掲載します。
リレーショナルデータベースでは、これらのテーブルを外部キーを用いて関連付けて管理します。テーブルが多数におよぶと、それからなるデータベースの全体像を把握する事は困難になります。そこで、ER図を用いてテーブルの同士の関係を図で表すという手法がとられます。
先ほどのテーブルをER図にします。
ER図
ER図はテーブル名と列名、列を結ぶ線で構成されます。線で結ばれた列が外部で関連付けられた列です。たとえば、上のER図ではemployee テーブルのsex_id列は、外部キーとして設定されており、sexテーブルのsex_idを参照していると読み解くことができます。
テーブルの作成など、データベースを構築する前にはデータベースの設計が行われます。設計段階では、このようなER図やテーブル構造書が作成され、データベース全体を概観するための工夫がされています。実際にテーブルを作成してスキルを身につけましょう。
なお、本記事で掲載するER図やテーブル構造書は、わかりやすいように独自のフォーマットで記述したものです。
実際の現場ではそれぞれ異なるフォーマットで記述されますので注意して下さい。
テーブル構造書
ER図はテーブルの関係を表現するものでした。
テーブル構造書は、単一のテーブルの定義情報を表現したものです。テーブルに関する詳しい情報が盛り込まれます。
先ほどのemployeeテーブルの構造書は次のようになります。
emloyeeテーブルのテーブル構造書
この構造書を見ると、テーブル名、列名とデータ名、各列に対する制約を読み取ることができます。
テーブル名、列名、データ型、とそのサイズは欄の見出しに明示されている通りです。
テーブルの主キーはemp_idです。「主キー」と書かれた欄に◯がつけられています。
sex_id列はsexテーブルのsex_id列を参照するように外部キーが設定されています。備考欄から読み取れます。
emo_sal列には既存値(デフォルト値)として200000が設定されています。
NULL許容欄については、その列のフィールドにNULL値を登録できるかどうかが記述されています。今回のテーブル構造書では、すべての列にNULL値を登録するすることができません。この制約をNOT NULL制約と呼びます。NOT NULL制約については次回に詳細を紹介いたします。
さいごに
今回は、ER図とテーブル構造書について紹介いたしました。次回は、テーブルの関係や値を制限する様々な制約について紹介いたします。