Задать вопрос
@armizonov

Как правильно спроектировать 4 таблицы бд?

База MySQL. Знания по этой части близки к 0.
Есть 3 таблицы:
customer
Order
Item
Нужна связь. Вопрос в том есть ли смысл сделать связь в одной таблице? Тобишь например:
Object.id order.id relation_type
1 1 Customer
1 1 Item
2 1 Customer

Какие могут быть решения? Доводы за и против? Или иной вариант? Спасибо
  • Вопрос задан
  • 2247 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 2
@mamkaololosha
https://ru.wikipedia.org/wiki/Нормальная_форма
Обычно хватает 1-2-3 и jointов. Вы идете в правильном направлении и пытаетесь сделать что-то типа 3 формы.
Ответ написан
Комментировать
someoneisusingmyusualnick
@someoneisusingmyusualnick
Основные типы связи:
1. Один к одному. Один покупатель имеет одну покупку.
2. Один ко многим. Один покупатель имеет много покупок.
3. Многие-ко-многим. Много покупателей могут купить много покупок.(т.е Покупатель A и Б вместе могут купить товар В, покупатели Б и Г могут купить товар Е, покупатель А и Ж могут купить товар И)
Получается что у одной покупки может быть несколько покупателей и у одного покупателя может быть несколько покупок.. Надеюсь вы меня поняли :)

В вашем случае, для обычного интернет магазина:

Один покупатель(Сustomer) имеет много покупок(order), и в каждую покупку может входить несколько товаров(item). Верно?

Соответственно вам нужна таблица, которая будет хранить покупки покупателя, это связь Customer->Orders
И таблица где будут товары в покупке, т.е связь Orders->Items.
Это 2 связи один ко многим, через 2 таблицы соответственно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы