1.Лёгкая
Что такое суррогатный ключ (surrogate key)?
- AКлюч, ссылающийся на другую таблицу
- BКлюч, используемый только в представлениях
- CКлюч из реальных данных, например адрес электронной почты
- DИскусственный идентификатор без бизнес-смысла, например автоинкрементный id
2.Лёгкая
Что возвращает CROSS JOIN?
- AТолько строки, совпадающие по общему столбцу-ключу
- BВсе сочетания строк двух таблиц
- CТолько несовпадающие строки
- DТолько строки первой таблицы
3.Лёгкая
Какое ключевое слово даёт столбцу или таблице временное альтернативное имя в запросе?
- AALIAS
- BAS
- CRENAME
- DNAME
4.Средняя
Что такое «грязное чтение» (dirty read)?
- AЧтение данных без предложения WHERE
- BЧтение данных, записанных другой транзакцией, которая ещё не зафиксирована
- CЧтение данных с повреждённого диска
- DДвукратное чтение одной строки с получением одного и того же значения
5.Средняя
Какое утверждение о HAVING верно?
- AВ нём можно использовать агрегатные функции для фильтрации групп
- BОно сортирует результаты
- CОно должно стоять перед WHERE в операторе SELECT
- DЕго нельзя использовать с GROUP BY
6.Средняя
Какой запрос выводит клиентов, которые ни разу не размещали заказ?
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
7.Сложная
Какая возможность SQL лучше всего подходит для поиска всех сотрудников, подчинённых руководителю, в организационном дереве неизвестной глубины?
- AОграничение UNIQUE на manager_id
- BGROUP BY по manager_id
- CОдно самосоединение таблицы employees по manager_id
- DРекурсивное обобщённое табличное выражение (WITH RECURSIVE)
8.Сложная
Даны функциональные зависимости A → B, B → C и C → D на R(A, B, C, D). Каково замыкание A+?
- A{A}
- B{A, B, C}
- C{A, B, C, D}
- D{A, B}
Ответы
- 1. D · Искусственный идентификатор без бизнес-смысла, например автоинкрементный id
- 2. B · Все сочетания строк двух таблиц
- 3. B · AS
- 4. B · Чтение данных, записанных другой транзакцией, которая ещё не зафиксирована
- 5. A · В нём можно использовать агрегатные функции для фильтрации групп
- 6. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 7. D · Рекурсивное обобщённое табличное выражение (WITH RECURSIVE)
- 8. C · {A, B, C, D}
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.