Эта модель базы данных менее эффективна? - PullRequest
0 голосов
/ 03 мая 2019

У меня есть проблема, которая реализует направления клиентов и направления заказов, оба направления имеют одинаковые атрибуты, поэтому я решил создать таблицу под названием Направления, затем я создал отношение между Клиентами и Направлениями и другое отношение между Заказами иНаправления.

Мой вопрос таков: более эффективно изменить как таблицы моих заказов, так и таблицы клиентов, чтобы управлять их атрибутами самостоятельно, а не создавать таблицу направлений.

Вот пример моегодиаграмма

Example

Вот один из моих запросов:

SELECT clients.name, work_order.date, direction.street,
direction.city, direction.zip FROM work_orders as work_order
INNER JOIN clients.clients as clients ON client.id = work_order.id_client
INNER JOIN directions.directions as direction ON direction.id = work_order.id_work_direction 
WHERE work_order.id = '1';

1 Ответ

0 голосов
/ 05 мая 2019

Эта организация для адресов, вероятно, будет лучше, чем альтернатива встраивания адреса в отдельные таблицы клиентов и заказов.Однако есть некоторые проблемы, которые необходимо учитывать.

  • Если вам нужно обновить указания для клиента, вам нужно проверить, есть ли другие клиенты или заказы, использующие тот же идентификатор направления.Если есть какие-либо общие записи, вам нужно знать, что делать - законно ли обновлять направление для них всех, или вам нужно создать новое направление для этого клиента, чтобы хранить измененные данные.
  • Необходимо ли заморозить детали заказа, чтобы, если клиент размещает первый заказ, живя на Гавайях, и вы выполняете этот заказ, а затем тот же клиент переезжает в Мэн и размещает другой заказ с новыми указаниями,информация для исходного заказа не изменилась?
  • Как правило, страны за пределами Северной Америки не используют отображаемую вами структуру адресов.Это может быть хорошо, но это большая проблема, если вам нужно работать с европейскими или азиатскими адресами.
  • Как вы убедитесь, что у вас нет разных идентификаторов направления, идентифицирующих один и тот же адрес?Или это не имеет значения?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...