Базы данных и SQL: лист заданий с ответами
Бесплатный лист заданий для печати по теме «Базы данных и SQL»: 8 задач от простых до экзаменационного уровня, с ответами. Распечатайте его или сохраните как PDF.
Для преподавателей: можно бесплатно печатать, копировать и использовать на занятиях. Каждый новый лист содержит новые значения и собственные ответы. Будем благодарны за ссылку на ExamProblems на странице вашего курса.
Имя: ____________________ Дата: ____________
1.Лёгкая
Какое предложение в PostgreSQL и MySQL возвращает только первые 10 строк результата?
- ATOP ROWS 10
- BFIRST 10 ONLY
- CMAX 10
- DLIMIT 10
2.Лёгкая
Что такое первичный ключ (primary key)?
- AСтолбец или набор столбцов, однозначно идентифицирующий каждую строку
- BСтолбец, который может содержать дубликаты, но никогда не должен содержать NULL
- CПервый столбец каждой таблицы
- DПароль к базе данных
3.Лёгкая
Что такое суррогатный ключ (surrogate key)?
- AКлюч, ссылающийся на другую таблицу
- BКлюч, используемый только в представлениях
- CКлюч из реальных данных, например адрес электронной почты
- DИскусственный идентификатор без бизнес-смысла, например автоинкрементный id
4.Средняя
В таблице есть строки, где col равен NULL. Какие строки возвращает WHERE col = NULL?
- AОшибку в любой базе данных
- BТолько строки, где col равен NULL, как при IS NULL
- CВсе строки таблицы
- DНикаких строк, потому что результат сравнения неизвестен
5.Средняя
Что возвращает SELECT SUM(amount) FROM orders, если предложению WHERE не соответствует ни одна строка?
- AПустую строку
- BNULL
- C0
- DОшибку
6.Средняя
Какой оператор удаляет все строки таблицы, сохраняет её структуру и не может иметь предложения WHERE?
- ADROP TABLE
- BDELETE FROM с предложением WHERE
- CTRUNCATE TABLE
- DALTER TABLE
7.Сложная
В таблице миллион строк и логический столбец is_active, равный TRUE для 95% строк. Почему оптимизатор может игнорировать индекс по is_active для WHERE is_active = TRUE?
- AИндексы нельзя создавать по логическим столбцам
- BПодходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу
- CОптимизатор никогда не использует индексы в предложениях WHERE
- DИндекс считает TRUE значением NULL
8.Сложная
Каков результат SELECT COUNT(col) FROM t, если все значения в col равны NULL, а в таблице 10 строк?
- A10
- B0
- CNULL
- DОшибка