Проверьте первичные и внешние ключи, допустимость 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 зависит от того, допускаются ли разные варианты товара или несколько строк одного продукта.