У нас есть база данных для приложения электронной коммерции, мы работаем с JPA 2.0.
У нас есть три таблицы: товары (идентификатор, код, название, описание, цена); soldproducts (идентификатор, количество, идентификатор продукта); заказы (идентификатор, дата, статус, комментарий).
Вот наша проблема: когда мы удаляем продукт из таблицы продуктов, у нас возникает проблема ограничения в soldproducts, потому что столбец product_id ссылается на продукт. Мы хотим удалить продукт, но хотим получить доступ к информации о продуктах.
Мы хотим добавить дополнительный столбец в таблицу продуктов, что-то вроде доступности, которое сообщает нам, доступен ли продукт или нет. При таком подходе, если мы удаляем продукт из приложения, а продукт не ссылается на проданные продукты, мы просто обновляем этот дополнительный столбец до недоступного, мы не удаляем его. В противном случае мы удаляем товар из таблицы. Но мы не уверены, что это лучший подход.
Как вы думаете, каков наилучший подход к проектированию в данной ситуации?