50 лучших вопросов и ответов на собеседовании по базам данных (2025 г.)

Вот вопросы и ответы на собеседовании в базе данных для новичков и опытных кандидатов, желающих получить работу своей мечты.

 

Вопросы и ответы на собеседовании по базовым базам данных для первокурсников

1) Определить базу данных.

Заранее подготовленный набор цифр, известный как данные, называется базой данных.


2) Что такое СУБД?

Системы управления базами данных (СУБД) — это приложения, специально разработанные для обеспечения взаимодействия пользователя с другими приложениями.

👉 Скачать бесплатно PDF-файл: Вопросы и ответы для собеседования по базе данных (СУБД) >>


3) Какие виды взаимодействия обеспечиваются СУБД?

СУБД обеспечивает следующие виды взаимодействия:

  • Определение данных
  • Обновление ПО
  • поиск
  • Администрация

Вопросы для собеседования по базе данных (СУБД)


4) Развитие технологии раздельных баз данных.

Развитие технологии баз данных делится на:

  • Структура или модель данных
  • Навигационная модель
  • SQL/реляционная модель

5) Кто предложил реляционную модель?

Эдгар Ф. Кодд предложил реляционную модель в 1970 году.


6) Каковы особенности языка базы данных?

Язык базы данных также может включать в себя такие функции, как:
Конфигурация и управление механизмом хранения данных, специфичные для СУБД.
Вычисления для изменения результатов запроса с помощью вычислений, таких как суммирование, подсчет, усреднение, группировка, сортировка и перекрестные ссылки. Интерфейс прикладного программирования.


7) Что делают языки баз данных?

Как языки специального назначения они имеют:

  • Язык определения данных
  • Язык манипулирования данными
  • Язык запросов

8) Определите модель базы данных.

Модель данных, фундаментально определяющая, как данные могут храниться, манипулироваться и организовываться, а также логически структура базы данных, называется моделью базы данных.


9) Что такое SQL?

Язык структурированных запросов (SQL) будучи стандартным языком ANSI, обновляет базу данных и команды для доступа.

SQL


10) Перечислите различные связи базы данных.

Различные отношения базы данных:

  • Один к одному: Одна таблица, имеющая связь с другой таблицей, имеющей столбцы аналогичного типа.
  • Один ко многим: Две таблицы, имеющие связь между первичным и внешним ключом.
  • Многие ко многим: Соединительная таблица, имеющая множество таблиц, связанных со многими таблицами.

11) Определите нормализацию.

Организованные данные, лишенные противоречивой зависимости и избыточности в базе данных, называются нормализация.


12) Перечислите преимущества нормализации базы данных.

Преимущества нормализации базы данных:

  • Никаких повторяющихся записей
  • Экономит место для хранения
  • Может похвастаться производительностью запросов.

13) Дайте определение денормализации.

Повышение производительности базы данных, добавление избыточных данных, что, в свою очередь, помогает избавиться от сложных данных, называется денормализацией.


14) Дайте определение DDL и DML.

Управление свойствами и атрибутами базы данных называется языком определения данных (DDL).

Манипулирование данными в базе данных, например вставка, обновление и удаление, определяется как язык манипулирования данными. (ДМЛ)


15) Подключите несколько команд DDL.

К ним относятся:

СОЗДАЙТЕ:

Create используется в инструкции CREATE TABLE. Синтаксис:

CREATE TABLE [column name] ( [column definitions] ) [ table parameters]

ИЗМЕНИТЬ:

Это помогает модифицировать существующий объект базы данных. Его синтаксис:

ALTER objecttype objectname parameters.

УРОНИТЬ:

Он уничтожает существующую базу данных, индекс, таблицу или представление. Его синтаксис:

DROP objecttype objectname.

16) Определите оператор Union All и Union.

Полная запись двух таблиц — оператор Union All. Отдельная запись двух таблиц — Union.


17) Определите курсор.

Объект базы данных, который помогает манипулировать данными построчно, представляющими набор результатов, называется курсором.


18) Зарегистрируйте типы курсоров.

К ним относятся:

  • Динамический: отражает изменения при прокрутке.
  • Статический: не отражает изменения при прокрутке и работает при записи снимка.
  • Набор ключей: видна модификация данных без отражения новых данных.

19) Перечислите типы курсора.

Типы курсоров:

  • Неявный курсор: Объявляется автоматически, как только происходит выполнение SQL без ведома пользователя.
  • Явный курсор: Определяется ПЛ/SQL который обрабатывает запрос в более чем одной строке.

20) Определите подзапрос.

Запрос, содержащийся в запросе, называется подзапросом.


21) Почему используется групповое предложение?

В групповом предложении используются совокупные значения, которые можно получить путем сбора аналогичных данных.


22) Сравните некластеризованный и кластеризованный индекс.

Оба имеют структуру B-дерева, некластеризованный индекс имеет указатели данных, позволяющие одной таблице использовать множество некластеризованных индексов, в то время как кластеризованный индекс различен для каждой таблицы.


23) Определить агрегатные функции.

Функции, которые работают с набором значений и возвращают одно значение, называются агрегатными функциями.


24) Дайте определение скалярным функциям.

Скалярная функция зависит от заданного аргумента и возвращает единственное значение.


25) Какие ограничения можно применять при создании представлений?

Применяются следующие ограничения:

  • Только текущая база данных может иметь представления.
  • Вы не несете ответственности за изменение любого вычисленного значения в каком-либо конкретном представлении.
  • Integrity константы определяют функциональность INSERT и DELETE.
  • Определения полнотекстового индекса применить невозможно.
  • Временные представления создать невозможно.
  • Временные таблицы не могут содержать представления.
  • Никакой связи с определениями DEFAULT.
  • Триггеры, такие как INSTEAD OF, связаны с представлениями.

26) Определите «коррелированные подзапросы».

«Коррелированный подзапрос» — это разновидность подзапроса, но коррелированный подзапрос зависит от другого запроса на возвращаемое значение. В случае выполнения сначала выполняется подзапрос, а затем коррелированный запрос.


27) Определите хранилище данных.

Хранение и доступ к данным из центрального местоположения для принятия какого-либо стратегического решения называется Хранилище данных. Управление предприятием используется для управления информацией, структура которой известна как хранилище данных.


28) Определите соединение и зарегистрируйте его типы.

Объединения помогают объяснить связь между различными таблицами. Они также позволяют выбирать данные относительно данных в другой таблице.

Различные типы:

  • ВНУТРЕННИЕ СОЕДИНЕНИЯ: Пустые строки остаются посередине, а объединяются более двух таблиц.
  • ВНЕШНИЕ СОЕДИНЕНИЯ: Разделяется на левое внешнее соединение и правое внешнее соединение. Пустые строки остаются на указанной стороне путем объединения таблиц на другой стороне.

Другими соединениями являются CROSS JOIN, NATURAL JOIN, EQUI JOIN и NON-EQUI JOIN.


29) Что вы подразумеваете под охотой за индексами?

Индексы помогают повысить скорость и производительность запросов к базе данных. Процедура увеличения коллекции индексов называется охотой за индексами.


30) Как поиск индекса помогает повысить производительность запросов?

Поиск индекса помогает повысить скорость, а также производительность запросов к базе данных. Для этого применяются следующие меры:

  • Оптимизатор запросов используется для координации изучения запросов с рабочей нагрузкой и наилучшего использования предлагаемых на основе этого запросов.
  • Индекс, распределение запросов и их производительность наблюдаются для проверки эффекта.
  • Также рекомендуется настроить базы данных на небольшой набор проблемных запросов.

Вопросы и ответы на собеседовании по базе данных для опытных

31) Перечислите недостатки запроса.

Недостатки запроса:

  • Нет индексов
  • Хранимые процедуры чрезмерно компилируются.
  • Триггеры и процедуры без SET NOCOUNT ON.
  • Сложные соединения, составляющие неадекватно написанный запрос.
  • Курсоры и временные таблицы демонстрируют плохое представление.

32) Найдите способы эффективного кодирования транзакций.

Способы эффективного кодирования транзакций:

  • Пользовательский ввод не должен быть разрешен во время транзакций.
  • Во время просмотра транзакции не должны открываться с данными.
  • Транзакции должны быть как можно меньшими.
  • Более низкий уровень сегрегации транзакций.
  • Во время транзакции должен быть доступен минимум информации о данных.

33) Что такое исполнительный план?

Исполнительный план можно определить как:

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

34) Дайте определение B-деревьям.

Структура данных в виде дерева, в которой хранятся отсортированные данные, а поиск, вставка, последовательный доступ и удаление разрешены за логарифмическое время.


35) Отличайте сканирование таблицы от сканирования индекса.

Перебор всех строк таблицы называется сканированием таблицы, а перебор всех элементов индекса определяется как сканирование индекса.


36) Что вы подразумеваете под понятием коэффициента заполнения применительно к индексам?

Коэффициент заполнения можно определить как значение, которое определяет процент оставшегося пространства на каждой конечной странице, которая должна быть заполнена данными. 100 — значение коэффициента заполнения по умолчанию.


37) Дайте определение фрагментации.

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


38) Различайте вложенный цикл, хэш-соединение и соединение слиянием.

Вложенный цикл (цикл над циклом)

Формируется внешний цикл внутри внутреннего цикла, состоящий из меньшего количества записей, а затем для отдельной записи внутренний цикл обрабатывается индивидуально.

Например

  • Выберите col1.*, col2.* из col, col2, гдеcol.col1=col2.col2;

Обработка происходит следующим образом:

Для i в цикле (выберите * из столбца 1)
Для j in (выберите * из столбца 2, где столбец 2 = i.col1) цикл
Результаты отображаются;
Конец цикла;
Конец цикла;

Шаги вложенного цикла:

  • Определить внешнюю (ведущую) таблицу
  • Назначьте внутреннюю (управляемую) таблицу внешней таблице.
  • Для каждой строки внешней таблицы получите доступ к строкам внутренней таблицы.

Вложенные циклы выполняются от внутреннего к внешнему следующим образом:

  • внешний_цикл
  • внутренний_цикл
  • Хеш-соединение

При объединении больших таблиц предпочтительнее использовать Hash Join.

Алгоритм Hash Join делится на:

  • Сборка: это хеш-таблица, имеющая оперативную память, которая присутствует в меньшей таблице.
  • Проба: это хеш-значение хеш-таблицы применимо для каждого элемента второй строки.
  • Сортировать объединение слияния

Два независимых источника данных объединяются методом сортировки слиянием. Их производительность лучше по сравнению с вложенным циклом, когда объем данных достаточно велик, но в целом это не очень хорошо, поскольку хеш-соединение обычно. Полную операцию можно разделить на две части:

Операция сортировки соединения:

Получить первую строку R1 из ввода1

Получите первую строку R2 из input2.

Операция объединения слиянием:

' while' отсутствует в конце ни одного цикла.
если R1 соединяется с R2
следующая строка получает R2 со входа 2
возврат (R1, R2)
иначе, если R1 <style=""> следующая строка получена от R1 из входа 1
еще
следующая строка получается из R2 со входа 2
конец цикла


39) Что такое секционирование базы данных?

Разделение логической базы данных на независимые целостные единицы для улучшения ее управления, доступности и производительности называется секционированием базы данных.


40) Объясните важность разделения.

Разделение одной большой таблицы на более мелкие объекты базы данных логически называется секционированием базы данных. Его преимущества:

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

41) Определите систему базы данных.

СУБД вместе с базой данных называется системой баз данных.


42) Что вы подразумеваете под механизмом оценки запросов?

Механизм оценки запросов выполняет инструкции низкого уровня, генерируемые компилятором.


43) Определите интерпретатор DDL.

Операторы DDL интерпретируются и записываются в таблицы, называемые метаданными.


44) Определить Atomлед и агрегация.

Atomлед: Это концепция «все или ничего», которая позволяет пользователю быть уверенным в том, что о незавершенных транзакциях придется позаботиться. Действия, связанные с незавершенными транзакциями, в СУБД остаются невыполненными.

Агрегация: Собранные сущности и их отношения агрегируются в этой модели. В основном он используется для выражения отношений внутри отношений.


45) Перечислите различные этапы транзакции.

Различные этапы транзакции:

  • Фаза анализа.
  • Повторить фазу
  • Отменить фазу

46) Дайте определение объектно-ориентированной модели.

Компиляции объектов составляют эту модель, в которой значения хранятся в переменных экземпляра, находящихся внутри объекта. Сам объект состоит из тел объекта для его работы, которые называются методами. Объекты, содержащие одинаковые переменные и методы, называются классами.


47) Определить сущность.

Его можно определить как «вещь», имеющую независимое существование в реальном мире.


48) Что вы подразумеваете под типом сущности?

Набор записей, имеющих схожие атрибуты, являются типами сущностей.


49) Определите набор сущностей.

Компиляция всех записей любого конкретного типа в базе данных называется набором сущностей.


50) Что вы подразумеваете под расширением типа сущности?

Компиляция схожих типов сущностей в один конкретный тип, который сгруппирован в набор сущностей.

Эти вопросы для собеседования также помогут вам в устной речи.