Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] sklep internetowy - zamówienia
Forum PHP.pl > Forum > Przedszkole
kamilo818
Witam,
zastanawiam się w jaki sposób zapisać w bazie złożone zamówienie w sklepie internetowym
Mam kilka pomysłów, żaden mi się w 100% nie podoba, ale nie mam innych. Może coś doradzicie.

1.
Dla każdego zamówienia tworzę oddzielną tabelę czyli np
zamówienia 123456 i w nim: 1 rekord nazwa cena, 2 rekord nazwa cena ... n-3 rekord adres dostawy, n-2 rekord suma zamówienie, n-1 rekord dostawa, n rekord status zamówienia

Minus tego rozwiązania to że baza będzie miała mnóstwo tabel i nie jestem pewien czy to dobre rozwiązanie zwłaszcza że chce przechowywać historię zamówień

2.
Stworzenie 1 tabeli 'zamówienia' i w niej przechowywać rekordy zamówień, tylko tutaj jeśli zamówienie będzie miało więcej niż 1 przedmiot to dane zamówienie zajmie więcej niż 1 rekord w tabeli. A wyświetlanie takiego zamówienia będzie wymagało prześwietlenie całej tabeli i wyszukanie produktów o danym id zamówienia i z czasem tabela będzie miała tysiące rekordów i czas zapytań się wydłuży i nie sądzę żeby to było dobre rozwiązanie.

I to są moje pomysły.
Jak to zrobić lepiej?
Turson
Rozwiązanie nr 1 jest totalnie bez sensu. Drugie ok, a tysiące rekordów to żaden problem.

zamówienia
id_zamówienia | data| cena | forma_dostawy | etc...

zamówienia_produkty
id_zamowienia | id_produktu | ilosc | cena
kamilo818
No to git.

Cytat(Turson @ 30.09.2014, 11:07:12 ) *
a tysiące rekordów to żaden problem.


A setki tysięcy? Miliony?

Przy jakiej ilości to może być problem? Czy raczej się tym nie przejmować?

Turson
Przy odpowiedniej optymalizacji spokojnie sobie poradzi.
Na siłę możesz też trzymać wszystko w jednym rekordzie, a listę produktów np. serializować albo do jsona.
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.