P:
Jaka jest różnica między kluczem złożonym, kluczem podstawowym a kluczem obcym?
ZA:Klucz podstawowy jest zdefiniowany jako klucz lub kolumna bazy danych, która jednoznacznie identyfikuje każdy wiersz w tabeli bazy danych. Klucz złożony to zestaw więcej niż jednego klucza, który razem jednoznacznie identyfikuje każdy rekord.
Z drugiej strony klucz obcy jest kluczem w pewnej tabeli, który jednoznacznie identyfikuje wiersze w innej tabeli - lub innymi słowy klucz, który śledzi klucz podstawowy w innej tabeli.
Przykładem może być lista domów na rynku nieruchomości. W dobrze uporządkowanej bazie danych powinien znajdować się klucz podstawowy, który jednoznacznie identyfikuje każdy rekord. Jak to działa, może mieć związek z zaawansowaniem bazy danych.
W niektórych przypadkach domy mogą być jednoznacznie identyfikowane tylko przez numer hipoteki - wszystkie inne dane (miasta, ulice, numery domów) nie są unikalne dla każdego rekordu. Klucz hipoteczny byłby kluczem podstawowym. Załóżmy jednak, że technologia listowania nieruchomości MLS przypisuje własne unikalne liczby rekordom w tabeli. Następnie będą dwa klucze, które programiści mogą zidentyfikować jako „klucze kandydujące”: numer hipoteki i numer MLS. Jeden z nich zostanie uznany za „klucz podstawowy” w sposób, który niektórzy uznają za arbitralny.
Klucz złożony byłby więc kombinacją dwóch kluczy: na przykład połączenie numeru domu i ulicy może kwalifikować się jako klucz złożony, biorąc pod uwagę, że oferty rynkowe są lokalne. Jeśli tak, to kiedy ktoś szuka zarówno numeru domu, jak i ulicy, powinien otrzymać tylko jeden rekord.
Tymczasem jeśli w połączonej tabeli znajduje się klucz, na przykład tabela kupującego, która odwołuje się do klucza podstawowego, który będzie kluczem obcym.