ホームページ  >  記事  >  データベース  >  ER図の最小化

ER図の最小化

WBOY
WBOY転載
2023-09-10 23:37:10715ブラウズ

問題ステートメント

ER 図は、さまざまなテーブルとそれらのテーブル間の関係を示す図です。 ER図を利用することでデータベースの数を減らすことができます。

1 対 1 のカーディナリティ

次の 1 対 1 のカーディナリティ図について考えてみましょう。

ER図の最小化

この ER 図では、 、従業員は 1 つの会社で働くことができますが、会社はそのような従業員を多数抱えることができます。上の ER 図は 3 つのエンティティを表しています。

  • Employee エンティティには 2 つの属性、つまり emp_id と emp_name があります。 emp_id は主キーです。
  • 会社エンティティには、emp_id と cmp_name という 2 つの属性があります。 cmp_id は主キーです
  • 複数の従業員が同じ cmp_id で働く可能性があるため、cmp_id を主キーとして使用することはできません。ただし、Employee テーブルと Work テーブルを組み合わせることができます。したがって、1 対多のカーディナリティのシナリオでは、少なくとも 2 つのテーブルが必要です。

#多対多のカーディナリティ

次の図の 1 対多のカーディナリティについて考えてみましょう -

ER図の最小化

# #この ER 図では、従業員は複数の会社で働くことができ、1 つの会社にそのような従業員が多数存在する可能性があります。上の ER 図は 3 つのエンティティを表しています。

  • Employee エンティティには 2 つの属性、つまり emp_id と emp_name があります。 emp_id は主キーです。
  • 会社エンティティには、emp_id と cmp_name という 2 つの属性があります。 cmp_id は主キーです。
  • 前の例とは異なり、ワークシートを Employee または Company とマージすることはできません。マージしようとすると冗長なデータが作成されてしまいます。したがって、多対多のカーディナリティ シナリオでは少なくとも 2 つのテーブルが必要です

以上がER図の最小化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。