![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam,
pisze maly skrypt - cos ala sklep internetowy. W sumie chcialbym jednak zrobic cos takiego, zeby mozna bylo wprowadzac rozne typy produktow (i je oczywiscie wyswietlac). W uproszczeniu -> zalozmy ze sklep sprzedaje opony oraz felgi. Wiadomo ze zupelnie inne cechy ma opona oraz felga. Dajmy na to ze opony sa zimowe i letnie a felgi stalowe i aluminiowe (tak dla uproszczenia przykladu). Chcialbym aby w opisie produktow wyswietlaly sie rowniez te charakterystyczne informacje. Wymyslilem ze zrobie to tak. Stworze 3 tabele 1) produkty (id, typ, opis, cena itd) (pole typ przechowuje informacje czy ty opona czy felga) 2) felgi (id_produktu, material) 3) opony (id_produktu, przeznaczenie) Nastepnie strona wyswietlajaca produkty bedzie dzialala wedlug nastepujacego algorytmu 1) pobierz info o produktach z tabeli produkty 2) jesli produkt to opona pobierz infomracje szczegolowe z tabeli opony i wyswietl (jesli felga to wiadomo) 3) powrot do punktu drugiego Pytanie -> czy to jest optymalne rozwiazanie -> bylo nie bylo jesli na jednej stronie chce wyswietlic 20 produktow to musze wykonac 21 zapytan do bazy. Czy jakos mozna to zoptymalizowac? Dodam ze w rzeczywistym rozwiazaniu niektore produkty maja wiecej cech szczegolowych inne mnie, takze raczej dane szczegolowe musza byc przechowywane w osobnych tabelach. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 24.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
według mie to bardziej optymalne byloby umiescic wszystko w jednej tabeli czyli
produkty (id, typ, opis, cena, itd,material,przeznaczenie) przeciez jak bedziesz wstawial opone to nie musisz wypelniac pola material a jak bedziesz wpisywac felge to nie musisz wypelniac przeznaczenia. Przeciez jak odczytujesz z bazy to nie musisz wszystkich pol wyswietlac tylko te co chcesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Generalnie masz racje, ale sa 2 ale :
- w ostatecznym rozwiazaniu jest okolo 40 grup asortymentowych, kazda z nich ma 1 albo kilka cech charakterystycznych, wiec tabela bylaby ogromna - puste pola w tabeli znacznie zmniejszaja jej wydajnosc Trzeba tez pamietac o tym, ze powinna istniec mozliwosc latwego skalowania skrytpu, a rozwiazanie z jedna tabela troche to utrudnia. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 09:46 |