Базы данных и SQL: лист заданий с ответами

Бесплатный лист заданий для печати по теме «Базы данных и SQL»: 8 задач от простых до экзаменационного уровня, с ответами. Распечатайте его или сохраните как PDF.

Для преподавателей: можно бесплатно печатать, копировать и использовать на занятиях. Каждый новый лист содержит новые значения и собственные ответы. Будем благодарны за ссылку на ExamProblems на странице вашего курса.

Имя: ____________________   Дата: ____________

1.Лёгкая

Какое предложение в PostgreSQL и MySQL возвращает только первые 10 строк результата?

  1. ATOP ROWS 10
  2. BFIRST 10 ONLY
  3. CMAX 10
  4. DLIMIT 10
2.Лёгкая

Что такое первичный ключ (primary key)?

  1. AСтолбец или набор столбцов, однозначно идентифицирующий каждую строку
  2. BСтолбец, который может содержать дубликаты, но никогда не должен содержать NULL
  3. CПервый столбец каждой таблицы
  4. DПароль к базе данных
3.Лёгкая

Что такое суррогатный ключ (surrogate key)?

  1. AКлюч, ссылающийся на другую таблицу
  2. BКлюч, используемый только в представлениях
  3. CКлюч из реальных данных, например адрес электронной почты
  4. DИскусственный идентификатор без бизнес-смысла, например автоинкрементный id
4.Средняя

В таблице есть строки, где col равен NULL. Какие строки возвращает WHERE col = NULL?

  1. AОшибку в любой базе данных
  2. BТолько строки, где col равен NULL, как при IS NULL
  3. CВсе строки таблицы
  4. DНикаких строк, потому что результат сравнения неизвестен
5.Средняя

Что возвращает SELECT SUM(amount) FROM orders, если предложению WHERE не соответствует ни одна строка?

  1. AПустую строку
  2. BNULL
  3. C0
  4. DОшибку
6.Средняя

Какой оператор удаляет все строки таблицы, сохраняет её структуру и не может иметь предложения WHERE?

  1. ADROP TABLE
  2. BDELETE FROM с предложением WHERE
  3. CTRUNCATE TABLE
  4. DALTER TABLE
7.Сложная

В таблице миллион строк и логический столбец is_active, равный TRUE для 95% строк. Почему оптимизатор может игнорировать индекс по is_active для WHERE is_active = TRUE?

  1. AИндексы нельзя создавать по логическим столбцам
  2. BПодходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу
  3. CОптимизатор никогда не использует индексы в предложениях WHERE
  4. DИндекс считает TRUE значением NULL
8.Сложная

Каков результат SELECT COUNT(col) FROM t, если все значения в col равны NULL, а в таблице 10 строк?

  1. A10
  2. B0
  3. CNULL
  4. DОшибка

Ответы

  1. 1. D · LIMIT 10
  2. 2. A · Столбец или набор столбцов, однозначно идентифицирующий каждую строку
  3. 3. D · Искусственный идентификатор без бизнес-смысла, например автоинкрементный id
  4. 4. D · Никаких строк, потому что результат сравнения неизвестен
  5. 5. B · NULL
  6. 6. C · TRUNCATE TABLE
  7. 7. B · Подходит большинство строк, поэтому полное сканирование таблицы дешевле множества обращений к индексу
  8. 8. B · 0

Полные пошаговые решения: занимайтесь этой темой на examproblems.com.