В настоящее время я разрабатываю для своего клиента небольшую систему управления взаимоотношениями с клиентами и счетами.И я столкнулся с некоторыми небольшими проблемами, которые я хотел бы обсудить.
Что является наилучшей практикой в отношении заказов, клиентов и продуктов.Может ли мой клиент иметь возможность удалять заказы, клиентов и продукты?
В настоящее время моя база данных построена вокруг принципа взаимоотношений между заказом, клиентом и продуктом следующим образом:
Клиент
ID
Имя
...
Продукт
ID
Имя
Цена
...
Order
ID
CustomerID
OrderDate
...
Строка заказа
ID
OrderID
ProductID
Таким образом, я могу соединить все разные таблицы.Но что, если мой клиент удалит товар, что произойдет, когда он позже откроет заказ, который он создал несколько месяцев назад и в котором был этот товар?Он исчезнет, так как был удален.То же самое касается клиентов.
Должен ли я просто отключить продукты и клиентов, когда нажата кнопка удаления, или каков наилучший метод?
Если я позволю сказать «заблокировать» продукт, когда мой клиент решит:удалите его, что произойдет, если позже он попытается добавить новый продукт с тем же идентификатором продукта, что и у отключенного продукта, я должен просто включить этот элемент снова?
Пожалуйста, поделитесь своей мудростью: D