Powiedzmy, że projektuję bazę danych dla scenariusza, w którym istnieje relacja jeden do zera lub jeden (1-0..1). Na przykład:
- Istnieje zestaw Użytkowników , a niektórzy Użytkownicy mogą być również Klientami .
W ten sposób utworzyłem dwie odpowiednie tabele users
i customers
, ale…
… Jaki jest najlepszy sposób na przedstawienie i wdrożenie tej sytuacji na danej platformie SQL? Rozważyłem dwa możliwe rozwiązania:
W
users
tabeli dodajcustomer
kolumnę, która może być odniesieniem do klucza OBCEGOcustomers
lubNULL
znakiem.W
customers
tabeli dołączuser
kolumnę (ustawioną zUNIQUE
ograniczeniem), która wskazuje nausers
tabelę.
Zadałem już podobne pytanie na niektórych forach, ale odpowiedź brzmiała „cokolwiek potrzebujesz”, „cokolwiek uznasz za wygodne”. Nie podoba mi się tego rodzaju odpowiedź. Chcę zamiast tego poważnego fragmentu teorii DB, dobrze uzasadnionej odpowiedzi. Gdzie mogę przeczytać o relacjach 1-0..1?
źródło