ERダイアグラムとERデザインの問題については、前回の記事で学びました。この投稿では、ERダイアグラムをデータベーステーブルに変換する方法を説明します。
まず、シンプルなERダイアグラムをテーブルに変換します。最後に、複雑なERダイアグラムを取り上げ、それをテーブルのセットに変換します。
シンプルな属性を持つ強いエンティティセット
強いエンティティセットはテーブルとなり、エンティティセットの属性はテーブルの属性となります。エンティティセットの主キーはテーブルの主キーになります。
例を挙げましょう。ここでは、属性が名前、年齢、Emp_Id、給与のエンティティセットEmployeeがあります。このERダイアグラムをテーブルに変換すると、エンティティセットがテーブルになり、次のダイアグラムに示すように「Employee」というテーブルができます。エンティティセットの属性がテーブルの属性になります。
2. 複合属性を持つ強いエンティティセット
次に、複合属性を持つ強いエンティティセットをテーブルに変換する方法を見てみましょう。この場合も変換はかなり簡単です。エンティティセットはテーブルになり、複合属性の単純な属性はテーブルの属性になりますが、複合属性自体は変換中に無視されます。
例を挙げましょう。複合属性「Name」があり、この複合属性には2つの単純な属性「First_N」と「Last_N」があります。このERをテーブルに変換する際には、テーブルに複合属性自体ではなく、この複合属性の単純な属性を使用しました。
3. 多値属性を持つ強いエンティティセット
多値属性を持つエンティティセットは、関係モデルでは2つのテーブルが必要です。
この変換は、ダイアグラムを使用して理解しましょう。先ほど見た例と同じですが、新しい多値属性「Dept」を追加しました。従業員は複数の部署で働くことができるため、このDept属性は多値属性としてマークされています。多値属性がある場合、ERダイアグラムを表現するために複数のテーブルが必要です。このERを表現するために2つのテーブルを作成しました。
- リレーションシップセットをテーブルに変換
リレーションシップセットをテーブルに変換する際には、2つのエンティティセットの主要な属性がテーブルの属性になり、リレーションシップセットに属性があれば、それもテーブルの属性になります。
次の例では、2つのエンティティセット「Employee」と「Department」があります。これらのエンティティセットは、Worksリレーションシップセットを使用して相互に関連付けられています。このWorksリレーションシップセットをテーブルに変換するには、各エンティティセットの主要な属性(Emp_IdとDept_Id)とリレーションシップセットのすべての属性を取り、それらを1つのテーブルにまとめます。
コメントを残す