drodze do zapewnienia, że „z dołu” diamentu nie można odwołać „boki” z diamentu, które ostatecznie prowadzą do różnych " top”diamentu, jest użycie określających relacje i wynikające«»kluczy naturalnych tłuszczów, dzięki czemu mogą one być połączyła u dołu:
(Pokazano tylko pola PK, dla zwięzłości. prawie na pewno będziemy chcieli numer identyfikacyjny pojazdu jako klucz alternatywnej w Car
etc ...)
ManufacturerId
zostało przeniesione w dół po obu stronach diamentowych i ostatecznie połączyły się na dole w jednej dziedzinie. Już sam fakt, że jest to jedno wypełnienie zapewnia, że nie może być dwóch producentów prowadzących do tego samego samochodu.
BTW, to nadal nie przeszkadza w używaniu klawiszy zastępczych (oprócz tych Naturals), przy założeniu DBMS obsługuje FKS na przemian klawiszy:
Surogaci są zbędne w tym modelu podjętej sam , ale możesz mieć tam inne przedmioty, których nam nie pokazałeś, a które mogą skorzystać z używania szczuplejszych FK.
Powyższe jest najbardziej bezpośrednią konwersją twojego diagramu, gdzie samochód istnieje tylko jako sprzedany samochód.Podejrzewam jednak, że chciałbyś móc przechowywać samochody, które nie zostały jeszcze sprzedane, a kiedy są sprzedane, zapamiętaj nabywcę samochodu itp. ...
Tak więc bardziej kompletny model będzie wyglądać jak to:
po prostu opłukać i-powtórzyć identyfikujące relacji sztuczkę, więc samochód nie może być wyświetlany w salonie innego producenta i nie może być sprzedawany przez sprzedawcę z innego salonu.
Samochód jest niesprzedany, gdy w wierszu znajduje się tylko wiersz Car
. Samochód jest sprzedawany, gdy w wierszu Car
i znajduje się odpowiedni wiersz w Sale
. Zarówno Car
, jak i i Sale
mają ten sam PK i jest to relacja "1 do 0. 1", która może być również modelowana przez scalenie Car
i Sale
i sprawienie, aby pola sprzedaży były NULL w stanie, z odpowiednią kontrolą, aby upewnić się, że nie mogą być "częściowo NULL".
BTW, gdy sprzedajesz coś, musisz upewnić się, że sprzedaż jest "zamrożona w czasie". Na przykład cena faktycznie zapłacona przez kupującego nie powinna ulec zmianie tylko dlatego, że cena samochodu zmieniła się po po sprzedaży. Zajrzyj here po więcej informacji.
to może być tylko przykład - ale tutaj nie ograniczę tego ze względu na fakt, że salon jest powiązany z producentem, wtedy wszystkie sprzedawane tam samochody muszą być wykonane przez tego producenta ... dalej - ten sam sprzedawca może pracować w wielu salonach. – Randy
^^ Co showroom ma wspólnego z producentem? – Kermit
Ja wyjaśniłem pytanie. Showroom sprzedaje wyłącznie samochody wyprodukowane przez producenta, z którym jest powiązane. – Hammerite