Zuhause Datenbanken Was ist der Unterschied zwischen einem zusammengesetzten Schlüssel, einem Primärschlüssel und einem Fremdschlüssel?

Was ist der Unterschied zwischen einem zusammengesetzten Schlüssel, einem Primärschlüssel und einem Fremdschlüssel?

Anonim

Q:

Was ist der Unterschied zwischen einem zusammengesetzten Schlüssel, einem Primärschlüssel und einem Fremdschlüssel?

EIN:

Ein Primärschlüssel ist als Schlüssel oder Datenbankspalte definiert, die jede Zeile in einer Datenbanktabelle eindeutig identifiziert. Ein zusammengesetzter Schlüssel besteht aus mehreren Schlüsseln, die zusammen jeden Datensatz eindeutig identifizieren.

Ein Fremdschlüssel ist andererseits ein Schlüssel in einer Tabelle, der Zeilen in einer anderen Tabelle eindeutig identifiziert - oder mit anderen Worten ein Schlüssel, der einem Primärschlüssel in einer anderen Tabelle folgt.

Ein Beispiel wäre eine Liste von Immobilien auf einem Immobilienmarkt. In einer geordneten Datenbank sollte es einen Primärschlüssel geben, der jeden Datensatz eindeutig identifiziert. Wie dies funktioniert, hängt möglicherweise mit der Komplexität der Datenbank zusammen.

In einigen Fällen können die Häuser nur durch eine Hypothekennummer eindeutig identifiziert werden - alle anderen Daten (Städte, Straßen, Hausnummern) sind nicht für jeden Datensatz eindeutig. Die Hypothekennummer wäre der Primärschlüssel. Angenommen, die Auflistungstechnologie eines MLS-Maklers weist den Datensätzen in der Tabelle seine eigenen eindeutigen Nummern zu. Dann gibt es zwei Schlüssel, die Entwickler als „Kandidatenschlüssel“ identifizieren könnten: die Hypothekennummer und die MLS-Nummer. Einer von ihnen wird als "Primärschlüssel" eingestuft, was einige für willkürlich halten.

Ein zusammengesetzter Schlüssel wäre dann die Kombination von zwei Schlüsseln: Beispielsweise könnte die Kombination von Hausnummer und Straße als zusammengesetzter Schlüssel gelten, da die Markteinträge lokal sind. Wenn dies der Fall ist, sollte jemand, der sowohl die Hausnummer als auch die Straße verwendet, nur einen einzigen Datensatz zurückerhalten.

Wenn sich in einer verknüpften Tabelle ein Schlüssel befindet, z. B. eine Käufertabelle, die auf den Primärschlüssel verweist, handelt es sich um einen Fremdschlüssel.

Was ist der Unterschied zwischen einem zusammengesetzten Schlüssel, einem Primärschlüssel und einem Fremdschlüssel?