目次
はじめに
前回紹介した二つのER図種類の2番目の「IDEF1X記法」について、シェアさせていただきます。※前回の記事はこちらを確認してください。
IDEF1X記法とは
IDEF1X記法は、データベース設計に使用されるER図の一種です。この記法では、実体(エンティティ)や関連(リレーションシップ)を図形と線で表現します。データの関連性やカーディナリティ(関連の数)を明確に示すことが特徴であり、正確で詳細なデータモデルを作成するために広く利用されています。
- IDEF1X記法の例
IDEF1X記法のカーディナリティ記号
IDEF1Xではカーディナリティ記号を「⚫️」や「◇」の記号や英字、数字を使って表示し、IE記法より詳細な表示ができます。
- 記号の表
- リレーションシップ(関連)
下の図では、リレーションシップ(関連)を線で表現しています。
※ここでは、PはPositiveで、ZはZeroの略です。
※白のひし形(◇)は、非依存リレーションシップで使用します。
説明
上記のリレーションシップ(関連)図について具体的に説明します。
- 「①」1:1とは
関連の一方のエンティティから他方のエンティティに向かって、必ず1つの関連が存在することを意味し、関連の存在が必須であり、他方のエンティティに関連付けられるエンティティも1つだけであることを表します。例としては、学生(Student)エンティティと学生証(StudentIDCard)エンティティの関連において、「1:1」と表現される場合、学生は必ず1つの学生証を持ち、同時に学生証も1人の学生に関連付けられることです。
- 「②」1:0以上とは
関連の一方のエンティティから他方のエンティティに向かって、最低1つの関連が存在することを意味し、関連の存在が任意であり、ゼロ個以上の関連が許容されることを表します。
例としては、顧客(Customer)エンティティと注文(Order)エンティティの関連において、「1:0以上」と表現される場合、顧客は少なくとも1つの注文を持つことができますが、注文を持たない場合もあることです。
- 「③」1:1以上とは
関連の一方のエンティティから他方のエンティティに向かって、最低1つの関連が存在し、最大でも1つの関連が存在することを意味します。つまり、関連の存在は必須であり、関連の数は最大で1つに制限されますが、複数の関連が存在することはありません。例としては、会員(Member)エンティティとメンバーカード(MemberCard)エンティティの関連において、「1:1以上」と表現される場合、会員は少なくとも1つのメンバーシップカードを持ち、同時に最大でも1つのメンバーシップカードに関連付けられます。
- 「④」1:0または1とは
関連の一方のエンティティから他方のエンティティに向かって、最低1つの関連が存在することを意味し、関連の存在が必須であり、他方のエンティティに関連付けられるエンティティが最大でも1つであることを示します。例としては、顧客(Customer)エンティティと電話番号(PhoneNumber)エンティティの関連において、「1:0または1」と表現される場合、顧客は少なくとも1つの電話番号を持つことができますが、電話番号を持たない顧客も許容されます。同時に、顧客は最大で1つの電話番号に関連付けられます。
- 「⑤」1:N とは
関連の一方のエンティティから他方のエンティティに向かって、最低1つの関連が存在し、最大で複数の関連が存在することを意味します。つまり、関連の存在は必須であり、一方のエンティティに関連付けられるエンティティは複数存在することができます。例としては、部署(Department)エンティティと社員(Employee)エンティティの関連において、「1:N」と表現される場合、部署は少なくとも1人以上の社員を所属させる必要があります。同時に、部署には複数の社員が所属することができることです。
- 「⑥」1:(N-M)とは
関連の一方のエンティティから他方のエンティティに向かって、最低1つの関連が存在し、一方のエンティティに関連付けられるエンティティの数に制約があります。関連付けられるエンティティの数は最小でN個であり、最大でM個まで許容されます。部署(Department)エンティティと社員(Employee)エンティティの関連において、「1:(N-M)」と表現される場合、部署は少なくとも1人の社員を所属させる必要がありますが、同時に部署に所属する社員の数にも制限があります。最小でN人の社員を所属させる必要があり、最大でM人までの社員を所属させることができることです。
- 「⑦」0または(1:1)とは
関連の一方のエンティティから他方のエンティティに向かって、関連が存在しない場合(0個)または最低1つの関連が存在する場合(1個)のいずれかを表します。例としては、商品(Product)エンティティとカテゴリ(Category)エンティティの関連において、商品はカテゴリに関連付けられることができますが、カテゴリとの関連が必須ではありません。商品がカテゴリに関連付けられない場合もありますが、関連が存在する場合は最大で1つのカテゴリと関連付けられることです。
まとめ
最後に
最後までお読みいただき、ありがとうございました。ER図がデータベース設計に果たす重要な役割を理解していただけたでしょうか。ER図はデータベースの設計や管理ではなく、プロジェクトのコミュニケーションや要件定義、ビジネスプロセスの改善にも役立つツールです。データを中心にしたアプローチを追求する際には、ER図を積極的に活用してみてください。