TGViewer
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ GetAnalyst - Навыки • Системный анализ • Бизнес-анализ @getanalysts · 22.5K subscribers
Post #1938 3.97K
GetAnalyst - Примеры БД для ShipEasyGA.drawio.png693.2 KB
📝 Изменения в БД в связи подключением внешней системы 📝

Прежде чем показать пример маппинга данных, я детальнее проработала часть модели БД для #ShipEasyGA.

Показала ER-диаграммы ДО -> ПОСЛЕ на прикрепленной картинке 🖼


Ключевые решения:

1. Создана таблица address для хранения структурированных адресов.

Каждый адрес (отправления и получения) привязывается к клиенту-отправителю.

При следующем заказе можно предлагать клиенту выбрать адрес из истории: при нажатии на строку с полным адресом, без ввода символов, сразу показывать подсказки со структурированными адресами из предыдущих заказов.

Это сэкономит запросы во внешнюю систему.

1.1. Один адрес может быть использован для нескольких заказов одного клиента.


1.2. Если два разных клиента введут одинаковые адреса, то структурированный адрес будет сохранен в БД дважды, для двух разных клиентов.

Это поведение системы считаем нормальным. При желании можно усложнять и оптимизировать 🙂

2. В таблице order добавила ссылки для адресов отправления pickup_address_id (UUID) и получения delivery_address_id (UUID).


Не обязательные, Так как для старых заказов, которые были созданы до обновлений, не будет структурированных адресов.

3. В таблице order для старых заказов останутся поля с полными адресами pickup_address (varchar(512), NOT NULL) и delivery_address (varchar(512), NOT NULL), их нельзя удалять.


Это нужно, чтобы сохранить обратную совместимость в БД - то есть не “сломать” старые заказы, которые ориентируются на это поле.

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


* Для каждого заказа хранится копия данных об отправителе и получателе.

Если клиент, как пользователь системы, сменит фамилию, почту или телефон, то мы не будем "ломать" старые заказы и сохраним исторические данные.



Теперь, когда мы понимаем и структуру БД проекта, можно переходить к маппингу для нашей интеграционной задачи 🙌


#ИнтеграцииGA #БДGA
  • ❤ 11
  • 🔥 9
  • 👍 5
  • 🤣 1
More from @getanalysts
  1. Sep 25, 2026🔥❤️‍🔥🎉 Вау-вау-вау! Вот это мы отметили! 4 часа практики, море вопросов, десятки схем и…
  2. Sep 24, 2026😂👍👍❤️👌😅😊😊😍😘 ❗️До начала 15 минут❗️ 🧡 «Асинхронная интеграция с ИИ-сервисом: от а…
  3. Sep 24, 2026❗️Уже через 3 часа встречаемся онлайн❗️ 👩‍💻 Открытый практикум с Екатериной Ананьевой 🔥…
  4. Sep 24, 2026Пусть хотя бы сегодня всё пойдёт по happy path 🎉🙏🩷 Сегодня праздник у людей, которые сл…
  5. Sep 23, 2026🧡 6 практических гайдов по Postman для системного аналитика: от REST API до OAuth 2.0 и m…
  6. Sep 23, 2026🤖 Интеграция с AI: 10 требований, которые надо учесть аналитику 🤖 При интеграции с AI-се…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →