Каждому приложению нужна база данных. Базы данных хранят и управляют информацией, на которую приложения опираются во всем, что они делают, от входа пользователей в систему до основных функций приложения. Наиболее распространенным типом баз данных, используемым при разработке приложений, является реляционная база данных, также известная как база данных SQL.
Проектирование реляционной базы данных поначалу может показаться сложной задачей, особенно если вы никогда раньше с ней не работали, но это проще, чем кажется. Вам просто нужно понять, как работают реляционные базы данных, какие данные понадобятся вашему приложению и как структурировать данные так, чтобы их было легко извлечь при необходимости.
В этой статье мы подробно расскажем обо всем, что нужно знать для проектирования реляционной базы данных. Общие принципы, которые мы будем использовать, применимы к любой реляционной базе данных, а для конкретики мы шаг за шагом пройдем процесс создания реляционной базы данных в Bubble — нашей полнофункциональной платформе разработки приложений без написания кода.
Как работают реляционные базы данных
Если вы когда-либо пользовались программами для работы с электронными таблицами, такими как Excel или Google Таблицы, то вы уже понимаете основную идею структурирования данных в организованном виде для удобства их извлечения.
Электронные таблицы делают это с помощью строк и столбцов. Например, у вас может быть таблица с контактной информацией, где каждая строка представляет отдельного человека, а каждый столбец представляет отдельный фрагмент информации об этом человеке, такой как имя, адрес электронной почты и номер телефона.
Роберт Браун
[email protected]
(555) 567-8901
Макс Дэвис
[email protected]
(555) 123-4567
Итан Ким
[email protected]
(555) 456-7890
Аиша Патель
[email protected]
(555) 234-5678
В электронных таблицах это отношения «один к одному», что означает, что каждому человеку назначается одно имя, один адрес электронной почты и один номер телефона. Но что, если вам нужно назначить несколько значений для одного человека, например, дополнительный адрес электронной почты? Вам придется либо добавлять дополнительные столбцы с дополнительными значениями, которые будут не у каждого человека, либо добавлять дублирующие записи для одного человека, но с другой контактной информацией. Ни одно из этих решений не является идеальным.
В отличие от электронных таблиц, реляционные базы данных справляются с этим с помощью отношений «один ко многим», «многие к одному» или «многие ко многим». Другими словами, у одного человека может быть столько адресов электронной почты, сколько ему нужно, несколько человек могут использовать один и тот же номер телефона, а группа людей может проживать по нескольким разным адресам.
Вместо хранения всей информации в одной электронной таблице реляционные базы данных организуют данные в несколько таблиц, каждая из которых представляет определенный тип данных. Эти таблицы состоят из полей (или столбцов), причем каждое поле содержит отдельный фрагмент информации. Для сложных связей поле может ссылаться на другую таблицу вместо хранения исходных данных. Например, у вас может быть таблица для людей и другая таблица для адресов электронной почты. В таблице людей поле электронной почты может быть связано с таблицей адресов электронной почты, что позволяет связать одного человека с несколькими адресами электронной почты.
Таким образом, реляционные базы данных позволяют хранить всю информацию, необходимую для вашего приложения, со всеми надлежащим образом связанными отношениями, какими бы сложными эти отношения ни были.
Как спроектировать реляционную базу данных
Все мы знаем, с чего начать работу с электронной таблицей. Но возможно, вы впервые проектируете реляционную базу данных. Не беспокойтесь — структура базы данных Bubble делает это простым. В целях демонстрации мы будем использовать пример приложения для планирования мероприятий и проведем вас через проектирование базы данных для этого приложения в Bubble. Вот как это сделать.
Типы данных, сгенерированные с помощью ИИ, скоро появятся! Опишите функцию, которую вы хотите создать, и Bubble AI создаст необходимые типы данных.
Шаг 1. Опишите структуру вашей базы данных
Прежде чем приступать к созданию базы данных, подумайте о потребностях вашего приложения и наметьте все фрагменты информации, которые вы планируете хранить в базе данных. Хотя вы всегда сможете добавить новые элементы в базу данных позже, эта предварительная работа гарантирует, что вы не упустите ничего важного в своем MVP и сможете правильно настроить все связи между данными.
Для этого вам нужно поставить себя на место пользователя вашего приложения, пройти через любые действия, которые он может совершить, и учесть каждый фрагмент данных, который понадобится приложению на каждом этапе. Попробуйте упорядочить эти элементы в типы данных верхнего уровня и отдельные поля, относящиеся к типу данных. Давайте сделаем это для нашего приложения для планирования мероприятий.
Первое, что сделает пользователь, — войдет в приложение, поэтому вам нужно будет хранить всю базовую информацию, связанную с учетными записями пользователей: имя пользователя, адрес электронной почты, пароль и т. д. В Bubble вы заметите, что тип пользователя поставляется вместе с вашим приложением и имеет встроенные поля, такие как адрес электронной почты. Это оптимизирует разработку, поэтому единственные поля, которые вам нужно добавить к вашему типу пользователя, — это дополнительные поля, которые вы хотите хранить в приложении.
После входа в систему пользователь должен иметь возможность создавать, просматривать мероприятия и управлять ими, поэтому вы также знаете, что вам нужно хранить данные о мероприятиях, включая название, место проведения, время начала, время окончания и описание. Каждое мероприятие также должно назначать пользователя организатором, и пользователи должны иметь возможность отправлять приглашения участникам. Вам понадобится способ хранения информации о том, какие приглашения были отправлены каким пользователям, а также статус этих приглашений (в ожидании, принято или отклонено).
Вы можете набросать это на бумаге или в любом документе либо приложении для заметок. Для нашего примера с планировщиком мероприятий у вас может получиться набросок, который выглядит следующим образом:
- ПользовательПолное имяЭлектронная почтаПароль (скрыт в редакторе Bubble, но присутствует автоматически!)
- Полное имя
- Электронная почта
- Пароль (скрыт в редакторе Bubble, но присутствует автоматически!)
- МероприятиеНазваниеМестоположениеВремя началаВремя окончанияОписаниеОрганизаторУчаствующие люди
- Название
- Местоположение
- Время начала
- Время окончания
- Описание
- Организатор
- Участвующие люди
- ПриглашениеМероприятиеУчастник
- Мероприятие
- Участник
Шаг 2. Создайте типы данных
После того как вы определили информацию, которую будет хранить ваша база данных, вы можете начать создавать соответствующие типы данных (или таблицы).
В Bubble это делается на вкладке данных. В разделе «Типы данных» вы увидите уже созданный по умолчанию тип данных «Пользователь». Давайте добавим поле к пользователю, чтобы мы могли хранить его полное имя.
Для нашего приложения-примера мы добавим «Мероприятие» (Event), а затем нажмем «Создать» (Create).
Для своей реляционной базы данных создайте новые типы данных для каждого из фрагментов данных верхнего уровня, которые вы определили на предыдущем шаге.
Шаг 3. Создайте поля
После добавления всех типов данных мы можем пройти по ним и добавить их поля.
Начните с перехода к созданному по умолчанию типу данных «Пользователь», а затем нажмите «Создать новое поле» (Create a new field). В поле «Имя поля» (Field name) введите «Полное имя» (Full name). Затем для типа поля (Field type) вы увидите выпадающий список с выбором различных опций в зависимости от типа хранимых данных. В данном случае это простое текстовое поле. Поскольку у каждого пользователя будет только одно имя пользователя, вам не нужно отмечать опцию списка (list). Нажмите «Создать» (Create), и вы увидите добавленное поле «Полное имя» (Full name).
Вы также увидите встроенное поле для электронной почты, поэтому вам не нужно создавать его. Что касается пароля, Bubble обрабатывает его отдельно как зашифрованные данные, поэтому его тоже не нужно добавлять.
Теперь мы можем перейти к типу данных Event (Событие). Вот список полей и типов полей, которые необходимо создать:
- Title (текст)
- Location (географический адрес)
- Start time (дата)
- End time (дата)
- Description (текст)
- Organizer (User)
- Attending (User — обязательно установите флажок List (Список), так как одно событие может иметь несколько участников)
Краткое примечание: Для полей Organizer и People Attending вы будете выбирать другой тип данных в качестве поля для текущего типа данных. В данном случае это User.
Наконец, для типа данных Invitation создайте новое поле с именем Event и выберите тип данных Event из списка. Это гарантирует, что каждое приглашение будет связано отношением с соответствующим событием. Вы также добавите поле Attendee, выбрав тип данных User.
Следуя этому же процессу, вы можете пройти по типам данных, определенным для вашей базы данных, и добавить все поля к каждому из них, связывая различные типы данных между собой везде, где это необходимо. Вот и все — вы спроектировали и создали реляционную базу данных!
Создавайте свою базу данных (и все приложение) на Bubble
Платформа безкодовой разработки приложений Bubble позволяет каждому воплотить свою идею приложения в жизнь — даже если у вас нулевой опыт программирования.
Если вы следовали этому руководству, то уже убедились, насколько просто создавать базу данных на Bubble. Теперь все, что осталось для завершения вашего приложения, — это разработать пользовательский интерфейс с помощью нашего визуального редактора с поддержкой перетаскивания (или заставить наш ИИ мгновенно сгенерировать пользовательский интерфейс по текстовому запросу), а затем настроить логику бэкенда с помощью условных операторов «если/то». Никакого кодирования не требуется!
Начните создавать бесплатно
Создавайте сколько угодно на бесплатном тарифе. Переходите на платный только тогда, когда будете готовы к запуску.
Присоединяйтесь к Bubble










