10 промтов для SQL и NoSQL: как проектировать схемы и ускорять запросы в PostgreSQL и MongoDB

Вы когда-нибудь часами сидели над сложным SQL-запросом, пытаясь понять, почему он выполняется так долго? Или ломали голову над структурой документа в MongoDB, которая должна быть одновременно гибкой и быстрой? Если да — эта подборка для вас.

Я собрал десять практичных промтов, которые помогут вам проектировать схемы, оптимизировать запросы и мигрировать данные между двумя самыми популярными базами данных — PostgreSQL и MongoDB. Эти промты вы можете скопировать и использовать прямо сейчас в любом AI-ассистенте (например, Claude, ChatGPT или специализированном инструменте вроде ASI Biont).

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

1. Генерация схемы PostgreSQL по описанию требований

Для чего: Когда вы начинаете проект с нуля и знаете бизнес-требования, но не хотите тратить время на ручное проектирование таблиц и связей.

Промт:

Спроектируй схему базы данных PostgreSQL для [описание проекта]. Учитывай следующие сущности и их поля: [перечислить]. Определи первичные и внешние ключи, типы данных, ограничения (NOT NULL, UNIQUE, CHECK) и индексы для часто используемых полей. Добавь триггер для автоматического обновления поля updated_at. Выведи SQL-код для создания таблиц с комментариями.

Пример использования:

Спроектируй схему базы данных PostgreSQL для интернет-магазина. Сущности: пользователь (id, имя, email, пароль, дата регистрации), заказ (id, пользователь, дата, статус), товар (id, название, цена, количество на складе). Добавь таблицу order_items для связи многие-ко-многим между заказами и товарами.

AI вернёт полный SQL-скрипт с CREATE TABLE, включая внешние ключи и индексы, что ускорит начальную разработку.

2. Генерация схемы MongoDB на основе требований

Для чего: Когда нужно спроектировать документную модель для MongoDB, учитывая паттерны доступа к данным.

Промт:

Разработай схему коллекций MongoDB для [описание проекта]. Основные сущности: [перечислить]. Для каждой коллекции определи структуру документа, типы полей (используй BSON-типы), укажи, какие поля следует индексировать, и объясни, почему выбрана та или иная структура (встраивание или ссылки). Приведи примеры JSON-документов.

Пример использования:

Разработай схему коллекций MongoDB для блога. Сущности: статья (заголовок, текст, автор, дата, теги), комментарий (текст, автор, дата), автор (имя, email). Учти, что мы часто выводим статью со всеми комментариями.

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

3. Оптимизация медленного SQL-запроса

Для чего: Когда у вас есть рабочий, но медленный запрос, и вы хотите понять, как его ускорить.

Промт:

Вот SQL-запрос для PostgreSQL: [вставьте запрос]. Он выполняется [X] секунд. Проанализируй его, используя EXPLAIN ANALYZE, и предложи оптимизации: добавление индексов, переписывание запроса, изменение структуры таблиц. Объясни, почему каждая оптимизация должна помочь.

Пример использования:

Вот SQL-запрос для PostgreSQL:
SELECT * FROM orders WHERE user_id = 123 AND created_at > NOW() - INTERVAL '30 days';
Он выполняется 2 секунды. Проанализируй и предложи оптимизации.

AI предложит создать составной индекс (user_id, created_at) и объяснит, почему это ускорит фильтрацию. Вы получите не только совет, но и обоснование.

4. Анализ плана выполнения запроса (EXPLAIN ANALYZE)

Для чего: Когда нужно глубоко разобраться, как PostgreSQL выполняет запрос, и найти узкие места.

Промт:

Интерпретируй вывод команды EXPLAIN ANALYZE для PostgreSQL. Вот вывод: [вставьте вывод]. Объясни, что означает каждая операция (Seq Scan, Index Scan, Hash Join и т.д.), какие узлы являются наиболее затратными, и что можно улучшить. Дай конкретные рекомендации по оптимизации.

Пример использования:

Интерпретируй вывод EXPLAIN ANALYZE:
Seq Scan on orders (cost=0.00..1000.00 rows=5000 width=100) (actual time=0.01..10.00 rows=5000 loops=1)
  Filter: (user_id = 123)
  Rows Removed by Filter: 50000
Planning Time: 0.05 ms
Execution Time: 12.00 ms

AI объяснит, что Seq Scan — это последовательное сканирование всей таблицы, и порекомендует индекс. Это поможет вам понять, как читать планы выполнения.

5. Оптимизация запросов в MongoDB

Для чего: Когда нужно ускорить запросы к MongoDB, используя правильные индексы и структуру.

Промт:

У меня есть коллекция MongoDB [название] с документами вида [пример документа]. Мой запрос [вставьте запрос] выполняется медленно. Используя explain("executionStats"), проанализируй, какие индексы нужно создать, и предложи альтернативные способы написания запроса. Объясни, что такое winningPlan и как его интерпретировать.

Пример использования:

У меня есть коллекция MongoDB "orders" с документами вида {user_id: ObjectId, total: 100, created_at: ISODate}. Мой запрос db.orders.find({user_id: ObjectId("..."), created_at: {$gte: ISODate("2025-01-01")}}) выполняется медленно. Проанализируй и предложи индексы.

AI порекомендует создать составной индекс {user_id: 1, created_at: -1} и объяснит, почему порядок полей важен.

6. Миграция данных из PostgreSQL в MongoDB

Для чего: При переходе с реляционной на документную БД, когда нужно перенести данные и адаптировать схему.

Промт:

Помоги спланировать миграцию данных из PostgreSQL в MongoDB. У меня есть таблицы: [перечислить структуру таблиц]. Нужно перенести данные в коллекции MongoDB с учётом встраивания связанных сущностей. Напиши скрипт на Python (используя psycopg2 и pymongo), который читает данные из PostgreSQL и вставляет в MongoDB. Учти преобразование типов: даты, ObjectId, вложенные документы. Также дай рекомендации по валидации данных после миграции.

Пример использования:

Помоги спланировать миграцию из PostgreSQL в MongoDB. Таблицы:
users (id, name, email)
orders (id, user_id, total, created_at)
Нужно в MongoDB создать коллекцию users с встроенными массивами orders для каждого пользователя.

AI предложит скрипт, который группирует заказы по пользователям и создаёт документы с вложенными заказами.

7. Миграция из MongoDB в PostgreSQL

Для чего: Когда нужно перейти с документной на реляционную модель, например, для соблюдения требований к целостности данных.

Промт:

Спланируй миграцию данных из MongoDB в PostgreSQL. У меня есть коллекции: [описание структуры]. Нужно создать таблицы в PostgreSQL и написать скрипт на Python для переноса данных. Учти нормализацию: разбей встроенные документы на отдельные таблицы, определи внешние ключи. Напиши SQL для создания таблиц и Python-скрипт для миграции.

Пример использования:

Коллекция users содержит документы: {_id: ObjectId, name: "Иван", orders: [{id: 1, total: 100}, {id: 2, total: 200}]}.
Нужно перенести в таблицы users и orders.

AI создаст SQL-скрипт с таблицами и скрипт на Python, который разворачивает вложенные документы.

8. Сравнение производительности PostgreSQL и MongoDB

Для чего: Когда нужно выбрать БД для нового проекта или решить, стоит ли мигрировать.

Промт:

Сравни производительность PostgreSQL и MongoDB для сценария [описание сценария]. Рассмотри факторы: модель данных, типичные запросы, масштабирование, индексация, транзакции. Дай рекомендации, какую БД выбрать и почему. Приведи примеры из реальной практики.

Пример использования:

Сравни производительность PostgreSQL и MongoDB для сценария: интернет-магазин с миллионами товаров и заказов, частые запросы на чтение по категориям и фильтрам.

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

9. Генерация тестовых данных для БД

Для чего: Когда нужно заполнить базу тестовыми данными для разработки или нагрузочного тестирования.

Промт:

Сгенерируй SQL-скрипт для заполнения таблиц PostgreSQL тестовыми данными. Таблицы: [описание структуры]. Создай [N] записей в каждой таблице с реалистичными данными (имена, email, даты, цены). Используй generate_series и random(). Для MongoDB напиши скрипт на Python с использованием Faker.

Пример использования:

Сгенерируй 1000 записей для таблицы users (id, name, email, created_at) с реалистичными данными.

AI предоставит SQL с INSERT ... SELECT ... FROM generate_series и Python-скрипт с Faker для MongoDB.

10. Объяснение разницы между SQL и NoSQL для новичка

Для чего: Когда нужно быстро объяснить команде или заказчику, чем отличаются реляционные и документные базы данных.

Промт:

Объясни простыми словами, в чём разница между SQL и NoSQL базами данных, используя аналогии. Начни с определения, затем сравни по следующим критериям: структура данных, масштабируемость, транзакции, гибкость схемы. Приведи примеры, когда лучше использовать PostgreSQL, а когда MongoDB.

Пример использования:

Объясни разницу между SQL и NoSQL для менеджера проекта, который не знаком с базами данных.

AI даст понятное объяснение с аналогиями (например, SQL — строгая таблица Excel, NoSQL — папка с файлами разных форматов).

11. Проектирование гибридной архитектуры (PostgreSQL + MongoDB)

Для чего: Когда нужно использовать сильные стороны обеих БД в одном проекте.

Промт:

Предложи архитектуру, где PostgreSQL используется для хранения основных бизнес-данных (транзакции, пользователи), а MongoDB — для хранения каталога товаров или логов. Опиши, как организовать синхронизацию между ними (например, через событийную шину). Дай примеры кода для записи и чтения данных из обеих БД в одном приложении.

Пример использования:

Предложи гибридную архитектуру для интернет-магазина: PostgreSQL для заказов, MongoDB для каталога товаров с большим количеством атрибутов.

AI опишет подход, когда каталог товаров хранится в MongoDB для гибкости, а заказы в PostgreSQL для надёжности транзакций, и предложит способы синхронизации.

12. Оптимизация схемы PostgreSQL с помощью индексов

Для чего: Когда нужно проанализировать текущую схему и добавить недостающие индексы для ускорения запросов.

Промт:

Проанализируй следующую схему PostgreSQL: [вставьте CREATE TABLE]. На основе типовых запросов [перечислите запросы] предложи, какие индексы стоит создать, а какие, возможно, лишние. Учитывай композитные индексы и покрывающие индексы. Выведи SQL-код для создания индексов.

Пример использования:

Схема: CREATE TABLE orders (id serial PRIMARY KEY, user_id int, created_at timestamp, total numeric);
Типовые запросы: SELECT * FROM orders WHERE user_id = 123 AND created_at > NOW() - interval '1 day';

AI предложит индекс (user_id, created_at DESC) и объяснит, почему он ускорит этот запрос.

13. Использование транзакций в MongoDB (сравнение с PostgreSQL)

Для чего: Когда нужно понять, как реализовать атомарные операции в MongoDB и чем они отличаются от транзакций в PostgreSQL.

Промт:

Объясни, как работают транзакции в MongoDB (начиная с версии 4.0). Приведи пример многослойной транзакции с использованием session. Сравни с транзакциями в PostgreSQL (ACID). Дай рекомендации, когда использовать транзакции в MongoDB, а когда лучше выбрать PostgreSQL.

Пример использования:

Покажи, как провести транзакцию по переводу средств между двумя счетами в MongoDB.

AI предоставит код на Python с with client.start_session() as session:, покажет, как выполнить несколько операций атомарно, и сравнит с PostgreSQL.

14. Проектирование схемы для временных рядов (time-series)

Для чего: Когда нужно хранить и анализировать данные временных рядов (метрики, логи) в PostgreSQL или MongoDB.

Промт:

Предложи схему для хранения временных рядов (например, метрик сервера) в PostgreSQL и MongoDB. Учитывай, что данные поступают каждую секунду, нужно хранить за год. Для PostgreSQL предложи партиционирование по времени, для MongoDB — коллекцию с TTL-индексом. Дай примеры запросов для агрегации по минутам/часам.

Пример использования:

Предложи схему для хранения метрик CPU и RAM каждые 5 секунд.

AI предложит партиционирование по дням в PostgreSQL и использование $group в MongoDB для агрегации.

15. Генерация документации по схеме БД

Для чего: Когда нужно быстро создать документацию по существующей схеме базы данных для команды или заказчика.

Промт:

Сгенерируй документацию по схеме базы данных PostgreSQL/MongoDB. Вот описание схемы: [вставьте DDL или структуру коллекций]. Опиши каждую таблицу/коллекцию, поля, типы данных, индексы, связи. Добавь ER-диаграмму в текстовом виде (используя mermaid).

Пример использования:

Сгенерируй документацию по схеме: CREATE TABLE users (id serial PRIMARY KEY, name text NOT NULL); CREATE TABLE orders (id serial PRIMARY KEY, user_id int REFERENCES users(id), total numeric);

AI создаст Markdown-документ с описанием и mermaid-диаграммой, которую можно вставить в README.

Заключение

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

Попробуйте применить один из промтов уже сегодня — и вы увидите, как ускорится ваша работа с PostgreSQL и MongoDB. А если у вас есть свои любимые промты для работы с БД— поделитесь в комментариях!

← Все статьи

Комментарии

Читайте также

Промышленный RS-485 под контролем AI: пошаговый гайд по интеграции с ASI Biont

19 июля 2026

Интеграция EDI с ИИ-агентом: Как ASI Biont автоматизирует обмен документами и соблюдение нормативных требований

16 июля 2026

11 000 спящих клиентов: как я разобрал базу нишевого e-commerce за три дня и что там оказалось

24 июля 2026

От «не беспокойтесь» до миллиарда: как Бен Аффлек за два года превратил ИИ из угрозы в актив и продал стартап Netflix за $587 млн

21 июля 2026

Может ли hh.индекс предсказать безработицу? Проверка на данных за семь лет

14 июля 2026

Раскройте свой творческий потенциал: курс «Креативность и инновации» на Asibiont

22 сентября 2026

Vibe Coding — будущее разработки программного обеспечения

13 июля 2026

Стандарты кибербезопасности: ISO 27001, NIST, PCI DSS — как освоить три ключевых фреймворка с помощью AI

3 июля 2026

Google работает над новым AI-чипом, чтобы сделать Gemini эффективнее: что изменится для разработчиков

21 июля 2026