felkowyLudzik
29.03.2013, 07:13:26
Witam
Mam tabele:
Kategorie,
Producenci,
Części
Jedna kategoria może zawierać wiele producentów, i ten sam producent może być w wielu kategoriach ( czyli wiele do wiele )? Potem Część ( od roweru ) jest uzależniona od kategorii i producenta czyli zawiera ona klucz obcy tabeli pośredniczącej, która zaś przechowuje klucz obcy z Kategorii i Producentów ?
Pozdro!
mar1aczi
29.03.2013, 07:28:27
Tabele:
Producenci, Kategorie, Producenci_kategorie, Czesci
- Producenci: id_producenta
- Kategorie: id_kategorii
- Producenci_kategorie: id_kategorii, id_producenta
- Czesci: id_kategorii, id_producenta
O to pytałeś?
felkowyLudzik
29.03.2013, 07:35:45
Tak, to jest Twój pomysł. Czy moje rozwiązanie jest złe? Moje rozwiązanie to:
- Producenci: id_producenta
- Kategorie: id_kategorii
- Producenci_kategorie: id_kategorii, id_producenta, id_producenci_kategorie(pk)
- Czesci: id_producenci_kategorie
Pozdrawiam
mar1aczi
29.03.2013, 08:00:20
Co w sytuacji, gdy będziesz chciał wyszukać części wg. kategorii lub wg. producenta przy Twoim rozwiązaniu? Jak to rozwiążesz?
Rodzi mi się jeszcze pytanie: czy jedna część będzie przynależeć tylko_i_wyłącznie do jednej kategorii?
felkowyLudzik
29.03.2013, 08:02:59
Nie mam jeszcze tego zaimplementowanego, ale złączyłbym tabele pośredniczącą i Części po id_producenci_kategorie where id_kategorii =(select * .. )
Ale nie wiem czy to zadziała bo jak napisałem nie mam tego formlanie napisanego jeszcze ;-)
Edit:
Tak jedna część jedna, kategoria ( inaczej jedna klasa części jedna kategoria ).
Np. Kategoria: Napęd rowerowy - i tutaj producenci - i różne części ( pedały, łańcuchy ).
mar1aczi
29.03.2013, 08:07:34
Jeśli stricte jedna część (jeden wiersz) będzie przypisana do tylko jednej kategorii i jednego producenta to i Twoje rozwiązanie powinno się sprawdzić. Problem pojawi się, gdy to ulegnie ewolucji
felkowyLudzik
29.03.2013, 08:09:36
Twoje rowiązanie jest bezpieczniejsze?? Zawwsze uwazalem, ze polaczenia tabel nie powinny sie zamykac :-) To znaczy ze jak od jedna zaczne isc po kolejnych to gdzies musi byc przepasc, czyli brak polaczenia

Cytat
Jeśli stricte jedna część (jeden wiersz) będzie przypisana do tylko jednej kategorii i jednego producenta to i Twoje rozwiązanie powinno się sprawdzić.
Tego nie rozumiem :-) Np. pedał rowerowy należy do kategorii Napęd_rowerowy, ale może mieć on wiele producentów :-) Czyli de facto jedna część może należeć do wielu producentów, ale tylko do jednej kategorii
mar1aczi
29.03.2013, 08:19:54
Cytat(felkowyLudzik @ 29.03.2013, 08:09:36 )

Tego nie rozumiem :-) Np. pedał rowerowy należy do kategorii Napęd_rowerowy, ale może mieć on wiele producentów :-) Czyli de facto jedna część może należeć do wielu producentów, ale tylko do jednej kategorii

Będzie to zależne od szczegółowości opisu części. Np. kod-producenta będzie inny dla każdego pedała, zatem w tabeli czesci będą to różne wiersze (poróżni je, w tym przykładzie, to jedno pole). Dodatkowo: czy jeden producent nie może produkować różnych wersji tych pedałów?
felkowyLudzik
29.03.2013, 08:21:38
Dokładnie każdy pedał ma swój kod_producenta i tylko tek kod może mieć jednego producenta. Zatem moje rozwiązanie się sprawdzi?
Cytat
Dodatkowo: czy jeden producent nie może produkować różnych wersji tych pedałów?
Do czego nawiązujesz? Bo jednak inna wersja tegoż urządzenia to w ciąż pedał
StrefaPi
29.03.2013, 08:27:53
Cytat(felkowyLudzik @ 29.03.2013, 08:09:36 )

Czyli de facto jedna część może należeć do wielu producentów, ale tylko do jednej kategorii :)
Dla mnie błąd w założeniu... Tutaj powinno zostać wiele wiele... bo jeżeli ów pedał będzie np. specjalny kolorowy czy z tytanu... To moim zdaniem powinien należeć do dwóch kategorii: "Napęd rowerowy" i "Tuning"...
felkowyLudzik
29.03.2013, 08:30:19
Cytat
Tutaj powinno zostać wiele wiele
Czyli Kategoria - części ( wiele do wiele ), i Producenci - Części ( jeden do wielu )
StrefaPi
29.03.2013, 08:31:28
Ja bym wolał mieć właśnie tak...
felkowyLudzik
29.03.2013, 08:33:15
Bardzo logiczne i bezpieczne. Natomiast Kategorie - Producenci ( wiele do wiele ) zostaje nadal.
StrefaPi
29.03.2013, 08:38:34
Cytat(felkowyLudzik @ 29.03.2013, 08:33:15 )

Natomiast Kategorie - Producenci ( wiele do wiele ) zostaje nadal.
Tego to trochę nie rozumiem po co akurat ta relacja... ale moim zdaniem jeżeli chcesz to zostawić to tak wiele wiele...
felkowyLudzik
29.03.2013, 08:39:45
Żeby przyporządkować w jednej tabeli kategoriom ich producentów
StrefaPi
29.03.2013, 08:41:09
Nie jest to dublowanie danych? Nie wiem...
felkowyLudzik
29.03.2013, 08:41:40
Właśnie jest, dlatego z tego rezygnuje.
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.