Робочий аркуш «Бази даних і SQL» з відповідями

Безкоштовний робочий аркуш для друку «Бази даних і SQL»: 8 задач від легких до рівня іспиту, з ключем відповідей. Роздрукуйте його або збережіть як PDF.

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

Ім’я: ____________________   Дата: ____________

1.Легка

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

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

Яка агрегатна функція підраховує рядки?

  1. AAVG
  2. BSUM
  3. CMAX
  4. DCOUNT
3.Легка

Що робить COMMIT у транзакції?

  1. AСкасовує всі зміни, зроблені від початку транзакції
  2. BСтворює нову таблицю
  3. CБлокує всю базу даних
  4. DРобить усі зміни транзакції постійними
4.Середня

Яка інструкція видаляє всі рядки таблиці, зберігає її структуру й не може мати речення WHERE?

  1. AALTER TABLE
  2. BTRUNCATE TABLE
  3. CDROP TABLE
  4. DDELETE FROM з реченням WHERE
5.Середня

Що робить GRANT SELECT ON employees TO alice?

  1. AРобить alice власницею бази даних
  2. BДозволяє користувачеві alice читати таблицю employees
  3. CКопіює таблицю employees для alice
  4. DДозволяє alice оновлювати й видаляти рядки в таблиці employees
6.Середня

Чому SELECT price * 2 AS double_price FROM t WHERE double_price > 10 не виконується в більшості баз даних?

  1. AПсевдоніми не можуть містити підкреслення
  2. BАрифметика не дозволена у списку SELECT
  3. CWHERE може порівнювати лише текстові стовпці
  4. DWHERE обчислюється перед списком SELECT, тож псевдоніма ще не існує
7.Складна

Що повертає такий запит: SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?

  1. AЛише студентів з найвищою оцінкою
  2. BПомилку, бо підзапити не дозволені у WHERE
  3. CСередню оцінку всіх студентів
  4. DСтудентів з оцінкою, вищою за середню оцінку
8.Складна

Який алгоритм з’єднання оптимізатор часто обирає для з’єднання за рівністю двох великих таблиць без корисних індексів?

  1. AЗ’єднання вкладеними циклами з пошуками в індексі
  2. BГеш-з’єднання (hash join)
  3. CБітмап-з’єднання за первинним ключем
  4. DПерехресне з’єднання

Ключ відповідей

  1. 1. C · Стовпець або набір стовпців, що однозначно ідентифікує кожен рядок
  2. 2. D · COUNT
  3. 3. D · Робить усі зміни транзакції постійними
  4. 4. B · TRUNCATE TABLE
  5. 5. B · Дозволяє користувачеві alice читати таблицю employees
  6. 6. D · WHERE обчислюється перед списком SELECT, тож псевдоніма ще не існує
  7. 7. D · Студентів з оцінкою, вищою за середню оцінку
  8. 8. B · Геш-з’єднання (hash join)

Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.