Diagram klas - 1 do wielu

0

Czy mógłby ktoś wytłumaczyć mi o co chodzi w diagramach EER z połączeniami 1 do 1 , 1 do wielu, wiele do wielu? Z góry bardzo dziękuję.

0

Pomiędzy tabelami (albo dokładniej rekordami w tych tabelach) istnieć mogą różne relacje ilościowe:
1 do 1: kiedy jeden rekord z tabeli X jest przyporządkowany tylko do 1 rekordu z tabeli Y (i odwrotnie), np. konkretny nr. PESEL jest przyporządkowany tylko do jednej osoby i jednocześnie jedna osoba może mieć tylko jeden numer pesel,
1 do wielu: kiedy jeden rekord z tabeli X przyporządkowany jest do kilku rekordów z tabeli Y, a rekord z tabeli Y ma przyporządkowany tylko jeden rekord z tabeli X, np. żołnierz ma tylko jednego bezpośredniego dowódce, ale dowódca może mieć kilku bezpośrednich podwładnych,
wiele do wielu: gdy rekord z tabeli X może mieć przypisanych kilka rekordów z tabeli Y i tak samo rekord z tabeli Y może mieć przypisanych kilka rekordów z tabeli X, np. uczeń może mieć kilku nauczycieli go uczących, ale i nauczyciel może mieć kilku uczniów przez niego nauczanych...

Na poziomie SQL te relacje realizowane są w różny sposób:
1 do 1: tabela Y zawiera klucz obcy do tabeli X, który jednocześnie może być jej (tabeli Y) kluczem głównym (ponieważ wiemy, że żaden z rekordów tabeli Y nie zostanie wskazany przez więcej niż jeden rekord z tabeli X, np. "Moim numerem pesel jest 123" "Ja, 123, należę do osoby, która mówi, że jej numerem PESEL jest 123 i tylko do niej",
1 do wielu: tabela Y zawiera klucz obcy do tabeli X, który jednocześnie nie może być jej (tabeli Y) kluczem głównym (ponieważ wiemy, że kilka rekordów tabeli Y może zostać wskazanych przez jeden rekord z tabeli X, np. "Moim dowódcą jest 123" i "Ja, 123, jestem dowódcą wszystkich, którzy mówią, że ich dowódcą jest 123",
wiele do wielu: stosujemy nową tabelę zawierającą dwa pola: klucz obcy do tabeli X i klucz obcy do tabeli Y (pola te łącznie mogą być jednocześnie kluczem własnym nowej tabeli) - tabela zawiera po prostu pary xy, które są połączone relacją...

1 użytkowników online, w tym zalogowanych: 0, gości: 1