Relacje na bazach danych

0

Witam,
Otóż chciałbym aby ktos mi wytłumaczył, podał jakieś wskazówki jak rozpoznawać widząc projekt relacji (tak jak w access) jaka to relacj.
Ogólnie czy może ktoś powiedzieć jak różni się 1-wielu od wielu-wielu

1

Jeden do wielu - jeden użytkownik mogący posiadać wiele adresów email, ale nigdy nieposiadający adresu email wspólnego z drugim użytkownikiem. Do zrealizowania za pomocą dwóch tabel.
Wiele do wielu - uprawnienia użytkowników - jeden user może mieć wiele uprawnień, a wiele użytkowników może mieć to samo uprawnienie. Do zrealizowania za pomocą trzech tabel.

0

A może ktoś jeszcze jakiś inny przykład zapodać?

1

Przyjaciele to relacja wiele do wielu - każdy Twój przyjaciel może mieć wielu przyjaciół i Ty też możesz mieć wielu przyjaciół. Sklep - klient. Samochód - mechanik.

Matka-dzieci to relacja jeden do wielu - dziecko może mieć jedną matkę (nie wnikajmy w to pod kątem ostatnio modnego trendu homoseksualnego), ale jedna matka może mieć wiele dzieci. Dom - pokoje. Drzewo - liście.

0

Dzięki - trafne przykłady.
Ale trochę nie rozumiem wiele do wielu. Matka ma wiele dzieci, ale kazy ma jedną matkę - ok rozumiem. Widzę teraz że zachodzi między nimi oczywista relacja jeden do wielu.
zaś ta relacja wiele do wielu jest skomplikowana. Ja mam kilku przyjaciół, moi przyjaciołowie mają kilku przyjaciół. Ok, ale nie widzę jakby związku.

1

Jesli obie strony mogą mieć wiele relacji, to jest to wiele do wielu. Czyli ja mogę mieć wiele przyjaciół, każde z przyjaciół może mieć wiele przyjaciół. Dla relacji matka-dziecko jedna strona nie ma wielu relacji - matka jest tylko jedna.

0

Jeśli połączymy trzy tabelę, przy czym dwie nie mają połączenia (zespaja je trzecia, "pośrodku") otrzymujemy jakąś tam relacją.
I chce ustalić, w jakiej relacji są, te które "gołym okiem" nie są połączone? Zakładajmy, że te które są połączone sa w relacji:
a) 1:1 i 1 do wielu
b) 1:wielu i 1:wielu

0

a) 1:n
2) n:m
to chyba dość oczywiste...

0

Jeśli do relacji między dwoma tabelami używana jest tabela trzecia, to jeśli tylko ktoś nie spieprzył roboty (albo nie zaszły pewne bardzo rzadkie i specyficzne warunki), to masz relację wiele do wielu.

0

Tzn te, które nie są połączone będą w relacji wiele do wielu. Czyli dla kazdego z elementów powinienem móc wskazać kilka odpowiadających wierszy ?

0

Klasycznym przykładem relacji wiele do wielu jest relacja pomiędzy Produktem i Zamówieniem.
Przykład jest oczywisty.
Ten sam produkt (np. stół) może być w wielu zamówieniach.
Ale w jednym zamówieniu może być kilka różnych produktów (np. stół i krzesła).

Do połączenia Produktów i Zamówień używamy tablicy "pośredniczącej", którą w tym przypadku nazywamy Pozycje_Zamówienia.

Czyli dostajemy relacje:

Zamówienia (1) - (wiele) Pozycje_Zamówienia (wiele) - (1) Produkty

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