Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Struktura bazy produktów z wieloma cechami, Struktura bazy produktów z wieloma cechami z góry nieokreślonymi
adnow
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 24.03.2016

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


Jestem w trakcie tworzenia sklepu. Jednym z założeń jest możliwość przypisania do produktu wielu cech, np. może być produkt: Pamięć USB firmy XYZ

W ramach tego produktu mogę wybrać:
1. Pamięć USB firmy XYZ o pojemności 16GB kolor biały z nadrukiem - stan magazynowy 20szt
2. Pamięć USB firmy XYZ o pojemności 16GB kolor biały bez nadruku - stan magazynowy 50szt
3. Pamięć USB firmy XYZ o pojemności 16GB kolor czarny z nadrukiem - stan magazynowy 10szt
4. Pamięć USB firmy XYZ o pojemności 16GB kolor czarny bez nadruku - stan magazynowy 5szt
5. Pamięć USB firmy XYZ o pojemności 16GB kolor niebieski z nadrukiem - stan magazynowy 41szt
6. Pamięć USB firmy XYZ o pojemności 16GB kolor niebieski bez nadruku - stan magazynowy 11szt

7. Pamięć USB firmy XYZ o pojemności 32GB kolor biały z nadrukiem - stan magazynowy 10szt
8. Pamięć USB firmy XYZ o pojemności 32GB kolor biały bez nadruku - stan magazynowy 17szt
9. Pamięć USB firmy XYZ o pojemności 32GB kolor czarny z nadrukiem - stan magazynowy 3szt
10. Pamięć USB firmy XYZ o pojemności 32GB kolor czarny bez nadruku - stan magazynowy 8szt
11. Pamięć USB firmy XYZ o pojemności 32GB kolor niebieski z nadrukiem - stan magazynowy 29szt
12. Pamięć USB firmy XYZ o pojemności 32GB kolor niebieski bez nadruku - stan magazynowy 70szt

dodatkowo każdy produkt może przynależeć do jednej lub kilku kategorii.

Czy macie pomysł jak to od strony bazy rozwiązać?
Za wszelkie podpowiedzi będę ogromnie wdzięczny, ponieważ głowię się nad tym jakiś czas i nie wiem od której strony to ugryźć.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Ja bym to zrobił tak:

Pamięć USB xxYYZZ - produkt główny
- Pojemność 16GB
- Pojemność 32GB
Jako warianty produktu (czyli normalny produkt ale z ID produktu bazowego np. w kolumnie variant

- biały z nadrukiem/bez
- czarny z nadrukiem/bez
To jako cechy przechowywane w oddzielnej tabeli i połączone relacją n:n z wariantem

Zasada jest taka że nie możesz kupić produktu głównego, tylko wariant z określoną cechą.

To będzie 3 tabelki: products (id, nazwa, variant (default NULL lub ID produktu głównego) , options (ID, name), product_option (product_id, option_id)

Do tego oczywiście tabele z kategoriami: categories(id, name), category_product(category_id, product_id)

Możesz też przechowywać ID kategorii głównej w samym produkcie, albo oprzeć całość o category_product
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 20:12