Baza danych - przechowywanie towaru

0

Witam, mam taki problem. Tworzę sklep internetowy w MVC i napotkałem problem z zaprojektowaniem bazy danych. Wszystko jest w porządku dopóki nie chcę usunąć z bazy produktu który już został sprzedany (jest w tabeli OrderDetail). W jaki sposób to rozwiązać? Oczywiście po czynności usunięcia produktu wywala błąd, wiem, że klucz główny znajduje się w tabeli **OrderDetail **no ale chciałbym sklepowi umożliwić usuwanie produktów z bazy np te które nie są już sprzedawane.

W jaki sposób to rozwiązać? W jaki sposób jest to wykonywane na innych serwisach? Usuwanie z OrderDetail nie wchodzi w grę bo chcę aby każdy użytkownik przez cały czas miał możliwość sprawdzenia historii zakupów.

Pozdrawiam, mam nadzieję, że ktoś mi szybko pomoże bo termin goni ;)

Kawałek bazy w załączniku.

Edit

Co myślicie o takim rozwiązaniu. Każdy produkt będzie miał status, jeśli będzie ustawiony na 1 no to jest wyświetlany w panelu administracyjnym, jeżeli ma status = 0 no to jest tak jakby wycofany z sprzedaży ale w bazie nadal jest :)

1

to do produktu dodaj jakieś pole o nazwie status (do sprzedania, sprzedany itd...)

i po prostu tylko zmieniaj status temu produktowai na sprzedany.

1

is_deleted typu boolean załatwi sprawę

1

BTW nie wiem czy wszyscy zdają sobie z tego sprawę ale żadna znana mi SQLowa baza danych nie usuwa fizycznie rekordu w momencie zrobienia delete a jedynie oznacza je jako usunięte

0
Łhxnfm napisał(a):

Co myślicie o takim rozwiązaniu. Każdy produkt będzie miał status, jeśli będzie ustawiony na 1 no to jest wyświetlany w panelu administracyjnym, jeżeli ma status = 0 no to jest tak jakby wycofany z sprzedaży ale w bazie nadal jest :)
I to jest najlepsze rozwiązanie moim zdaniem. Co więcej ja bym dał możliwość przeszukiwania towarów po towarach archiwalnych. Robienia z tego zestawień itp. Bo chyba nie chcesz wywalić zamówień, czy archiwalnych faktur? Zobacz sobie. Coś takiego jest dość często stosowane w sklepach internetowych. Niby towar jest w opisie, ale jest oznaczony jako archiwalny albo niedostępny/wycofany.

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