Зміст[Сховати][Показати]
- 1. Що ви маєте на увазі під базою даних?
- 2. Що ви розумієте під СУБД?
- 3. Поясніть різні мови СУБД.
- 4. Перелічіть кілька переваг СУБД?
- 5. Згадайте недоліки звичайних файлових систем, які мають СУБД.
- 6. Що ви маєте на увазі під властивостями ACID у СУБД?
- 7. Яку роль виконує SQL у СУБД?
- 8. Чи вважаються пробіл або нуль значеннями NULL у базах даних?
- 9. Що саме таке сховище даних?
- 10. Що означає контрольна точка СУБД?
- 11. Опишіть різні рівні абстракції даних СУБД.
- 12. Що для вас означає «оптимізація запитів»?
- 13. Моделювання сутності-зв’язку: що це таке?
- 14. Що означають фрази «сутність», «тип сутності» та «набір сутностей» у системі керування базами даних?
- 15. Що таке зв'язки та які види зв'язків існують у СУБД?
- 16. Що таке RDBMS?
- 17. Що означають терміни «намір» і «розширення» в базі даних?
- 18. Які існують методи нормалізації та що означає термін «нормалізація»?
- 19. Опишіть замок. Необхідно пояснити основну відмінність між спільним блокуванням і ексклюзивним блокуванням під час транзакції бази даних.
- 20. Що означають терміни «нормалізація» і «денормалізація»?
- 21. Опишіть розділення бази даних та його значення.
- 22. Що для вас означають терміни «проактивний», «ретроактивний» і «одночасне оновлення»?
- 23. Що для вас означає термін «курсор»? Опишіть багато видів курсорів.
- 24. Опишіть відмінності між мережевими та ієрархічними моделями баз даних.
- 25. Опишіть MongoDB.
- 26. Опишіть відмінності між 2-рівневою та 3-рівневою системою СУБД.
- 27. Що означає термін «хешування» в базі даних?
- 28. Яку роль виконує адміністратор бази даних у СУБД?
- Висновок
Дані можна знайти в будь-якій точці світу! На сучасному ринку щодня створюється понад 2.5 квінтильйона байтів даних.
Дуже важливо, щоб ми всі аналізували ці дані та надавали необхідні результати за допомогою систем керування базами даних (СУБД). З іншого боку, знання СУБД дозволяє працювати адміністратором баз даних.
Враховуючи, що ви читаєте цю публікацію про питання для співбесіди з СУБД, я припускаю, що ви вже знаєте ці деталі. Будь-яка професія в галузі аналітики даних повинна починатися з глибокого розуміння систем керування базами даних (СУБД).
Створення ефективних систем баз даних вимагає вміння організовувати, оцінювати, переглядати та осмислювати величезні обсяги даних.
Ось кілька запитань щодо співбесіди щодо СУБД, які допоможуть вам досягти успіху на наступній співбесіді та отримати посаду, про яку ви мріяли, незалежно від того, чи ви вже почали кар’єру в аналітиці даних, чи тільки починаєте.
Найпопулярніші запитання для співбесіди СУБД зібрано у список для вашої переваги, щоб допомогти вам успішно пройти співбесіду та зміцнити ваше розуміння теми.
1. Що ви маєте на увазі під базою даних?
База даних — це логічно структурований набір даних, який можна легко оновлювати, отримувати доступ і підтримувати. Усе, що створюється за допомогою команди create, є об’єктом бази даних, а бази даних часто складаються з колекцій таблиць або об’єктів із записами та полями.
Один запис у таблиці представлено кортежем або рядком. Основними елементами зберігання даних, які надають детальну інформацію про певний аспект таблиці, є атрибут або стовпець.
СУБД отримує дані з бази даних за допомогою запитів, наданих користувачем.
2. Що ви розумієте під СУБД?
СУБД — це програмне забезпечення, яке допомагає створювати та керувати логічно пов’язаними даними.
Іншими словами, система керування базами даних (СУБД) надає нам інтерфейс або інструмент для виконання різноманітних операцій, включаючи створення бази даних, додавання до неї даних, її видалення, зміну даних тощо.
Програмне забезпечення під назвою система керування базами даних (СУБД) дозволяє зберігати дані більш безпечним способом, ніж файлова система.
3. Поясніть різні мови СУБД.
Нижче наведено деякі з мов, які використовуються СУБД:
- DDL (мова визначення даних): інструкції, необхідні для визначення бази даних, містяться в ньому. CREATE, ALTER, DROP, TRUNCATE, RENAME тощо – кілька прикладів.
- DML (мова маніпулювання даними): містить команди, необхідні для роботи з даними в базі даних. Приклади включають ВИБРАТИ, ОНОВИТИ, ВСТАВИТИ, ВИДАЛИТИ тощо.
- DCL (мова керування даними): містить команди, необхідні для роботи з дозволами користувача та елементами керування системою бази даних. Наприклад, GRANT і REVOKE.
- TCL (мова керування транзакціями): містить команди, які необхідно використовувати для керування транзакціями бази даних. Наприклад, COMMIT, ROLLBACK і SAVEPOINT.
4. Перелічіть кілька переваг СУБД?
- Багато користувачів можуть одночасно обмінюватися даними з однієї бази даних. Крім того, такий тип спільного використання дає змогу користувачам швидко реагувати на зміни в середовищі бази даних.
- Багато користувачів можуть переглядати дані однієї бази даних одночасно.
- зменшує дублювання в базі даних шляхом впровадження системи, яка об’єднує всі дані в єдину базу даних.
- За потреби дані в базі даних можна відновити та запрограмувати автоматичне створення резервної копії даних.
- Дозволяє змінювати формат даних, зберігаючи структуру всіх запущених процесів програми.
5. Згадайте недоліки звичайних файлових систем, які мають СУБД.
Ми змушені сканувати кожну сторінку в типовій файловій системі, оскільки немає індексації, що робить доступ до вмісту трудомістким і повільним.
Іншими проблемами є надмірність і неузгодженість, оскільки файли часто містять надлишкові та повторювані дані, а зміна одного з них робить усі їх несумісними.
Доступ до даних є складнішим у традиційних файлових системах, оскільки дані невпорядковані. Іншим недоліком є відсутність контролю паралельності, що перешкоджає одночасному виконанню багатьох операцій над одним файлом і натомість змушує одну дію блокувати всю сторінку.
Системи керування базами даних також вирішують проблеми з традиційними системами на основі файлів, включаючи перевірку цілісності, розділення даних, атомарність, безпеку тощо.
6. Що ви маєте на увазі під властивостями ACID у СУБД?
Основними вказівками, яких необхідно дотримуватися для збереження цілісності даних, є характеристики ACID системи керування базами даних. Ось що вони собою представляють:
- Атомарність – також називається принципом «усе або нічого», атомарність передбачає, що кожне оцінювання окремої одиниці виконується повністю або не виконується взагалі.
- Узгодженість: ця властивість показує, що дані в базі даних є постійними як до, так і після кожної транзакції.
- Ізоляція – ця властивість визначає, що багато транзакцій можуть відбуватися одночасно.
- Довговічність – ця властивість забезпечує запис кожної транзакції в енергонезалежну пам’ять після завершення.
7. Яку роль виконує SQL у СУБД?
SQL розшифровується як Structured Query Language, і його основною функцією є взаємодія з реляційними базами даних шляхом введення та оновлення/зміни даних.
8. Чи вважаються пробіл або нуль значеннями NULL у базах даних?
Ні, значення NULL суттєво відрізняється від нуля та пробілу, оскільки воно позначає значення, яке є призначеним, невідомим, недоступним або нерелевантним, на відміну від пробілу та нуля, кожен з яких представляє символ.
9. Що саме таке сховище даних?
Сховище даних — це процес збору, вилучення, обробки та імпорту даних із кількох джерел для їх зберігання в одній базі даних.
Сховище даних можна розглядати як центральне сховище, де дані використовуються для аналізу даних і надходять із транзакційних систем та інших реляційних баз даних.
A сховище даних містить ряд історичних даних організації, які використовуються для покращення процесу прийняття рішень всередині компанії.
10. Що означає контрольна точка СУБД?
Метод контрольної точки видаляє всі попередні журнали з системи та назавжди зберігає їх на пристрої зберігання.
Два прийоми, які можуть допомогти СУБД відновити та зберегти якості ACID, включають збереження тіньових сторінок і ведення журналу кожної транзакції. Контрольні точки важливі для механізму відновлення на основі журналу.
Запис журналу транзакцій можна використовувати для відновлення всіх зафіксованих даних до моменту збою з контрольних точок, які є мінімальними точками, з яких механізм бази даних може відновитися після збою.
11. Опишіть різні рівні абстракції даних СУБД.
Абстракція даних — це приховування неважливої інформації від користувача для сприяння більш плавній взаємодії. Існує три рівні абстракції:
- Фізичний рівень: Найменший рівень абстракції описує фізичне зберігання даних у пам’яті. Для доступу до даних можна використовувати як методи послідовного, так і довільного доступу. Для впорядкування файлів використовуються дерева B+ і методи хешування.
- Логічний рівень: рівень, на якому дані зберігаються у вигляді таблиць. Крім того, базові структури використовуються для зберігання зв’язків між різними елементами.
- Рівень перегляду: це найвищий рівень абстракції. Користувачам доступна лише частина реальної бази даних, представлена рядками та стовпцями. Можливі кілька переглядів однієї бази даних. Користувачі не поінформовані про особливості зберігання та реалізації.
12. Що для вас означає «оптимізація запитів»?
Етап оптимізації запиту знаходить стратегію оцінки з найменшою прогнозованою вартістю. Цей етап стає актуальним, коли є кілька доступних алгоритмів і методів для вирішення однієї проблеми.
Нижче наведено деякі переваги оптимізації запитів.
- Результат доставляється швидше
- Зменшує складність часу і простір
- Більше запитів можна обробити за менший проміжок часу.
13. Моделювання сутності-зв’язку: що це таке?
У цьому методі розробки бази даних використовуються діаграми для зображення фактичних елементів у реальному світі як сутностей і показу їхніх зв’язків. Цей метод спрощує для команди DBA розуміння схеми.
14. Що означають фрази «сутність», «тип сутності» та «набір сутностей» у системі керування базами даних?
Сутність: елемент реального світу вважається сутністю, якщо він має властивості, які відповідають його конкретним атрибутам. Наприклад, студент, співробітник або вчитель символізує сутність.
Тип сутності: тип сутності описується як група сутностей зі схожими характеристиками. Тип сутності представлено однією або декількома пов’язаними таблицями в базі даних. Можна розглядати тип або атрибути сутності як ознаку, яка конкретно ідентифікує сутність. Студент, наприклад, символізує об’єкт із такими характеристиками, як ідентифікатор студента, ім’я студента тощо.
Набір сутностей: усі сутності в базі даних, що належать до певного типу сутності, збираються разом як набір сутностей. Наприклад, набір сутностей — це сукупність усіх студентів, співробітників, викладачів тощо.
15. Що таке зв'язки та які види зв'язків існують у СУБД?
У СУБД зв'язок - це ситуація, в якій дві сутності з'єднані одна з одною. У цьому випадку таблиця зовнішнього ключа має посилання на первинний ключ іншої таблиці.
У наведеному нижче списку представлено багато типів зв’язків у СУБД:
- Зв'язок один-до-одного: цей термін використовується для опису зв'язку між одним рядком у таблиці A та одним рядком у таблиці B.
- Зв’язок один-до-багатьох: використовується, коли існує зв’язок між одним рядком у таблиці A та багатьма рядками в таблиці B.
- Зв’язок «багато-до-багатьох» – використовується, коли велика кількість рядків у таблиці A може бути пов’язана з великою кількістю рядків у таблиці B.
- Зв’язок із самопосиланням – використовується, коли запис у таблиці A пов’язано з іншим записом у тій же таблиці.
16. Що таке RDBMS?
РСУБД, або системи управління реляційними базами даних, є абревіатурою цих систем. Він використовується для відстеження індексів таблиці та записів даних.
РСУБД — це підмножина систем керування базами даних, які використовують структуру для пошуку та отримання інформації про інші об’єкти бази даних. Система керування реляційною базою даних (RDBMS) дозволяє легко оновлювати, вставляти, видаляти, редагувати та керувати реляційною базою даних.
Більшість часу RDBMS використовує мову SQL, оскільки вона зручна для користувача та використовується регулярно.
17. Що означають терміни «намір» і «розширення» в базі даних?
Основна відмінність між наміром і розширенням у базі даних полягає в наступному:
Намір: Намір, який іноді називають схемою бази даних, використовується для опису опису бази даних. Він встановлюється під час побудови бази даних і здебільшого не змінюється.
Розширення: З іншого боку, розширення — це вимірювання загальної кількості кортежів у базі даних за один раз. Коли кортежі створюються, змінюються або видаляються в базі даних, значення розширення, також відомого як знімок бази даних, постійно змінюється.
18. Які існують методи нормалізації та що означає термін «нормалізація»?
Нормалізація — це процес структурування даних для запобігання їх дублюванню та надмірності. Кілька стадій нормалізації слідують одна за одною і називаються нормальними формами. Наступні типові форми залежать одна від одної.
Перші три нормальні форми такі.
NF-1, або перша нормальна форма, рядки без повторюваних груп
2NF означає другу нормальну форму. Кожне значення допоміжного (не ключового) стовпця залежить від усього основного ключа.
Three-Normal-Form (3NF) залежить лише від первинного ключа і не залежить від будь-яких інших підтримуваних (неключових) значень стовпців.
У вас також є вищі нормальні форми, такі як BCNF, на додаток до них.
BNCF – більш складний і точний варіант 3NF називається 3.5NF. Таблиця має бути в 3NF і відповідати правилу BCNF, згідно з яким A має бути суперключем таблиці для будь-якої функціональної залежності A->B.
19. Опишіть замок. Необхідно пояснити основну відмінність між спільним блокуванням і ексклюзивним блокуванням під час транзакції бази даних.
Блокування бази даних — це захід безпеки, який не дозволяє двом або більше користувачам бази даних одночасно оновлювати спільну частину даних.
Жоден інший користувач бази даних або сеанс не може редагувати дані, доки не буде знято блокування конкретної бази даних, коли один користувач бази даних або сеанс отримав блокування.
Спільне блокування: для читання елемента даних потрібне спільне блокування, і багато транзакцій можуть блокувати один і той же елемент даних під спільним замком. Елементи даних у спільному замку можуть читатися багатьма транзакціями.
Ексклюзивне блокування: будь-яка транзакція, яка збирається виконати операцію запису, має блокування, відоме як ексклюзивне блокування. Ця форма блокування забороняє кілька транзакцій, запобігаючи будь-яким розбіжностям у базі даних.
20. Що означають терміни «нормалізація» і «денормалізація»?
Процес нормалізації передбачає розбиття даних на багато таблиць, щоб зменшити надмірність. Нормалізація призводить до більшого використання дискового простору та спрощує збереження цілісності бази даних.
Денормалізація є протилежністю нормалізації, оскільки вона об’єднує нормалізовані таблиці в одну таблицю для прискорення пошуку даних. Перевертаючи нормалізацію, операція JOIN дає нам змогу створювати деноралізоване представлення даних.
21. Опишіть розділення бази даних та його значення.
Логічна база даних розділена на окремі самодостатні сутності за допомогою процесу розділення даних, що покращує доступність, продуктивність і керованість.
Нижче наведено кілька причин, чому розділення бази даних є важливим:
- Підвищує ефективність запитів
- Дозволяє отримати доступ до значних частин певного розділу
- Дані можна зберігати на млявому, недорогому сховищі.
22. Що для вас означають терміни «проактивний», «ретроактивний» і «одночасне оновлення»?
Проактивне оновлення: до того, як база даних набуде чинності в реальному світі, до неї вносяться ці коригування.
Ретроактивне оновлення: після того, як база даних працює в реальному світі, до неї вносяться ці ретроактивні зміни.
Одночасне оновлення: Ці зміни вносяться до бази даних точно в той самий момент, коли вони набувають чинності в реальному світі.
23. Що для вас означає термін «курсор»? Опишіть багато видів курсорів.
Курсор — це об’єкт бази даних, який полегшує маніпулювання даними рядок за рядком і представляє набір результатів.
Це кілька типів курсорів:
- Неявний курсор: цей вид курсору оголошується одразу після виконання SQL. У цьому випадку користувач не повідомляється про оголошення курсора.
- Явний курсор: оскільки він обробляє запит у кількох рядках, цей тип курсору описується PL/SQL.
24. Опишіть відмінності між мережевими та ієрархічними моделями баз даних.
Дані впорядковуються у вузли, що нагадує дерево в парадигмі ієрархічної бази даних. Вузол може мати лише один батьківський вузол, приєднаний до нього.
У результаті дані цієї моделі мають зв’язок «один до багатьох». Об’єктний підхід документа (DOM), який часто використовується у веб-браузерах, є яскравим прикладом цієї моделі.
Покращеним варіантом ієрархічної моделі є мережева модель бази даних. У цьому випадку дані розташовані подібно до дерева. Однак один дочірній вузол може бути пов’язаний з кількома батьківськими вузлами.
У результаті між вузлами даних виникає зв’язок «багато-до-багатьох». Мережеві бази даних включають інтегроване сховище даних (IDS) і IDMS (інтегровану систему керування базами даних).
25. Опишіть MongoDB.
MongoDB — це нереляційна неструктурована база даних з відкритим кодом. Ваші дані зберігаються в колекціях, які складаються з окремих документів у нашій документоорієнтованій базі даних.
Документ у MongoDB — це великий об’єкт JSON без певної структури чи синтаксису. Документи JSON представлені MongoDB у двійковому форматі під назвою BSON.
26. Опишіть відмінності між 2-рівневою та 3-рівневою системою СУБД.
Термін «дворівнева архітектура» стосується архітектури клієнт-сервер, у якій програми, що працюють на клієнтах, безпосередньо взаємодіють із базами даних, що працюють на серверах, без використання проміжного програмного забезпечення.
3-рівневий дизайн включає додатковий рівень між клієнтом і сервером, щоб запропонувати користувачам графічний інтерфейс користувача та зробити систему більш безпечною та доступною. У цій формі дизайну програма на стороні клієнта взаємодіє з програмою на стороні сервера, яка потім спілкується з системою бази даних.
27. Що означає термін «хешування» в базі даних?
Рядок символів хешується в ключ або значення, яке представляє вихідний рядок, але часто має меншу довжину. Оскільки пошук елемента за допомогою коротшого хешованого ключа, ніж вихідне значення, відбувається швидше, хешування використовується для індексування та отримання об’єктів у базах даних.
28. Яку роль виконує адміністратор бази даних у СУБД?
Адміністратор бази даних (DBA) виконує такі ключові ролі в СУБД:
- Налаштування та інсталяція баз даних
- Міграція даних
- Оцінка ефективності
- Планування та впровадження заходів безпеки
- Відновлення та зберігання даних
- Пошук і усунення несправностей
Висновок
Збірник запитань і відповідей на співбесіді СУБД надано як довідник, щоб потенційні кандидати могли швидко та легко зрозуміти ці запитання.
На завершення ми проаналізували найпопулярніші запитання для інтерв’ю щодо СУБД, які часто задають в організаціях.
залишити коментар