Это хорошая архитектура базы данных, и если нет, что я могу в ней изменить? - PullRequest
4 голосов
/ 29 мая 2020

Database structure

Я нашел это в старом посте, и я думаю использовать его для проекта, но я не знаю, следует ли мне его изменить или оставить, вот что я хочу для изменения:

  • удалить параметры продукта и добавить идентификатор продукта и идентификатор группы вариантов в параметры
  • удалить сведения о заказе и добавить информацию в заказы

это то, что я делаю плохо? Также, если бы вы могли быть любезны, рассказать мне о некоторых из лучших практик для чего-то вроде этого, я был бы очень признателен.

спасибо за ваше время.

1 Ответ

0 голосов
/ 29 мая 2020

Обе таблицы присутствуют по уважительной причине.

productoptions - таблица сопоставления между options и products: это отношение «многие ко многим», в котором данный продукт может иметь несколько вариантов, и один вариант может использоваться несколькими продуктами. Если вы удалите эту таблицу, вы в конечном итоге добавите optionName к каждой строке в productoptions, которая относится к одному и тому же параметру, что неэффективно и может нарушить целостность данных (как вы гарантируете, что данный параметр всегда имеет такое же имя?).

Что касается order_details: это отношение «многие к одному» по отношению к orders. В заказе может быть несколько строк деталей, каждая из которых относится к разному продукту. Удаление этой таблицы означает потерю этой возможности.

...