20 поширених запитань і відповідей на інтерв’ю SQL [2022]

Мова структурованих запитів (SQL) є стандартною мовою програмування, що використовується фахівцями з баз даних та аналітиками для здійснення запитів до баз даних. Вона отримала широке застосування в розробці веб-сайтів, програмних додатків та інших програмних платформах.

SQL слугує для доступу до даних у базі даних та управління ними, включаючи створення і зміну таблиць та їхніх стовпців, а також для отримання необхідної інформації за допомогою команд SQL.

Цей матеріал надасть вам цінну інформацію, особливо якщо ви шукаєте приклади запитань та відповідей для підготовки до співбесіди з SQL. Під час співбесіди на посади, пов’язані з обробкою даних, аналітикою, адмініструванням баз даних, вам варто бути готовими до подібних питань.

Які основні команди SQL?

Перелік деяких з найважливіших команд SQL:

  • SELECT – команда для вибірки даних з бази даних.
  • CREATE TABLE – створює нову таблицю в базі даних.
  • DELETE – використовується для видалення даних з бази.
  • INSERT INTO – додає нові дані до таблиць бази даних.
  • ALTER DATABASE – команда для внесення змін в базу даних.
  • CREATE DATABASE – створює нову базу даних.
  • UPDATE – оновлює наявні дані в базі.

Які чотири основні категорії операторів SQL?

Основні SQL оператори можна розподілити на наступні категорії:

  • Інструкції мови визначення даних (DDL).
  • Оператори мови маніпулювання даними (DML).
  • Інструкції мови керування доступом до даних (DCL).
  • Оператори мови керування транзакціями (TCL).

Що таке первинний ключ в SQL?

Первинний ключ – це стовпець або набір стовпців, що забезпечують унікальну ідентифікацію кожного рядка в базі даних. Первинні ключі мають важливе значення в SQL базах даних, надаючи кожному запису унікальний ідентифікатор. Первинний ключ може складатися як з одного, так і з кількох полів, але в кожній таблиці може бути лише один первинний ключ.

Які існують типи даних в SQL?

Тип даних – це характеристика, що визначає вид інформації, яку може зберігати об’єкт, включаючи, наприклад, двійкові, числові, символьні, фінансові дані, а також дати і час.

В SQL типи даних класифікуються на такі групи:

  • Точні числові значення.
  • Наближені числові значення.
  • Значення дати та часу.
  • Символьні рядки.
  • Unicode-символьні рядки.
  • Двійкові рядки.

Де зберігаються імена користувачів і паролі в SQL Server?

Імена користувачів і паролі в SQL Server зберігаються відповідно в таблицях sys.server_principals та sys.sql_logins. Паролі зберігаються не у вигляді відкритого тексту, а в хешованому вигляді.

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

SQL-ін’єкція – один з поширених видів кібератак, який дозволяє зловмисникам отримувати доступ до даних, маніпулюючи запитами до бази даних. Це може призвести до серйозних наслідків, таких як фінансові втрати або розголошення конфіденційної інформації. Найкращий спосіб захисту від SQL-ін’єкцій – це запобігання їх виникненню.

Що таке тригер в SQL і які існують його типи?

Тригер – це особливий тип збереженої процедури, що автоматично виконується при виникненні певної події в базі даних. Тригери використовуються для перевірки даних до або після їхньої зміни за допомогою операторів DDL і DML.

Існують три основні типи тригерів: LOGON, DDL і DML.

  • Тригери LOGON: спрацьовують при спробі користувача ввійти в систему.
  • Тригери DDL: виконуються при виконанні команд DDL, таких як CREATE, ALTER або DROP.
  • Тригери DML: активуються при зміні даних командами DML, такими як INSERT, UPDATE та DELETE.

Як розрізнити однорядкові та багаторядкові функції?

Однорядкові функції обробляють кожен рядок таблиці окремо, повертаючи по одному результату для кожного рядка. Приклади таких функцій – перетворення регістру або довжини рядка.

Багаторядкові функції, також відомі як групові, оперують на групі рядків, повертаючи єдиний результат для цієї групи.

Що таке нормалізація бази даних і які її основні форми в SQL?

Нормалізація бази даних – це процес організації даних для забезпечення швидкого доступу та усунення надмірності даних. Таблиці та стовпці бази даних впорядковуються в процесі нормалізації таким чином, щоб забезпечити правильне відношення залежностей за допомогою обмежень цілісності бази даних.

Чотири основні форми нормалізації бази даних:

  • Перша нормальна форма (1NF).
  • Друга нормальна форма (2NF).
  • Третя нормальна форма (3NF).
  • Нормальна форма Бойса-Кодда (BCNF або 4NF).

Що таке індекси та обмеження в SQL?

Індекси в SQL використовуються для швидкого пошуку даних у великих таблицях, підвищуючи продуктивність запитів. Вони також допомагають enforce обмеження, які є правилами, що керують поведінкою бази даних у відповідь на певні умови.

Обмеження визначають тип даних, які можуть бути введені в таблицю, гарантуючи цілісність даних. У випадку порушення обмеження, дія над даними буде перервана.

Які обмеження SQL використовуються найчастіше?

Список найбільш використовуваних обмежень в SQL:

  • CREATE INDEX: для створення індексів, які оптимізують пошук даних у таблиці.
  • FOREIGN KEY: для зв’язування таблиць за допомогою схожих атрибутів.
  • DEFAULT: для встановлення значення за замовчуванням, якщо значення для стовпця не вказано.
  • UNIQUE: гарантує унікальність кожного значення у стовпці.
  • PRIMARY KEY: ідентифікує кожен рядок в таблиці.
  • NOT NULL: гарантує, що стовпець не може містити значення NULL.
  • CHECK: перевіряє, чи відповідає значення стовпця певним умовам.

Чи дорівнює NULL нулю в SQL?

Значення NULL в SQL означає відсутність або невідомість значення. Значення NULL не еквівалентне пробілу (‘ ‘) або нулю (0). Порівняння NULL з іншими значеннями через оператори “=”, “>” не є можливим, оскільки NULL не дорівнює і не не дорівнює жодному іншому значенню.

Як запобігти атакам SQL-ін’єкції?

Для запобігання SQL-ін’єкціям важливі методи перевірки введених даних, очищення вводу, використання параметризованих запитів та підготовлених інструкцій, а також постійний моніторинг та сканування на проникнення. Застосування брандмауерів також допомагає захистити базу даних SQL.

Що таке динамічний SQL і коли його можна використовувати?

Динамічний SQL дозволяє змінювати запити під час виконання програми, враховуючи різні критерії, такі як поточна дата, час, або інші необхідні умови. Це дозволяє зробити запити більш гнучкими.

Динамічний SQL можна застосовувати для внесення змін до запитів в залежності від умов, розширюючи можливості програми, бази даних або системи зберігання даних.

Які існують типи ключів в SQL?

Первинний ключ: однозначно ідентифікує кожен запис в таблиці. Значення первинного ключа мають бути унікальними та не можуть містити NULL. В таблиці може бути тільки один первинний ключ, що складається з одного або декількох стовпців.

Зовнішній ключ: поле або група полів, що пов’язують записи з первинним ключем в іншій таблиці. Таблиці з первинними ключами називаються батьківськими, а таблиці із зовнішніми ключами – дочірніми.

Суперключ: будь-який ключ, що дозволяє ідентифікувати записи в таблиці. Суперключ може містити зайві атрибути, що не є необхідними для унікальної ідентифікації.

Ключ-кандидат: підмножина суперключів, що можуть бути використані для унікальної ідентифікації запису. На відміну від суперключів, всі атрибути ключа-кандидата є важливими для ідентифікації.

Складений ключ: ключ, утворений комбінацією двох або більше стовпців таблиці, що дозволяє унікально ідентифікувати рядок. Зазвичай є первинним ключем.

Які існують типи індексів в SQL?

Основні типи індексів в SQL:

  • Хеш-індекс.
  • Індекс, оптимізований для пам’яті (некластеризований).
  • Кластеризований індекс.
  • Некластеризований індекс.
  • Унікальний індекс.
  • Індекс сховища стовпців.
  • Індекс із включеними стовпцями.
  • Індекс обчислених стовпців.
  • Фільтрований індекс.
  • Просторовий індекс.
  • XML-індекс.
  • Повнотекстовий індекс.

Що таке буферний пул, та які його переваги?

В SQL буферний пул (також відомий як буферний кеш) є областю пам’яті, що використовується для зберігання сторінок даних, до яких часто звертаються. Розмір буферного пулу може бути заданий під час налаштування SQL Server.

Переваги використання буферного пулу:

  • Підвищення продуктивності операцій введення-виведення.
  • Збільшення пропускної спроможності транзакцій.
  • Зменшення затримки введення/виведення.
  • Підвищення швидкості читання.

Що таке залежність, та які її типи?

Залежність між об’єктами в базі даних виникає, коли один об’єкт посилається на інший в SQL-запиті. Об’єкт, що містить посилання, називається “посилаючим”, а той, на кого посилаються, – “посилаємим”.

Типи залежностей в SQL:

  • Функціональна залежність.
  • Повнофункціональна залежність.
  • Багатозначна залежність.
  • Транзитивна залежність.
  • Часткова залежність.

Що таке SQL-з’єднання та які найпопулярніші типи з’єднань?

З’єднання в SQL дозволяють комбінувати дані з двох або більше таблиць, створюючи єдиний результат для аналізу. Це дає можливість фільтрувати результати на основі умов однієї або декількох таблиць, що спрощує пошук необхідних даних.

Існують чотири основні типи SQL JOIN: INNER JOIN, OUTER JOIN, CROSS JOIN і SELF JOIN.

Що таке оператори множин в SQL?

Оператори множин в SQL дозволяють комбінувати результати декількох запитів. Вони подібні до SQL JOIN, але є ключова різниця: оператори множин SQL об’єднують записи з різних запитів, тоді як SQL JOIN об’єднує стовпці з різних таблиць.

Висновок

Сподіваємося, що ці питання допоможуть вам підготуватися до співбесіди з SQL. Для успішного проходження співбесіди вам потрібно більше працювати з SQL, поглиблювати знання та практикуватись у складанні запитів. Перегляньте також шпаргалки по SQL для кращого розуміння операторів SQL.

Для отримання практичного досвіду виконання запитів SQL, скористайтеся доступними онлайн-платформами для практики.