🗄️ SQL и базы данных  ·  20 вопросов  ·  ~38 мин  ·  ⏱ Таймер 38:00  ·  Средний  · 

Проектирование схемы

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

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выбери один ответ из четырёх. В тесте 20 вопросов и 38 минут. После завершения откроются общий процент, четыре тематические шкалы, правильные ответы и разбор каждого задания.
Вопрос 1 из 20
В системе доставки заказ имеет много изменений статуса. Что лучше хранить отдельно?
SQL
orders(id, current_status)
order_status_events(order_id, status, changed_at)
Вопрос 2 из 20
Что является самостоятельной сущностью в библиотеке?
Вопрос 3 из 20
Почему адрес доставки заказа часто стоит хранить как снимок, а не только ссылку на текущий адрес клиента?
SQL
orders(id, customer_id, delivery_address_snapshot)
customers(id, current_address_id)
Вопрос 4 из 20
Как лучше представить несколько изображений товара с порядком показа?
Вопрос 5 из 20
Нужно ли хранить age, если есть birth_date?
Вопрос 6 из 20
Как моделировать товары и заказы при связи многие-ко-многим?
Вопрос 7 из 20
Где хранить роль участника в проекте?
Вопрос 8 из 20
Какой ключ разумен для таблицы subscriptions(user_id, channel_id)?
Вопрос 9 из 20
Почему список tag_ids в одном поле статьи слабее таблицы article_tags?
Вопрос 10 из 20
Когда отдельная таблица связи нужна даже при предполагаемой связи один-к-одному?
Вопрос 11 из 20
Как выразить обязательного автора у каждой книги?
Вопрос 12 из 20
Как выразить необязательный профиль один-к-одному с пользователем?
Вопрос 13 из 20
Что означает nullable manager_id в employees?
Вопрос 14 из 20
Как разрешить не более одного текущего основного адреса на пользователя, сохранив старые адреса?
Вопрос 15 из 20
В связи «страна — города» где находится внешний ключ?
Вопрос 16 из 20
Как хранить цену товара, действующую в интервале?
Вопрос 17 из 20
Какое правило нужно для интервалов цен одного товара?
Вопрос 18 из 20
Почему order_items.price_at_order не обязательно дублирует текущую products.price ошибочно?
Вопрос 19 из 20
Столбец qty уже объявлен NOT NULL. Какой CHECK запретит нулевое и отрицательное количество позиции?
Вопрос 20 из 20
Почему бизнес-правило «в заказе должна быть хотя бы одна позиция» нельзя полностью выразить одним CHECK в orders?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу