推奨されます, 2024

エディターズチョイス

強い実体と弱い実体の違い

強弱のエンティティについて話して、我々はエンティティが何を意味するのかを知っている必要があります。 実体は現実の世界ではユニークな物です。 それは属性の集合として記述されます。 同じ種類のエンティティの集合がエンティティセットを形成します。 ここでは、2つのタイプのエンティティストロングエンティティとウィークエンティティを説明します。 弱い存在はその存在を常に強い存在に依存します。 以下に示す比較チャートの助けを借りて、強い実体と弱い実体の両方の違いを議論しましょう。

比較表

比較基準強い実体弱い実体
基本強いエンティティには主キーがあります。弱い実体は部分識別キーを持っています。
依存する強いエンティティは、スキーマ内の他のエンティティから独立しています。弱い実体はその存在が強い実体に依存します。
指定された強い実体は単一の長方形で表されます。弱い実体は二重の長方形で表されます。
関係2つの強い実体の間の関係は、単に関係と呼ばれる単一のひし形で表されます。弱い実体と強い実体の間の関係は、二重菱形で示される識別関係によって示されます。
参加強固な事業体は、その関係に全面的に参加している場合とそうでない場合があります。弱い実体は、二重線で示される識別関係に常に完全に参加しています。

強い実体の定義

ストロングエンティティは、その存在がスキーマ内の他のエンティティの存在に依存しないものです。 それは単一の 長方形で表されます 。 強固なエンティティは、強固なエンティティを記述する一連の属性に キーを常に持っています。 これは、強力なエンティティセット内の各エンティティを一意に識別できることを示しています。

強固なエンティティの類似したタイプのセットが一緒に強力なエンティティセットを形成します。 強いエンティティは、ER図で二重菱形で示されている識別関係を介して弱いエンティティとの関係を保持します。 一方、2つの強い実体の間の関係は1つの菱形で​​表され、それは単に関係と呼ばれます。

例を使ってこの概念を理解しましょう。 顧客がローンを借ります。 ここでは、最初に顧客エンティティ、そして次にローンエンティティという2つのエンティティがあります。

上記のER図を観察すると、各ローンについて少なくとも1人の借り手がいるはずです。そうでなければ、そのローンはローンエンティティセットにリストされません。 しかし、顧客がローンを借りていなくても、顧客エンティティセットに表示されます。 したがって、顧客エンティティはローンエンティティに依存していないと結論付けることができます。

2つ目のことは、Customerエンティティが、Customerエンティティセット内の各エンティティを一意に識別するCust_IDを主キーとして持っていることです。 これにより、顧客エンティティは、ローンエンティティが依存する強力なエンティティになります。

弱いエンティティの定義

弱いエンティティは、その所有者エンティティに依存するエンティティ、つまりその存在に対する強力なエンティティです。 弱い実体は二重の四角形で示されます 。 弱いエンティティは主キーを持た 、弱いエンティティを一意に識別する部分キーを持ちます。 弱い実体主キーは、強い実体の主キーと 弱い実体の部分キーから形成された複合キーです。

類似の弱いエンティティの集合は、 弱いエンティティセットと呼ばれます。 弱い実体と強い実体の間の関係は常に識別関係、すなわち二重菱形で示されます。

さらなる実例として、今度は弱い実体の観点から上記の例を論じましょう。 私たちは弱い主体としてローンを持っています、そして先に私がそれぞれのローンについて言ったように、少なくとも一人の借り手がいなければなりません。 あなたはローンエンティティセットで観察することができます、どの顧客も自動車ローンを借りていない、そしてそれ故に、それはローンエンティティセットから完全に消えました。 ローンエンティティセット内の自動車ローンの存在のために、それは顧客によって借りられていたにちがいありません。 このように、弱いローンエンティティは強い顧客エンティティに依存しています。

2つ目は、弱い実体は主キーを持たないということです。 そのため、ここではLoan_name、弱いエンティティの部分キー、およびCust_IDの顧客エンティティの主キーが、ローンエンティティの主キーになります。

ローンエンティティセットには、まったく同じエンティティが2つあります。つまり、2015年11 月20日現在の金額が20000の住宅ローンです。ローン名+顧客ID)。 したがって、1つの住宅ローンは顧客101 Jhonによって借りられ、もう1つは顧客103 Rubyによって借りられると判断されます。 これが、弱いエンティティの合成主キーが弱いエンティティセット内の各エンティティを識別する方法です。

強い実体と弱い実体の主な違い

  1. 強い実体と弱い実体の間の基本的な違いは、強い実体が主キーを持つのに対して、弱い実体は弱いエンティティ集合の実体間の識別子として働く部分的なキーを持つということです。
  2. 弱い存在はその存在を強い存在に常に依存しますが、強い存在は他の存在から独立しています。
  3. 強い実体は単一の長方形で表され、弱い実体は二重の長方形で表されます
  4. 2つの強い実体の間の関係は重菱形で示されますが、弱い実体と強い実体の間の関係は識別関係と呼ばれる二重菱形で示されます。
  5. 強い主体はその関係への全参加を示すかもしれないし、示さないかもしれませんが、弱い主体は常に二重線で示される識別関係への全参加を示す。

結論:

強いエンティティセットの各エンティティは主キーを持つので一意に識別できますが、弱いエンティティの場合は主キーを持たず冗長なエンティティを含む可能性があるため識別できません。

Top