[Bazy danych] Trzy tabele, wiele do wielu

Awatar użytkownika
musialmi
Użytkownik
Użytkownik
Posty: 3466
Rejestracja: 3 sty 2014, o 13:03
Płeć: Mężczyzna
Lokalizacja: PWr ocław
Podziękował: 382 razy
Pomógł: 434 razy

[Bazy danych] Trzy tabele, wiele do wielu

Post autor: musialmi »

Mamy tabelę Wykonawca, tabelę Muzyk i tabelę Funkcja.

W jednym zespole (wykonawcy) może grać kilku muzyków, jeden muzyk może grać w kilku zespołach. W obrębie jednego zespołu jeden muzyk może wykonywać kilka funkcji, ale również ten sam muzyk może wykonywać różne funkcje w różnych zespołach. W obrębie jednego zespołu tę samą funkcję może wykonywać kilku muzyków. Tę samą funkcję w różnych zespołach mogą wykonywać różni muzycy.

Połączyłem te tabele tak, że stworzyłem tabelę Członek z kolumnami: IdMuzyka, IdWykonawcy, IdFunkcji.
Mam podejrzenie, że to połączenie nie jest prawidłowe, ponieważ pomiędzy tabelami Członek i Funkcja nawiązywane jest połączenie wiele do wielu, ale nie ma tabeli pomiędzy tymi dwiema tabelami. A jeśli miałaby jakaś być, to nie wiem jaka.
Jak to jest?
Ostatnio zmieniony 30 gru 2015, o 19:01 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[Bazy danych] Trzy tabele, wiele do wielu

Post autor: Afish »

Tabela łącznikowa może być pomiędzy wieloma tabelami, tylko musisz zadbać o odpowiednie więzy spójności (żeby nie okazało się, że masz nulle w kolumnach). Chyba że może być muzyk bez funkcji, to wtedy lepiej zrobić dwie tabele łącznikowe.
Awatar użytkownika
musialmi
Użytkownik
Użytkownik
Posty: 3466
Rejestracja: 3 sty 2014, o 13:03
Płeć: Mężczyzna
Lokalizacja: PWr ocław
Podziękował: 382 razy
Pomógł: 434 razy

[Bazy danych] Trzy tabele, wiele do wielu

Post autor: musialmi »

Każdy muzyk ma funkcję. Niestety nie zrozumiałem twojej rady.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[Bazy danych] Trzy tabele, wiele do wielu

Post autor: Afish »

Bo i rady żadnej nie było, jedynie odpowiedź na Twoje pytanie.
Tabela łącznikowa trzech tabel jest w porządku, o ile tylko jest zrobiona poprawnie, czyli kolumny z identyfikatorami z innych tabel są kluczami obcymi, a wszystkie klucze obce tworzą klucz główny.
ODPOWIEDZ