Найти тему
Калинкин

20 часто задаваемых вопросов и ответов при собеседовании по SQL [2023]

Оглавление
Вопросы по SQL
Вопросы по 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 типы данных подразделяются на следующие группы:

  • Точные цифры
  • Приблизительные цифры
  • Дата и время
  • Символьные строки
  • Символьные строки в Юникоде
  • Двоичные строки

Где имена пользователей и пароли хранятся в SQL Server?

Имена пользователей и пароли хранятся в sys.server principals таблицы SQL и sys.sql для входа в систему соответственно. Пароли не хранятся в обычном тексте.

Что такое SQL-инъекция?

Атаки с использованием SQL-инъекций являются одним из наиболее распространенных типов кибератак на сегодняшний день. Они позволяют злоумышленникам получать доступ к данным, манипулируя базой данных приложения. Это может привести к широкому спектру негативных последствий, от финансовых потерь до потери конфиденциальных данных. Лучший способ защиты от атак с использованием SQL-инъекций - это в первую очередь предотвратить их возникновение.

Что такое триггер в SQL и его типы?

Триггер - это особый тип хранимой процедуры, которая автоматически запускается при возникновении события на сервере базы данных. Триггеры используются для оценки данных до или после модификации данных с использованием инструкций DDL и DML.

Существует три типа триггеров – LOGON, DDL и DML.

  • Триггеры ВХОДА В СИСТЕМУ: Эти триггеры запускаются, когда пользователь инициирует событие входа в систему.
  • Триггеры DDL запускаются всякий раз, когда выдается команда DDL, такая как CREATE, ALTER или DROP.
  • Триггеры DML: они запускаются всякий раз, когда команда DML изменяет данные. Сопоставимо со ВСТАВКОЙ, ОБНОВЛЕНИЕМ и УДАЛЕНИЕМ

Как бы вы провели различие между однорядными и многострочными функциями?

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

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

Что такое нормализация базы данных и каковы ее основные четыре типа в SQL?

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

Четыре типа процессов нормализации базы данных заключаются в следующем:

  • Первая обычная форма (1 NF)
  • Вторая нормальная форма (2 NF)
  • Третья обычная форма (3 NF)
  • Нормальная форма Бойса Кодда или четвертая нормальная форма (BCNF или 4 NF)

Что такое индексы и ограничения в SQL?

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

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

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

Каковы обычно используемые ограничения SQL?

Обычно используемые ограничения SQL являются:

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

Равен ли NULL 0 в SQL?

Нулевое значение в SQL обозначает значение, которое недоступно или назначено. Пробел (‘ ‘) или ноль (0) не эквивалентны значению NULL. Вы не можете сравнить значение NULL с любым другим значением, используя операторы сравнения, такие как “=” или”>”, поскольку оно не может быть равно или неравно любому другому значению.

Как предотвратить атаки с использованием SQL-инъекций?

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

Что такое динамический SQL и когда вы можете его использовать?

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

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

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

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

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

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

Ключ-кандидат: Ключ-кандидат - это подмножество суперключов, которые могут использоваться для идентификации записей в базе данных на основе одного или нескольких атрибутов. В отличие от Superkey, все функции ключа-кандидата должны быть полезны для идентификации записей.

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

Какие типы индексов существуют в SQL?

Ниже приведены типы индексов в SQL

  • Хэш-индекс
  • Некластеризованный, оптимизированный для памяти
  • Кластеризованный индекс
  • Некластеризованный индекс
  • Уникальный индекс
  • Индекс хранилища столбцов
  • Индекс с включенными столбцами
  • Индекс по вычисляемым столбцам
  • Отфильтрованный индекс
  • Пространственный индекс
  • XML-индекс
  • Полнотекстовый указатель

Что вы подразумеваете под буферным пулом и упоминаете о его преимуществах?

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

Ниже приведены преимущества пула буферов:

  • Улучшения в производительности ввода-вывода
  • Рост пропускной способности транзакций
  • Сокращение задержек ввода-вывода
  • Повышение производительности чтения

Что вы подразумеваете под зависимостью и упоминаете различные зависимости?

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

Ниже приведены различные типы зависимостей в SQL.

  • Функциональная зависимость
  • Полнофункциональная зависимость
  • Многозначная зависимость
  • Транзитивная зависимость
  • Частичная зависимость

Что такое соединения SQL и какие соединения SQL наиболее популярны?

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

В SQL существует четыре основных типа соединений: ВНУТРЕННЕЕ СОЕДИНЕНИЕ, ВНЕШНЕЕ СОЕДИНЕНИЕ, ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ и САМОСТОЯТЕЛЬНОЕ СОЕДИНЕНИЕ.

Что такое операторы set в SQL?

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

Заключение

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

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