Zbiór id produktów jako JSON

Odpowiedz Nowy wątek
2018-12-16 20:47
Trzeźwy Szewc
0

Witam panów i panie :)
Mam na zaliczenie napisać webaplikację, więc wybrałem sklep. Zaprojektowałem tak bazę danych, by tabela z zamówieniami wyglądała podobnie do tego:
id_zamowienia | id_klienta | produkty
Gdzie produkty to pole typu JSON, w którym byłyby zapisane wszystkie id produktów, nie wiem czy to jest dobre podejście, jak uwazacie? Poza tym chciałbym (chociaż chyba nie ma takiej opcji) by zrobić coś na kształt relacji, żeby te id z JSONa były powiązane z id konkretnego produktu jak przy zwykłej relacji.

Pozostało 580 znaków

2018-12-16 21:08
0

Ja bym to widział w ten sposób:

  • osobna tabela dla klientów
  • osobna tabela dla produktów
  • osobna tabela dla zamówień

W tabeli zamówienia w kolumnie produktów dajesz tylko i wyłącznie jeden produkt w rekordzie, tzn. gdy zamówienie będzie miało trzy produkty powstaną trzy wiersze, w każdym inny nr produktu

osobna dla zamówienia, osobna dla pozycji danego zamówienia - Miang 2018-12-16 22:39

Pozostało 580 znaków

2018-12-16 21:30
Trzeźwy Szewc
0
Łukasz Mikowski napisał(a):

Ja bym to widział w ten sposób:

  • osobna tabela dla klientów
  • osobna tabela dla produktów
  • osobna tabela dla zamówień

W tabeli zamówienia w kolumnie produktów dajesz tylko i wyłącznie jeden produkt w rekordzie, tzn. gdy zamówienie będzie miało trzy produkty powstaną trzy wiersze, w każdym inny nr produktu

Dziękuję za propozycję :)
Zrobiłem osobne tabele, sęk w tym, że chcę, żeby w jednym zamówieniu mogło być więcej niż jeden produkt i mogło być więcej niż jedno zamówienie. Pomyślałem też, by zrobić to na zasadzie ciasteczek w PHP, żeby w $_COOKIE trzymać zamówione produkty, a potem je wrzucić do bazy z użyciem funkcji json_encode. Też myślałem czy MongoDB nie byłoby lepszym rozwiązaniem.

MongoDB bardzo ok, ale z trzema tabelami też da radę. Po prostu id zamówienia nie traktuj jako klucz główny w tabeli zamówień. Wtedy będziesz mógł podpiąć z wiele produktów do tego samego zamówienia. Klucz główny możesz tworzyć osobno. Id zamówienia będzie się powtarzać w różnych rekordach w tabeli zamówień z różnymi dopiętymi id produktów. Poza tym warto dodać jeszcze kolumnę ilość. - siloam 2018-12-16 23:34

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0