マハディ、あなたの本能は正しいです。これは重複した質問であり、この賛成の回答は正しくないか、完全ではありません。ここで上位2つの答えを見てください:
識別しないことの違い
識別と非識別は、アイデンティティとは何の関係もありません。親なしで子レコードが存在できるかどうかを自問してみてください。答えが「はい」の場合、それは識別できません。
子の主キーに親の外部キーが含まれるかどうかという中心的な問題。非識別関係では、子の主キー(PK)に外部キー(FK)を含めることはできません。
この質問を自問してください
子が親なしで存在できる場合、関係は識別されません。(より明確に述べてくれたMontrealDevOneに感謝します)
1対1の識別関係
社会保障番号はこのカテゴリにうまく適合します。たとえば、社会保障番号は人なしでは存在できないと想像してみてください(おそらく実際には存在しますが、データベースには存在しません)。person_idは、名前や住所などの列を含む、 personテーブルのPKになります。(シンプルにしましょう)。social_security_numberテーブルには、外部キーとしてssn列とperson_id列が含まれます。このFKはsocial_security_numberテーブルのPKとして使用できるため、識別関係になります。
1対1の非識別関係
大規模なオフィス複合施設では、フロアごとの部屋番号とPK付きの建物番号を含むオフィステーブルと、個別の従業員テーブルがある場合があります。従業員テーブル(子)には、オフィステーブルPKのoffice_id列であるFKがあります。各従業員には1つのオフィスしかなく、(この例では)すべてのオフィスには1人の従業員しかいませんが、オフィスは従業員なしで存在でき、従業員はオフィスを変更したり、現場で働いたりできるため、これは非識別関係です。
1対多の関係
1対多の関係は、同じ質問をすることで簡単に分類できます。
多対多の関係
多対多の関係は常に関係を識別しています。これは直感に反しているように見えるかもしれませんが、私には耐えてください。2つのテーブルライブラリと本を取ります。各ライブラリには多くの本があり、各本のコピーは多くのライブラリに存在します。
これがその理由と関係の識別です。
これを実装するには、各テーブルの主キーである2つの列を持つリンクテーブルが必要です。それらをlibrary_id列とISBN列と呼びます。この新しいリンクテーブルには個別の主キーはありませんが、お待ちください。リンクテーブル内の重複レコードは無意味であるため、外部キーはリンクテーブルの複数列の主キーになります。リンクは親なしでは存在できません。したがって、これは識別関係です。わかってるよね?
ほとんどの場合、関係のタイプは重要ではありません。
そうは言っても、通常は自分が持っているものについて心配する必要はありません。各テーブルに適切な主キーと外部キーを割り当てるだけで、関係がそれ自体を発見します。
編集:NicoleC 、私はあなたがリンクした答えを読みました、そしてそれは私のものに同意します。私はSSNについて彼の意見を取り入れ、それが悪い例であることに同意します。そこで、別のより明確な例を考えてみます。ただし、データベースの関係を定義する際に実際のアナロジーを使用し始めると、アナロジーは常に崩壊します。SSNが個人を識別するかどうかは重要ではなく、外部キーとして使用したかどうかは重要です。