1.Лёгкая
Что такое суррогатный ключ (surrogate key)?
- AКлюч, ссылающийся на другую таблицу
- BИскусственный идентификатор без бизнес-смысла, например автоинкрементный id
- CКлюч из реальных данных, например адрес электронной почты
- DКлюч, используемый только в представлениях
2.Лёгкая
Что гарантирует ограничение UNIQUE на столбце?
- AСтолбец нельзя изменить после вставки
- BСтолбец автоматически становится первичным ключом таблицы
- CНикакие две строки не имеют одинакового значения, отличного от NULL, в этом столбце
- DЗначения столбца отсортированы
3.Лёгкая
Что такое потенциальный ключ (candidate key)?
- AМинимальный набор столбцов, однозначно идентифицирующий каждую строку
- BСтолбец, ожидающий превращения во внешний ключ
- CЛюбой столбец, содержащий значения NULL
- DНабор столбцов, общий для двух таблиц и связывающий их строки
4.Средняя
Представление (view) в SQL — это:
- AТип индекса
- BСохранённый запрос, который ведёт себя как виртуальная таблица
- CЭкран клиента базы данных для просмотра таблиц
- DКопия таблицы на диске
5.Средняя
Почему SELECT price * 2 AS double_price FROM t WHERE double_price > 10 в большинстве баз данных завершается ошибкой?
- AПсевдонимы не могут содержать подчёркивание
- BWHERE вычисляется раньше списка SELECT, поэтому псевдонима ещё не существует
- CWHERE может сравнивать только текстовые столбцы
- DАрифметика в списке SELECT не допускается
6.Средняя
Какой запрос выводит клиентов, которые ни разу не размещали заказ?
- ASELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
7.Сложная
Даны функциональные зависимости A → B, B → C и C → D на R(A, B, C, D). Каково замыкание A+?
- A{A, B}
- B{A, B, C}
- C{A, B, C, D}
- D{A}
8.Сложная
x равен NULL, а y = 1. Каково значение условия (x > 5 OR y = 1)?
- AFALSE
- BNULL, поэтому строка всегда отбрасывается
- CUNKNOWN
- DTRUE
Ответы
- 1. B · Искусственный идентификатор без бизнес-смысла, например автоинкрементный id
- 2. C · Никакие две строки не имеют одинакового значения, отличного от NULL, в этом столбце
- 3. A · Минимальный набор столбцов, однозначно идентифицирующий каждую строку
- 4. B · Сохранённый запрос, который ведёт себя как виртуальная таблица
- 5. B · WHERE вычисляется раньше списка SELECT, поэтому псевдонима ещё не существует
- 6. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 7. C · {A, B, C, D}
- 8. D · TRUE
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.