AppMaster.io Blog Ru

Как работают модели данных AppMaster.io

Заводя учетную запись пользователя или набирая сообщение — создаете новые данные. Нажимая на кнопку «сохранить» — показываете, что их нужно не просто обработать сейчас, но и сохранить, чтобы использовать в дальнейшем. Выбирая «редактировать учетную запись» или «отправить сообщение» — даете команды поступить с ними определенным образом. 


Схемы выполнения запроса к базе данных


Вся информация вашего приложения хранится в базах данных. Они представляют собой упорядоченные структуры, в которых четко определено место для каждого элемента, указаны взаимосвязи между ними и то, как с ними можно работать. Базы данных могут быть построены по разным принципам, AppMaster.io использует классические реляционные базы данных, полностью совместимые с PostgreSQL.


Пример реляционной схемы данных


Чтобы получить возможность заполнять ваше приложение информацией, нужно создать его базу данных: 

  • создать модели данных — то есть «объяснить» AppMaster Studio, какими будут ваши данные;
  • установить связи между этими моделями.

Для этого в AppMaster Studio есть дизайнер моделей данных Data Design. В  нем вы, как и обычные программисты, будете проектировать базу данных. Но вместо строк кода будете использовать инструменты визуального программирования. 

Дизайнер дата моделей AppMaster.io


Создайте свой первый проект в AppMaster Studio и перейдите в дизайнер Data Design, чтобы наглядно увидеть то, о чем будет говориться в этой статье.


Построение моделей данных


Модели данных (data models) — это «понятные» для AppMaster Studio описания того, что из себя представляет информация, которую вы добавляете в ваше приложение. Их можно сравнить с формами или чертежами: они определяют, как будут выглядят ваши данные, с какими другими данными они будут связаны, как их хранить и обрабатывать.

·         Например, когда вы создаете в AppMaster Studio новый проект, в него автоматически добавляется модель User — по ней вы будете создавать учетные записи пользователей.

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


Объект


Единица данных, которая создается в вашем приложении на основе конкретной модели, будет называться объектом.

·         Например, учетная запись вашей сотрудницы Дженни Смит (созданная вами или самой Дженни через форму регистрации) будет объектом класса User (созданным по модели User).

В дизайнере AppMaster Studio вы будете только описывать и планировать будущие объекты, а вот создавать их можно только в готовом приложении. 

Чтобы создать объект по модели данных, нужно добавить на страницу вашего приложения специальный элемент  — например, форму регистрации. Добавлять элементы вы будете в дизайнерах приложений: Web Apps (для веб-приложений) и Mobile Apps (для мобильных приложений). Для получения информации об объектах используются другие элементы  — таблицы, карточки— которые также добавляются в дизайнерах.

·         Например, как только Дженни заполнит форму регистрации (эта форма генерируется автоматически при создании проекта) и нажмет Sign UP — в вашем приложении тут же будет создана и сохранена ее учетная запись. То есть появится новый объект, пользователь Дженни Смит. Посмотреть информацию о нем можно в таблице Users, которая также генерируется автоматически— в приложении Admin Panel.

Каждому объекту присваивается ID — идентификатор с уникальным номером, по которому ваше приложение будет «опознавать» его. 


Поля


Каждая модель данных имеет поля, в которых содержатся характеристики будущих объектов и основные инструкции для вашего приложения, как с ними работать.

·         Например, в модели User часть полей создается по умолчанию. В том числе — Login, Password, FirstName и LastName, которые Дженни заполнила при регистрации. Есть поле Groups, в котором будет указано, к какой группе пользователей относится учетная запись Дженни — по значению этого поля приложение определит, к каким функциям у нее есть доступ. Вы также можете создать дополнительные поля, например Address — чтобы добавить адрес Дженни в ее учетную запись.

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


Связи


Между двумя моделями данных можно установить связи — чтобы определить, как созданные по ним объекты будут друг к другу относиться и взаимодействовать.


Типы связей в AppMaster.io


Есть три типа таких связей:

·        has_one — 1 объект, созданный по модели данных A, может быть связан только с 1 объектом, созданным по модели данных B.
·         has_many — 1 объект, созданный по модели данных A, может быть связан с несколькими объектами, созданными по модели данных B.
·         many_to_many — множество объектов, созданных по модели данных A, может быть связано с множеством объектов, созданных по модели данных B.

Связанные модели данных получают дополнительные возможности для совместной обработки в вашем приложении. Одна модель данных может быть связана с бесконечным количеством других  — главное не усложнить логику связей настолько, что вы сами не сможете в ней разобраться.

Например: если ваше приложение позволяет сотрудникам создавать внутренние заявки (например, на покупку канцтоваров), то вы создадите модель Order (заявка) и свяжете c ней уже имеющуюся User через has_many — тогда Дженни сможет создавать множество заявок (например, каждый месяц или квартал). Если вы установите связь has_one — Дженни сможет создать только одну заявку.


Что дальше?


Итак, вы узнали основы работы с моделями данных в AppMaster Studio. Теперь создайте свою первую модель, используя эту инструкцию.

Чтобы настроить логику работы вашего приложения, используйте бизнес-процессы и эндпоинты.

Для настройки визуальной составляющей — редакторы Web Apps (создание веб-приложений) и Mobile Apps (создание мобильных приложений).

Добавить дополнительные функции можно с помощью модулей.

Читайте наш блог и телеграм-канал, чтобы узнать больше о no-code разработке и платформе AppMaster.io. Присоединяйтесь к  телеграм-чату комьюнити, чтобы напрямую пообщаться с нашими программистами и другими ноукодерами!