Главная · Каталог задач · Проектирование структуры базы

Готовый сценарий

Проектирование структуры базы

Проектирование базы данных начинается с правил, которые должны сохраняться при любых запросах. Енотик поможет выделить сущности, связи и ограничения по вашему описанию. Учебный сервис выдаёт оборудование: один экземпляр нельзя выдать двум людям на один и тот же период. Недостаточно назвать таблицы users и bookings; нужно определить интервалы, отмену, историю и конкурентную запись. Возможности конкретной СУБД влияют на то, где и как обеспечить этот инвариант.

Попробуйте прямо здесь Отвечает Gemma 3 12B — модель подобрал сервис

Открыть в полном чате

  • Доступ без VPN
  • Русский интерфейс
  • Оплата рублями по факту

Зачем

Зачем это нужно

01

Различите модель товара и физический экземпляр, который можно забронировать.

02

Запишите бизнес-инварианты отдельно от названий таблиц и полей.

03

Проверьте типичные чтения и две конкурирующие записи до выбора индексов.

Вопросы

Частые вопросы

Как задать предметный пример схемы?

«Есть два учебных штатива одной модели: экземпляры A и B. A занят с 10:00 до 11:00; бронь с 11:00 допустима, с 10:30 — нет. Отменённая бронь не блокирует время». Попросите таблицы и способ обеспечить правило для указанной СУБД. Пример сразу выявляет разницу между товаром, экземпляром и записью истории бронирования оборудования.

Какие вопросы задать до создания таблиц?

Кто владеет записью, какие состояния разрешены, нужна ли история и что происходит при удалении связанного объекта. Затем перечислите главные запросы: свободные экземпляры на интервал, история пользователя, ближайшие возвраты. Без них индексирование будет предположением. Попросите показать, какой запрос обслуживает каждый индекс и какое правило защищает каждое ограничение, чтобы схема не состояла из необъяснимого набора полей.

Почему проверки в приложении может быть мало?

Два запроса способны одновременно увидеть свободный экземпляр и оба записать бронь. Нужно согласовать механизм защиты в базе или транзакционную последовательность. Попросите сценарий двух соединений и ожидаемый конечный результат. Простая проверка существования перед INSERT не устраняет гонку. При этом доступные ограничения и типы различаются: решение для PostgreSQL нельзя автоматически перенести в другую СУБД.

Когда допустимо дублировать данные?

Когда понятны причина и способ поддерживать согласованность. Например, название оборудования на момент выдачи может быть историческим снимком, а не случайной копией текущего справочника. Укажите, должно ли оно меняться при переименовании модели. Модель предложит варианты, но не знает бизнес-смысла поля без вашего условия. Схему проверяют на учебных данных и запросах до миграции реальной базы.

Рядом

Дальше — весь каталог задач: поиск по названию, темы и фильтры.

Нужно больше

Весь Енотик — в одном окне

Полный чат: история, вложения, базы знаний, картинки и видео. Один баланс на все модели, оплата рублями по факту.