- PVSM.RU - https://www.pvsm.ru -
Приветствую! Сегодня я хочу рассказать о функциях нашего онлайн сервиса MyTaskHelper [1], который можно использовать для создания реляционных баз данных.
Напомню, что в момент создания веб-формы в сервисе MTH в автоматическом режиме генерируется база данных, в которую будет сохраняться информация, добавляемая в проект посредством формы. Но если у большинства наших конкурентов дело этим и ограничивается, то мы пошли дальше и реализовали реляционную модель данных [2].
Не буду долго разглагольствовать и покажу примеры связей (один к одному, один ко многим, многие ко многим), реализованных в системе MyTaskHelper.
Для наглядности создаем несколько таблиц с данными. Пусть это будет:
1) Форма «Клиенты» с полями:
2) Форма «Персональные менеджеры» с полями:
3) Форма «Заказы» с полями:
4) Форма «Поставщики» с полями:
Компания-поставщик (тип данных — Строка текста);
ФИО представителя (тип данных — Строка текста);
E-mail (тип данных — Email адрес);
Рабочий телефон (тип данных — строка текста).
Возможность связать формы между собой в MyTaskHelper.ru реализована предельно просто: для этого имеется отдельный вид поля, имеющий тип данных «Связь».
Связь «один к одному» мы создадим между формами «Клиенты» и «Персональные менеджеры». Для этого заходим в меню Поля=>Добавить новое поле на форму, вводим название поля (пусть это будет «Связь между клиентами и персональными менеджерами») и на вкладке «Дополнительные» выбираем тип данных «Связь».
Для того, чтобы все функционировало так, как мы задумали, на вкладке «Выберите форму» из выпадающего списка выбираем «Персональные менеджеры», в появившемся выпадающем списке указываем, какую колонку показывать (у нас это будет ФИО) и при выборе типа связи выбираем «Один-к-одному» (выпадающий список).
В MTH все это выглядит следующим образом (Рис. 1):
Рис.1
Аналогично настраиваем связь «многие к одному». Такую связь у нас будут иметь таблицы «Клиенты» и «Заказы», т.е. на одного клиента может быть оформлено несколько заказов. Переходим к форме «Заказы», заходим в меню Поля=>Добавить новое поле на форму, вводим название поля (пусть это будет «Связь между клиентами и заказами») и на вкладке «Дополнительные» выбираем тип данных «Связь». Выбираем форму «Клиенты», указываем колонку «ФИО» и тип связи «многие-к-одному» (Радио кнопка).
Связь типа «многие ко многим» будет настроена между таблицами «Клиенты» и «Поставщики», т.к. каждый клиент может иметь нескольких поставщиков, равно как и каждый поставщик имеет несколько клиентов. Отправляемся в форму «Клиенты», переходим в меню «Поля» и добавляем поле с типом данных «Связь». Далее вводим название поля (пусть это будет «Связь между клиентами и поставщиками»). Выбираем форму «Поставщики», указываем колонку «ФИО» и тип связи «многие-ко-многим» (Чекбокс).
Что мы имеем в результате?
А результаты наших манипуляций следующие.
1. Чтобы проверить, правильно ли работает связь «один к одному», переходим в форму «Клиенты» и жмем «Добавить новую запись». Вводим персональные данные клиента, в поле " Связь между клиентами и персональными менеджерами" из выпадающего списка выбираем персонального менеджера, прикрепленного к этому клиенту, а в поле " Связь между клиентами и поставщиками" галочками указываем, с какими поставщиками клиент сотрудничает (Рис.2). Вот и все, мы легко и просто добавили запись в нашу реляционную БД.
Рис. 2
2. Для того, чтобы протестировать связь «многие к одному», переходим в форму «Заказы», жмем «Добавить запись» и в поле «Связь между клиентами и заказами» выбираем клиента, которому принадлежит данный заказ (Рис. 3).
Рис. 3
3. Связь «многие ко многим» можно протестировать двумя способами. Во-первых, добавляя нового клиента в БД посредством формы «Клиенты» мы видим, что в форме имеется поле «Связь между клиентами и поставщиками», где, проставив галочки, указываем, с какими поставщиками сотрудничает конкретный клиент (Рис. 4).
Рис. 4
Аналогично работает связь «многие ко многим» и при добавлении нового поставщика. В этом случае страница добавления новой записи выглядит следующим образом (Рис. 5):
Как видим, в поле «Выберите Клиенты» можно указать, какие клиенты сотрудничают с добавляемым в базу поставщиком.
Преимущества MyTaskHelper в качестве конструктора реляционных баз данных:
А глянуть материал о том, что представляет собой MTH в целом, можно в этом хабратопике [3].
Автор: MyTaskHelper
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/bd/255336
Ссылки в тексте:
[1] MyTaskHelper: https://mytaskhelper.ru/
[2] реляционную модель данных: https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
[3] хабратопике: https://habrahabr.ru/company/mytaskhelper/blog/323026/
[4] Источник: https://habrahabr.ru/post/328744/
Нажмите здесь для печати.