問題ステートメント
ER 図は、さまざまなテーブルとそれらのテーブル間の関係を示す図です。 ER図を利用することでデータベースの数を減らすことができます。
1 対 1 のカーディナリティ
次の 1 対 1 のカーディナリティ図について考えてみましょう。
この 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 図では、従業員は複数の会社で働くことができ、1 つの会社にそのような従業員が多数存在する可能性があります。上の ER 図は 3 つのエンティティを表しています。
- Employee エンティティには 2 つの属性、つまり emp_id と emp_name があります。 emp_id は主キーです。
- 会社エンティティには、emp_id と cmp_name という 2 つの属性があります。 cmp_id は主キーです。
- 前の例とは異なり、ワークシートを Employee または Company とマージすることはできません。マージしようとすると冗長なデータが作成されてしまいます。したがって、多対多のカーディナリティ シナリオでは少なくとも 2 つのテーブルが必要です
以上がER図の最小化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。