Member 273359 Ответов: 1

Как построить 3-табличное отношение customer_order_transaction?


У меня есть 3 стола:

Клиенты: атрибут CustomerID, FName, LName
Заказы: Кодзаказа, атрибут CustomerID, Товар, Цена
OrderTransaction: Кодзаказа, Сумма...

Таким образом, таблица Customers &Orders (1-to-many)

Мой вопрос заключается в том, как я могу правильно соотнести OrderTransaction стол?

Должен ли я связать таблицу OrderTransaction с таблицей Orders и сделать отношение 1 ко многим между ними? Итак, 1-транзакция может иметь много ордеров?

Как лучше всего с этим справиться?

Что я уже пробовал:

Я нашел эту классическую схему в интернете, которая дает мне представление о том, как это сделать. Но сначала я хотел бы спросить вас, ребята, каковы будут ваши рекомендации классическая схема

1 Ответов

Рейтинг:
1

OriginalGriff

Если предположить, что каждый заказ составлен на одном или нескольких объектах OrderTransaction, то заказы имеют отношение "один ко многим" с OrderTransaction.

Подумайте об этом с точки зрения физического счета-фактуры: Он имеет клиента (у которого может быть много счетов-фактур) и состоит из одного или нескольких предметов, которые клиент заказал в этот день.
Итак, клиент - > (один ко многим) -> заказ - > (один ко многим) Item (или OrderTransaction в вашей схеме)


Member 273359

Может быть, я ошибаюсь, думая таким образом...но я думал, что будет много ордеров и одна сделка . Клиент может заказать много товаров, но сделать 1 разовый платеж. )

Линки Что-то вроде этого.

Есть ли в этом смысл?

Спасибо

OriginalGriff

Да-вот именно! :большой палец вверх:

Member 273359

Однако у меня есть небольшая проблема с этим.

EventTransactionID (PK) в таблице EventTranaction не генерируется до тех пор, пока что-то не будет опубликовано. Это означает, что EventTransactionID (FK) в таблице Orders будет пустым.

Как я могу справиться с этой проблемой? Я буду использовать MVC Identity Framework для создания форм и сохранения данных.

Спасибо снова.