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

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

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

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

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

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

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

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

Дизайнер дата моделей AppMaster.io
Дизайнер дата моделей 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, First Name и Last Name, которые Дженни заполнила при регистрации. Есть поле Groups, в котором будет указано, к какой группе пользователей относится учетная запись Дженни — по значению этого поля приложение определит, к каким функциям у нее есть доступ. Вы также можете создать дополнительные поля, например Address — чтобы добавить адрес Дженни в ее учетную запись.

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

Связи

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

Типы связей в AppMaster.io
Типы связей в 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 (создание мобильных приложений).

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

Как работают модели данных Appmaster.io
55
1 комментарий

С таким жлобским бесплатным тарифом вы коммьюнити разработчиков не создадите. Даже на попробовать мало. Бесплатно только один экран в приложении, стыдливо названый "приложение" - это не серьезно.