1.Лёгкая
Что делает COMMIT в транзакции?
- AБлокирует всю базу данных
- BДелает все изменения транзакции постоянными
- CСоздаёт новую таблицу
- DОтменяет все изменения, сделанные с начала транзакции
2.Лёгкая
Что гарантирует ограничение UNIQUE на столбце?
- AСтолбец нельзя изменить после вставки
- BНикакие две строки не имеют одинакового значения, отличного от NULL, в этом столбце
- CЗначения столбца отсортированы
- DСтолбец автоматически становится первичным ключом таблицы
3.Лёгкая
Какой оператор удаляет строки из таблицы?
- ADELETE
- BDROP
- CTRUNCATE COLUMN
- DREMOVE
4.Средняя
В таблице employees есть столбец manager_id, ссылающийся на другого сотрудника. Как вывести каждого сотрудника рядом с именем его руководителя?
- AИспользовать только GROUP BY manager_id
- BОбъединить таблицу с самой собой через UNION ALL и фильтр WHERE
- CСоединить таблицу employees саму с собой, используя два псевдонима
- DСоздать на диске вторую копию таблицы
5.Средняя
Почему SELECT price * 2 AS double_price FROM t WHERE double_price > 10 в большинстве баз данных завершается ошибкой?
- AWHERE может сравнивать только текстовые столбцы
- BАрифметика в списке SELECT не допускается
- CПсевдонимы не могут содержать подчёркивание
- DWHERE вычисляется раньше списка SELECT, поэтому псевдонима ещё не существует
6.Средняя
Какой запрос возвращает число различных городов в таблице customers?
- ASELECT COUNT(DISTINCT city) FROM customers
- BSELECT COUNT(city) FROM customers GROUP BY city
- CSELECT SUM(DISTINCT city) FROM customers
- DSELECT DISTINCT COUNT(city) FROM customers
7.Сложная
Таблица enrolment(student_id, course_id, student_name, grade) имеет ключ (student_id, course_id). Какую нормальную форму она нарушает?
- AНикакую, она в НФБК
- BТолько третью нормальную форму, потому что grade зависит от student_name
- CВторую нормальную форму, потому что student_name зависит только от student_id
- DПервую нормальную форму, потому что столбец grade не содержит атомарных значений
8.Сложная
Чего требует правило журнализации с упреждающей записью (WAL)?
- AЗапись журнала об изменении должна попасть на устойчивый носитель раньше изменённой страницы данных
- BСтраницы данных должны записываться раньше журнала
- CЖурнал записывается только после сбоя
- DКаждый запрос должен быть занесён в журнал до разбора
Ответы
- 1. B · Делает все изменения транзакции постоянными
- 2. B · Никакие две строки не имеют одинакового значения, отличного от NULL, в этом столбце
- 3. A · DELETE
- 4. C · Соединить таблицу employees саму с собой, используя два псевдонима
- 5. D · WHERE вычисляется раньше списка SELECT, поэтому псевдонима ещё не существует
- 6. A · SELECT COUNT(DISTINCT city) FROM customers
- 7. C · Вторую нормальную форму, потому что student_name зависит только от student_id
- 8. A · Запись журнала об изменении должна попасть на устойчивый носитель раньше изменённой страницы данных
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.