Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Relacja produkt - zamówienie
camikazee
post 6.04.2012, 08:22:18
Post #1





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 17.04.2006
Skąd: Bydgoszcz

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


Poszukuje jakiegoś sensownego rozwiązania odnośnie pewnego problemu. Problem pojawia się choćby w sklepie internetowym, chodzi o relacje produkt - zamówienie. W uproszczeniu tabela zamówienia zawiera id produktu plus wiadomo dodatkowe informacje. Kwestia co zrobić gdy produkt zostanie usunięty, a użytkownik będzie chciał zobaczyć szczegóły zamówień czyli jakie produkty i za ile kupił. Wiadomo mogę wyświetlić informacje, że produktu już w bazie nie ma lub np po złożonym zamówieniu zapisywać je po prostu do pliku.
Macie jakieś ciekawe pomysły?


--------------------
www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
Go to the top of the page
+Quote Post
toffiak
post 6.04.2012, 08:46:09
Post #2





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

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


Relacja produkt zamówienie to relacja wielu do wielu, jeden produkt może należeć do wielu zamówienień a zamówienie może mieć wiele produktów.

Co do usuwania produktów, możesz dublować dane produktu na przykład wiążąc dodatkową tabelę zawierającą zdublowane dane produktów z tabelą zamówienia, wtedy usuwając produkt z właściwej tabeli wciąż masz o nim informacje.
Lub drugie podejście, nie usuwać produktów a oznaczać je tylko jako usunięte, dla klienta produkty nie są widoczne ale w dokonanych zamówieniach masz dostęp do tych produktów.

W jednym ze swoich projektów miałem sytuację w której dane o produktach zmieniały się, zamówiernia klientów musiały dotyczyć produktów których cena była taka jak w chwili zamówienia, rozwiązałem to poprzez dodanie tabeli pozycje zamówienia, połączonej z zamówieniami z której były odnośniki do oryginalnych produktów plus informacje które mogły się zmienić jak: cena produktu.

W ten sposób nawet po oznaczeniu produktu jako niedostępny, lub zmienie jego ceny, poprzednie zamówienia klientów mogły być ponownie realizowane na podstawie poprzednich danych.


--------------------
Go to the top of the page
+Quote Post
camikazee
post 6.04.2012, 10:27:18
Post #3





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 17.04.2006
Skąd: Bydgoszcz

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


Twoje rozwiązania są jak najbardziej słuszne pod warunkiem, że sklep jest mały i ma mało zamówień. Zapisywanie usuniętych produktów w bazie według mnie może się nie sprawdzić, boje się, że wielkość bazy danych rosłaby proporcjonalnie to ilości asortymentu, już wtedy lepiej chyba zrzucać je do plików.
A szukam najbardziej uniwersalnej i elastycznej metody, jeżeli takowa istnieje tongue.gif


--------------------
www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 08:26