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

Звучит как что-то для системных администраторов: «завести базу данных». На деле новичку не нужно ничего устанавливать и поднимать — облачные сервисы дают готовую базу за пару кликов. Разберём весь путь на Supabase: от регистрации до первой сохранённой строки. К концу у тебя будет настоящая база, к которой можно подключить приложение.
Почему Supabase: бесплатный тариф без карты, удобный визуальный редактор таблиц и обычный SQL под капотом. Но логика везде одинаковая — на Firebase или Neon шаги будут похожими.
1. Заведи проект
Зайди на supabase.com, войди через GitHub и нажми New project. Спросят три вещи:
- Название — любое, например
my-first-app. - Пароль базы — придумай надёжный и сразу сохрани его в менеджере паролей. Он понадобится позже и его не показывают второй раз.
- Регион — выбери ближайший к твоим пользователям, так быстрее.
Нажми Create и подожди минуту-две — сервис поднимает базу за тебя.
2. Создай таблицу
База — это набор таблиц, а таблица — как лист Excel: строки и колонки. В левом меню открой Table Editor → New table. Назови таблицу во множественном числе, например notes (заметки).
Оставь включённой галочку Enable Row Level Security (RLS) — это защита, без которой к данным сможет лезть кто угодно. Пока просто не снимай её, к настройке доступа вернёшься позже.
3. Добавь колонки
Колонки — это поля, которые ты хочешь хранить. Supabase уже создаст две служебные: id (уникальный номер строки) и created_at (когда создана). Добавь свои через Add column. Для таблицы заметок, например:
title— типtext(заголовок заметки).body— типtext(текст).done— типbool(галочка «сделано»), значение по умолчаниюfalse.
Тип важен: text — для строк, int8 — для чисел, bool — для да/нет, timestamptz — для дат. Сохрани таблицу.
4. Вставь первую строку руками
Прежде чем подключать код, проверь, что всё живо. В Table Editor нажми Insert row, заполни title и body, сохрани. Строка появилась в таблице — значит, база работает. Это твои первые сохранённые данные, которые переживут перезапуск чего угодно.
5. Возьми ключи для подключения
Чтобы приложение достучалось до базы, ему нужны два значения. Открой Project Settings → API:
- Project URL — адрес твоей базы.
- anon public key — публичный ключ для подключения из приложения.
Скопируй оба. И сразу важное правило: эти значения нельзя писать прямо в код — положи их в переменные окружения, в файл .env:
SUPABASE_URL=https://твой-проект.supabase.co
SUPABASE_ANON_KEY=eyJ...
6. Подключись из приложения
Теперь приложение может читать и писать. С официальной библиотекой это пара строк — вот как выглядит запрос на чтение всех заметок:
import { createClient } from '@supabase/supabase-js'
const db = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY)
const { data } = await db.from('notes').select('*')
Под капотом это превращается в SQL-запрос SELECT * FROM notes, но писать его руками не обязательно — библиотека делает это за тебя.
Что дальше
Самый важный незакрытый пункт — настроить те самые правила доступа (RLS), чтобы каждый пользователь видел только свои строки. Это отдельная тема, но именно она превращает «учебную» базу в безопасную. Пока же у тебя есть рабочая база, таблица и подключение — фундамент любого приложения с данными.
Вопрос: бесплатного тарифа правда хватит?
Для учебного проекта и первых пользователей — с запасом. Бесплатный тариф Supabase даёт полноценную базу, и упрёшься ты в лимиты, только когда пойдёт реальный трафик. К тому моменту ты уже будешь понимать, за что платить.
Вопрос: что выбрать — SQL или NoSQL базу?
Для первого проекта почти всегда проще табличная SQL-база, как в этом разборе: данные наглядные, связи понятные. Если интересно, в чём разница и когда нужна вторая — посмотри SQL или NoSQL.
Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.





