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

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

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

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

1.Легка

Що робить UNION з результатами двох запитів SELECT?

  1. AЗ’єднує їх поруч за ключем
  2. BОб’єднує їх в один результат і видаляє дублікати рядків
  3. CЗалишає лише рядки, що є в обох
  4. DЗалишає лише рядки, які є в першому запиті, але не в другому
2.Легка

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

  1. ASUM
  2. BCOUNT
  3. CAVG
  4. DMAX
3.Легка

Який оператор використовують для простого зіставлення текстових шаблонів у реченні WHERE?

  1. ALIKE
  2. BCONTAINS
  3. CSIMILAR
  4. DMATCH
4.Середня

Навіщо створюють індекси на стовпцях?

  1. AЩоб пришвидшити пошук і з’єднання за цими стовпцями
  2. BЩоб заощадити місце на диску
  3. CЩоб запобігти значенням NULL
  4. DЩоб пришвидшити вставлення й оновлення за цими стовпцями
5.Середня

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

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

Що означає функціональна залежність A → B?

  1. AКожне значення A пов’язане рівно з одним значенням B
  2. BA і B обидва є первинними ключами
  3. CКожне значення B пов’язане рівно з одним значенням A
  4. DA — зовнішній ключ, що посилається на B
7.Складна

Таблиця має мільйон рядків і булевий стовпець is_active, що дорівнює TRUE для 95% з них. Чому оптимізатор може ігнорувати індекс на is_active для WHERE is_active = TRUE?

  1. AБільшість рядків відповідають умові, тож повне сканування таблиці дешевше за багато пошуків в індексі
  2. BІндекс трактує TRUE як NULL
  3. CОптимізатор ніколи не використовує індекси в реченнях WHERE
  4. DІндекси не можна створювати на булевих стовпцях
8.Складна

Чому запит з WHERE YEAR(order_date) = 2025 може не використовувати індекс на order_date?

  1. AYEAR не є коректним SQL
  2. BІндекс за order_date використовується лише для ORDER BY, але ніколи для WHERE
  3. CІндекси ніколи не працюють з датами
  4. DЗастосування функції до стовпця унеможливлює простий діапазонний пошук в індексі

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

  1. 1. B · Об’єднує їх в один результат і видаляє дублікати рядків
  2. 2. B · COUNT
  3. 3. A · LIKE
  4. 4. A · Щоб пришвидшити пошук і з’єднання за цими стовпцями
  5. 5. D · Дозволяє користувачеві alice читати таблицю employees
  6. 6. A · Кожне значення A пов’язане рівно з одним значенням B
  7. 7. A · Більшість рядків відповідають умові, тож повне сканування таблиці дешевше за багато пошуків в індексі
  8. 8. D · Застосування функції до стовпця унеможливлює простий діапазонний пошук в індексі

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