Что проверить в схеме заказов и позиций

Проверьте первичные и внешние ключи, допустимость quantity, нужные NOT NULL и индексы для фактических запросов. Добавляйте ограничения по смыслу данных, а не только ради ускорения.

Короткий ответ

Что ответить на собеседовании

Проверьте первичные и внешние ключи, допустимость quantity, нужные NOT NULL и индексы для фактических запросов. Добавляйте ограничения по смыслу данных, а не только ради ускорения.

Подробный разбор

Ответ с пояснениями

Условие

Есть таблицы orders(id, user_id) и order_items(id, order_id, product_id, quantity). Какие ограничения и индексы нужно обсудить до запуска?

Ответ

Проверьте первичные и внешние ключи, допустимость quantity, нужные NOT NULL и индексы для фактических запросов. Добавляйте ограничения по смыслу данных, а не только ради ускорения.

Quantity обычно должно быть положительным; правила удаления заказа и товара задаются явно. Индекс order_items(order_id) полезен для чтения позиций заказа, но его наличие нужно проверить, а не считать автоматическим. Уникальность пары order_id/product_id зависит от того, допускаются ли разные варианты товара или несколько строк одного продукта.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее