Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Mysql]Dwie Tabele jak polaczyc
Forum PHP.pl > Forum > Bazy danych > MySQL
zicher
Witam

Mam problem z rozplanowaniem bazy danych. Dokladnie z dwoma tabelami. Chce sie dowiedziec jaki sposb jest najbardziej poprawny, albo (jezeli oba sa poprawne) jakie niosa ze soba korzysci. Dlatego prosze o odpowiedzi ludzi, ktorzy znaja sie na tym bardzo dobrze.

Problem:

Mam dwie tabele. Nazwa i Rodzaj. Nazwa zawiera tytuly roznych dziel np. Zalozmy ze jest tam 5 rekordow (3 powiesci 2 filmy) [id_nazwa, Tytul, e_order]. Rodzaj to rodzaj dziela (np. powiesc, film) [id_rodzaj, nazwarodzaju, e_order].

Problem zaczyna sie w sytuacji kiedy 3 z 5 rekordow w Nazwa ma identyczny tytul.
Np 5 tytułow w Nazwa:

1. Star Wars: New Hope (Film)
2. Star Wars: New Hope (powiesc)
3. Star Wars: New Hope (powiesc)
4. Harry Potter & Chamber of Secrets (powiesc)
5. Blood of Dracula (film)

Rekordy 2 i 3 to dwie rozne powiesci pod tym samm tytulem.

Jak w tej sytuacji polaczyc relacja obie tabele tak by bylo poprawnie?

jeden-do-wielu zatrzymujac 5 rekordow w Nazwa?
Wiele-do-wielu redukujac ilosc rekordow do 3 w Nazwa?

Jezeli obie sa poprawne to jakie korzyci niosa?

Z gory dziekuje za odpowiedz
zicher
Darti
Do tabeli Nazwa dorzuć klucz obcy do rodzaj, będzie wtedy wyglądać np tak: [id_nazwa, id_rodzaj, Tytul, e_order] i rób JOIN na nazwie Nazwa.id_rodzaj = Rodzaj.id_rodzaj
zicher
Witam ponownie

Nie tego dotyczy moje pytanie. Umiem tworzyc relacje.

Pytanie do doswiadczonych mysqlowcow sprowadza sie do tego czy w opisanej sytuacji lepiej zrobic relacje:

jeden-do-wielu zatrzymujac 5 rekordow w Nazwa?
Wiele-do-wielu redukujac ilosc rekordow do 3 w Nazwa?

I o uzasadnienie dlaczego tak jest lepiej. po prostu nie chce by na jakims etapie prac nad baza okazalo sie, ze nie bede wstanie rozroznic pozycji o tych samych nazwach i tym samym rodzaju.

Z powazaniem
zicher
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.