強いエンティティと弱いエンティティの違い
コンテンツ
強くて弱い実体について話して、我々は実体が何を意味するかを知らなければなりません。エンティティは、実世界で一意のオブジェクトです。属性のセットとして記述されます。同じタイプのエンティティのコレクションがエンティティセットを形成します。ここでは、強いエンティティと弱いエンティティの2種類のエンティティについて説明します。弱い存在は、その存在を常に強い存在に依存しています。以下に示す比較チャートを使用して、強いエンティティと弱いエンティティの両方の違いについて説明します。
- 比較表
- 定義
- 主な違い
- 結論
比較表
比較の根拠 | 強い存在 | 弱いエンティティ |
---|---|---|
ベーシック | Strongエンティティには主キーがあります。 | 弱いエンティティには、部分的な識別キーがあります。 |
依存する | Strongエンティティは、スキーマ内の他のエンティティから独立しています。 | 弱いエンティティは、その強い存在に依存します。 |
表記 | 強いエンティティは、単一の長方形で示されます。 | 弱いエンティティは二重の長方形で示されます。 |
関係 | 2つの強力なエンティティ間の関係は、単に関係と呼ばれる単一のひし形で示されます。 | 弱いエンティティと強いエンティティの間の関係は、二重の菱形で示される識別関係によって示されます。 |
参加 | 強力なエンティティは、関係に完全に参加する場合としない場合があります。 | 弱いエンティティは、二重線で示されている識別関係に常に完全に参加しています。 |
強力なエンティティの定義
の 強い存在 その存在がスキーマ内の他のエンティティの存在に依存しないものです。それは シングル 矩形。強い存在には常に 一次 キー 強力なエンティティを記述する属性セット内。強力なエンティティセットの各エンティティを一意に識別できることを示しています。
同様のタイプの強力なエンティティのセットが一緒になって 強力なエンティティセット。強いエンティティは、を介して弱いエンティティとの関係を保持します 関係の特定、ERダイアグラムでは二重ひし形で示されています。一方、2つの強力なエンティティ間の関係は単一のひし形で示され、単純に「 関係.
例の助けを借りてこの概念を理解しましょう。顧客はローンを借ります。ここでは、最初に顧客エンティティ、2番目にローンエンティティの2つのエンティティがあります。
上記のER図を観察すると、各ローンについて少なくとも1人の借り手がいるはずです。そうでなければ、そのローンはローンエンティティセットにリストされません。ただし、顧客がローンを借りていない場合でも、顧客エンティティセットにリストされます。したがって、顧客エンティティはローンエンティティに依存していないと結論付けることができます。
次に、Customerエンティティには、Customer Entityセット内の各エンティティを一意に識別するプライマリキーCust_IDがあることがわかります。これにより、顧客エンティティは、ローンエンティティが依存する強力なエンティティになります。弱いエンティティの定義
A 弱いエンティティ 所有者エンティティに依存するもの、つまりその存在の強力なエンティティです。弱いエンティティは 二重長方形。弱い実体が じゃない 持っている 主キー 代わりに 部分キー これにより、弱いエンティティが一意に識別されます。の 弱いエンティティの主キー から形成される複合キーです 強力なエンティティの主キー そして 弱いエンティティの部分キー.
同様の弱いエンティティのコレクションは呼ばれます 弱いエンティティセット。弱いエンティティと強いエンティティの間の関係は、常に 関係の特定 つまり ダブルダイヤモンド.
さらに説明するために、今回は脆弱なエンティティの観点から上記の例を説明します。弱い事業体としてローンがあり、上記のように各ローンについて少なくとも1人の借り手が必要です。ローンエンティティセットでは、顧客が自動車ローンを借りていないため、ローンエンティティセットから完全に消滅していることがわかります。ローンエンティティセットに自動車ローンが存在するためには、顧客が自動車ローンを借りている必要があります。このように、弱いローンエンティティは強いカスタマーエンティティに依存しています。
2つ目は、弱いエンティティには主キーがないことです。したがって、ここでは、Loan_name、弱いエンティティの部分キー、および顧客エンティティのCust_ID主キーが、融資エンティティの主キーになります。ローンエンティティセットには、まったく同じ2つのエンティティがあります。 2015年11月20日の日付20000の住宅ローン。 誰がそれらを借りたのかを特定する方法は、弱いエンティティの主キー(Loan_name + Cust_ID)を使用して行うことができます。したがって、1つの住宅ローンは顧客101 Jhonによって、もう1つの融資は顧客103 Rubyによって借りられることが決定されます。これは、弱いエンティティの構成された主キーが弱いエンティティセット内の各エンティティを識別する方法です。
- 強いエンティティと弱いエンティティの基本的な違いは、強いエンティティには 主キー 一方、弱いエンティティには 部分キー これは、弱いエンティティセットのエンティティを区別する役割を果たします。
- 常に弱い存在 依存する 強い存在は存在するのに対し、強い存在は 独立した 他のエンティティの存在。
- 強いエンティティは、 単一の長方形 弱いエンティティは 二重長方形.
- 2つの強力なエンティティ間の関係は、 シングルダイヤモンド 一方、弱いエンティティと強いエンティティの間の関係は、二重ダイヤモンドと呼ばれます 関係の特定.
- 強いエンティティは、その関係への全参加を示す場合と示さない場合がありますが、弱いエンティティは常に 総参加 二重線で示される識別関係で。
結論:
強力なエンティティセットの各エンティティは、プライマリキーがあるため一意に識別できますが、プライマリキーがなく、冗長なエンティティが含まれている可能性があるため、弱いエンティティの各エンティティを識別する場合と識別しない場合があります。