Руководства

Что такое база данных? Руководство для тех, кто создаёт приложения

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

Почему это важно при создании с ИИ

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

База данных также хранит многие из самых важных решений, которые вы можете даже не замечать:

  • Что вы записываете. Если не хранить статус записи, невозможно показать, какие записи отменены.
  • Как всё связано. Может ли один клиент иметь много записей или одна запись — несколько услуг? Это определяет всё приложение.
  • Кто что видит. Большинство ошибок с приватностью связаны с тем, какие записи может читать пользователь.

Проектировать базу самому не нужно. Но понимание основ позволяет точно описать данные и заранее замечать проблемы.

Бытовая аналогия

Представьте аккуратный картотечный шкаф в небольшом офисе.

Каждый ящик хранит один вид документов: один ящик для клиентов, другой для записей, третий для счетов. Внутри каждого ящика все папки оформлены одинаково, с одними и теми же заполненными полями. У каждой папки есть уникальный номер, и когда счёт принадлежит клиенту, в папке счёта указан номер клиента, а не копия всей его карточки.

Вот что такое реляционная база данных. Ящики — это таблицы, папки — это строки, поля — это столбцы, номера папок — это первичные ключи, а записки, указывающие на другую папку, — это внешние ключи. Хороший офис-менеджер также следит за правилами: нет записи без даты, у двух клиентов не может быть одного номера. База данных делает то же самое.

Практический пример: приложение для записи в салон красоты

Предположим, вы просите ИИ создать сайт для записи в парикмахерскую. Разумная база будет состоять из четырёх таблиц.

services (услуги)

idnameduration_minutesprice
1Стрижка4540.00
2Окрашивание9095.00

staff (мастера)

idnameemail
1Сараsara@example.com
2Омарomar@example.com

customers (клиенты)

idnameemailphone
101Лена Паркlena@example.com555-0100

bookings (записи)

idcustomer_idservice_idstaff_idstarts_atstatus
5001101122026-10-03 14:00подтверждена

Посмотрите на таблицу bookings. Она не копирует имя и телефон Лены в каждую запись; она хранит customer_id = 101. Если Лена поменяет номер телефона, он изменится в одном месте, и каждая запись покажет новый. В этом главная идея реляционной базы: каждый факт хранится один раз, а на него ссылаются.

Та же структура отвечает на полезные вопросы:

  • «Какие окна свободны у Омара в пятницу?» — посмотреть записи Омара на этот день.
  • «Сколько заработали окрашивания за месяц?» — соединить записи с услугами и сложить цены.
  • «Какие клиенты не приходили 90 дней?» — сравнить клиентов с их последней записью.

Общие термины

ТерминЧто это значит
ТаблицаНабор записей одного вида, например клиенты или записи.
Строка (запись)Один элемент таблицы: один клиент, одна запись.
Столбец (поле)Один вид информации, который есть у каждой строки, например email или цена.
Первичный ключУникальный идентификатор каждой строки, обычно число или случайная строка.
Внешний ключСтолбец, который ссылается на строку другой таблицы, например customer_id в записях.
СхемаОбщий дизайн: какие таблицы существуют, их столбцы и связи между ними.
Запрос (query)Запрос на чтение или изменение данных, например «все записи на завтра».
SQLStructured Query Language, стандартный язык запросов к реляционным базам.
МиграцияСохранённое, повторяемое изменение схемы, например добавление столбца.
ИндексСтруктура поиска, которая ускоряет поиск по столбцу, как предметный указатель в книге.
CRUDCreate, Read, Update, Delete: четыре базовых действия приложений с данными.
Резервная копияКопия данных, которую можно восстановить, если что-то пойдёт не так.

Виды баз данных

ВидКак хранит данныеПримерыПодходит для
Реляционная (SQL)Таблицы с фиксированными столбцами и связями между нимиPostgres, MySQL, SQLiteБольшинства бизнес-приложений: записи, магазины, CRM, SaaS
Документная (NoSQL)Гибкие документы в формате, похожем на JSONMongoDB, FirestoreДанных, структура которых сильно отличается от записи к записи
Ключ-значениеЗначение, сохранённое под ключомRedisКэширования, короткоживущих данных вроде сессий

Для почти всего, что основатель или малый бизнес создаёт в первую очередь, реляционная база — надёжный выбор по умолчанию.

Где база данных находится в приложении

Посетители никогда не общаются с базой напрямую. Страница в их браузере (фронтенд) запрашивает данные у вашего сервера (бэкенда), обычно через API. Сервер проверяет, кто спрашивает и разрешено ли ему это, затем делает запрос к базе и отправляет обратно только то, что этот человек должен видеть.

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

Частые ошибки и заблуждения

  • Хранение данных только в браузере. Хранилище браузера (например, localStorage) живёт на одном устройстве и в одном браузере. Это нормально для запомненного фильтра, но не для заказов.
  • Всё в одной таблице. Одна таблица «записи», в каждую строку которой скопированы имя клиента, телефон и цена услуги, быстро рассинхронизируется.
  • Хранение паролей открытым текстом. Пароли нужно хешировать, а не хранить в читаемом виде. См. что такое аутентификация.
  • Нет правил для данных. Без обязательных полей и требований уникальности вы получите записи без даты и дублирующихся клиентов.
  • Забыли об удалении. Решите, удаляет ли удаление клиента его записи, сохраняет их или блокирует удаление.
  • Эксперименты на рабочих данных. Рискованные изменения сначала проверяйте в безопасной среде и храните резервные копии.
  • Таблица как база навсегда. Таблицы отлично подходят для старта, но плохо справляются с множеством одновременных пользователей и правами доступа. См. как превратить таблицу в приложение.

Что попросить у конструктора на основе ИИ

  • «Сохрани это в базе данных, а не в браузере. Скажи, какие таблицы ты создашь.»
  • «Покажи схему простой таблицей: каждая таблица, её столбцы и связи.»
  • «Клиент может иметь много записей; у каждой записи ровно одна услуга и один мастер.»
  • «Сделай email обязательным и уникальным для клиентов.»
  • «Не допускай пересечения двух записей к одному мастеру.»
  • «Только вошедший владелец может читать все записи; клиенты видят только свои. Проверяй это на сервере.»
  • «Когда я удаляю услугу, не удаляй прошедшие записи — лучше помечай услугу как неактивную.»

Базы данных в Mythex

Когда приложению нужно сохранять данные, Mythex добавляет в проект выделенную базу Postgres. Вы можете попросить об этом в чате («сохраняй заявки из листа ожидания в базу данных») или использовать команду /database. Параметры подключения автоматически передаются вашему приложению, а агент создаёт таблицы. База засыпает после пяти минут простоя и просыпается при следующем запросе; при публикации оплачивается время, когда она была активна, с того же баланса кредитов, что и для создания. Доступна на тарифах Free и Pro. Подробности — в документации по базам данных, а шаблоны приложений содержат готовые стартовые точки для приложений на данных.

Вопросы

Что такое база данных простыми словами?

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

Является ли таблица в Excel базой данных?

Таблица может хранить такие же данные, но не предназначена для приложений. Настоящая база данных следит за тем, что хранится в каждом столбце, надёжно связывает таблицы между собой, справляется с тем, что многие пишут одновременно, и контролирует, кто что может читать.

В чём разница между SQL и NoSQL базами данных?

Реляционные (SQL) базы данных, например Postgres и MySQL, хранят данные в таблицах с заданными столбцами и связями между ними. NoSQL-базы, например MongoDB, хранят более гибкие документы. Большинству бизнес-приложений — записям, магазинам, CRM — реляционная модель подходит хорошо.

Нужна ли моему приложению база данных?

Если оно должно запоминать то, что вводят люди, — регистрации, заказы, сообщения, настройки — и показывать это позже или другим людям, то да. Чисто информационный сайт без форм, которые что-то сохраняют, обычно не нуждается в базе данных.

Mythex · Pricing · Создавайте что угодно с ИИ · Шаблоны сайтов и приложений · Сравнения Mythex · Глоссарий по созданию приложений с ИИ · Бесплатные инструменты для создания приложений с ИИ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)