Jak się realizuje takie przypadki że "klientem może być osoba albo firma".
Można oczywiście zrobić w jednej tabeli osobę i firmę i zaznaczać w jednym atrybucie czy jest to firma ale załóżmy że chce to mieć osobno bo np. firmy będą miały większe przywileje do czegoś tam...
Więc zrobiłem to tak:
W związku z tym że między tabelą klient-osoba i klient-firma zachodzi relacja 1:1 do tego identyfikująca to na klucz główny w tabeli klient składają się klucze główne osoby i firmy. Nie jest to chyba pożądane rozwiązanie...? Klientem może być osoba albo firma więc chyba będzie tu problem. Jak klientem będzie osoba to w tabeli klient co będzie w miejscu klucza Company_id?
Jeśli nie w ten sposób to jak się rozwiązuje takie przypadki? Pasuje tu jakaś generalizacja....
jak tak to podzielisz to tylko utrudnisz sobie życie, szczególnie przy wszelkiego rodzaju zestawieniach. Osoba i firma jest w jednej tabeli i tyle. Zauważ, że firma tak na prawdę nie ma dużo więcej danych. Imię i nazwisko to pole nazwa firmy, pesel to regon, adres to adres, nip to dodatkowe pole.
Lancer napisał(a)
Jak się realizuje takie przypadki że "klientem może być osoba albo firma".
Realizuje się to umieszczając osoby i firmy w jednej tabeli np. kontrahenci.
troche zalatuje to relacja wykluczajaca (arc relationship) i mozna kombinowac. Chyba jednak lepiej (na pewno prosciej) zastosowac rade AdamPL.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.