Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Mysql]Dwie Tabele jak polaczyc, Problem koncepcyjny
zicher
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 28.09.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


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


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
zicher
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 28.09.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:34