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

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

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

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

1.Легка

Що означає NULL у SQL?

  1. AВідсутнє або невідоме значення
  2. BПорожній рядок символів
  3. CЛогічне значення «хибність»
  4. DЧисло нуль у числових стовпцях
2.Легка

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

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

Яке речення в PostgreSQL і MySQL повертає лише перші 10 рядків результату?

  1. ATOP ROWS 10
  2. BMAX 10
  3. CFIRST 10 ONLY
  4. DLIMIT 10
4.Середня

Що таке SQL-ін’єкція (SQL injection)?

  1. AТехніка резервного копіювання бази даних
  2. BПрийом швидкого вставлення багатьох рядків однією інструкцією INSERT
  3. CСпосіб додавання індексів
  4. DАтака, під час якої введені користувачем дані змінюють структуру SQL-запиту
5.Середня

Перша нормальна форма (1NF) вимагає, щоб:

  1. AКожен стовпець містив атомарні значення і не було повторюваних груп
  2. BКожна таблиця мала рівно один стовпець
  3. CКожен неключовий стовпець залежав від усього ключа й лише від ключа
  4. DНе було зовнішніх ключів
6.Середня

Третя нормальна форма (3NF) усуває:

  1. AТранзитивні залежності між неключовими атрибутами
  2. BАтомарні значення
  3. CСкладені ключі
  4. DНадлишкові індекси на стовпцях, що не входять до ключа
7.Складна

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

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

Чому NATURAL JOIN вважають ризикованим у робочих запитах?

  1. AЙого не підтримує жодна база даних
  2. BВін ігнорує первинні й зовнішні ключі та залишає лише рядки з NULL
  3. CВін з’єднує за кожним стовпцем з однаковою назвою, тож новий стовпець може непомітно змінити результат
  4. DВін завжди повертає декартовий добуток

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

  1. 1. A · Відсутнє або невідоме значення
  2. 2. D · Об’єднує їх в один результат і видаляє дублікати рядків
  3. 3. D · LIMIT 10
  4. 4. D · Атака, під час якої введені користувачем дані змінюють структуру SQL-запиту
  5. 5. A · Кожен стовпець містив атомарні значення і не було повторюваних груп
  6. 6. A · Транзитивні залежності між неключовими атрибутами
  7. 7. A · Більшість рядків відповідають умові, тож повне сканування таблиці дешевше за багато пошуків в індексі
  8. 8. C · Він з’єднує за кожним стовпцем з однаковою назвою, тож новий стовпець може непомітно змінити результат

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