Перевод статьи подготовлен для студентов курса «Разработчик MS SQL Server»
Реляционные базы данных по сей день являются одной из наиболее часто используемых баз данных и поэтому навыки SQL необходимы для большинства должностей.
В этой статье «Вопросы для собеседования по SQL» я познакомлю вас с наиболее часто задаваемыми вопросами по SQL (языку структурированных запросов).
Эта статья является идеальным руководством для изучения всех концепций, связанных с SQL, Oracle, MS SQL Server и базой данных MySQL. Наша статья «Вопросы по SQL» — это универсальный ресурс, который поможет вам ускорить подготовку к собеседованию.
Он состоит из набора 65 самых частых вопросов вопросы, которые интервьюер может задать во время интервью.
Обычно он начинается с базовых вопросов по SQL, а затем переходит к более сложным вопросам, основанным на обсуждении и ваших ответах.
Эти вопросы для интервью по SQL помогут вам получить максимальную пользу на различных уровнях понимания.
Давайте начнем!
Вопросы для собеседования по SQL
Вопрос 1. В чем разница между операторами DELETE и TRUNCATE?
УДАЛИТЬ | УСЕЧЕНИЕ |
---|---|
Используется для удаления строки в таблице | Используется для удаления всех строк из таблицы.
|
Вы можете восстановить данные после удаления | Восстановить данные невозможно (примечание по переводу: операции протоколируются по-другому, но SQL Server имеет возможность откатить транзакции) |
DML-команда | DDL-команда |
Медленнее, чем оператор TRUNCATE | Быстрее |
Нет. Вопрос 2. Из каких подмножеств состоит SQL?
- DDL (язык определения данных) - позволяет выполнять различные операции с базой данных, такие как CREATE (создание), ALTER (изменение) и DROP (удаление объектов).
- DML (язык манипулирования данными, язык управления данными) - Позволяет получать доступ к данным и манипулировать ими, например вставлять, обновлять, удалять и извлекать данные из базы данных.
- DCL (язык управления данными) — позволяет контролировать доступ к базе данных.
Пример – GRANT (предоставить права), REVOKE (отозвать права).
Вопрос 3. Что подразумевается под СУБД? Какие типы СУБД существуют?
База данных — это структурированный набор данных.Система управления базами данных (СУБД) — это программное обеспечение, которое взаимодействует с пользователем, приложениями и самой базой данных для сбора и анализа данных.
СУБД позволяет пользователю взаимодействовать с базой данных.
Данные, хранящиеся в базе данных, можно изменять, извлекать и удалять.
Они могут быть любого типа, например строки, числа, изображения и т. д. Существует два типа СУБД:
- Система управления реляционными базами данных: данные хранятся в связях (таблицах).
Пример — MySQL.
- Нереляционная система управления базами данных: нет понятия связей, кортежей и атрибутов.
Пример – Монго.
Вопрос 4. Что подразумевается под таблицей и полем в SQL?
Таблица — это организованный набор данных в виде строк и столбцов.Поле — это столбцы в таблице.
Например: Стол: Информация о студенте Поле: Stu_Id, Stu_Name, Stu_Marks
Вопрос 5. Что такое соединения в SQL?
Оператор JOIN используется для объединения строк из двух или более таблиц на основе связанного между ними столбца.Он используется для объединения двух таблиц или получения данных оттуда.
В SQL существует 4 типа соединения, а именно:
- Внутреннее соединение
- Право присоединиться
- Левое присоединение
- Полное присоединение
Вопрос 6. В чем разница между типами данных CHAR и VARCHAR в SQL?
И Char, и Varchar служат символьными типами данных, но varchar используется для символьных строк переменной длины, тогда как Char используется для строк фиксированной длины.Например, char(10) может хранить только 10 символов и не сможет хранить строку любой другой длины, тогда как varchar(10) может хранить строку любой длины до 10, то есть, например, 6, 8 или 2. .
Вопрос 7. Что такое первичный ключ?
- Первичный ключ — это столбец или набор столбцов, который однозначно идентифицирует каждую строку таблицы.
- Уникально идентифицирует одну строку в таблице.
- Нулевые значения не допускаются
Вопрос 8. Что такое ограничения?
Ограничения используются для указания ограничений на тип данных таблицы.Их можно указать при создании или изменении таблицы.
Пример ограничений:
- НЕ НОЛЬ
- ПРОВЕРЯТЬ
- ПО УМОЛЧАНИЮ
- УНИКАЛЬНЫЙ
- ОСНОВНОЙ КЛЮЧ
- ВНЕШНИЙ КЛЮЧ
Вопрос 9: В чем разница между SQL и MySQL?
SQL — это стандартный английский язык структурированных запросов, а MySQL — система управления базами данных.
SQL — это язык реляционных баз данных, который используется для доступа к данным и управления ими, MySQL — это реляционная СУБД (система управления базами данных), а также SQL Server, Informix и т. д.
Вопрос 10. Что такое Уникальный ключ?
- Уникально идентифицирует одну строку в таблице.
- В одной таблице допускается несколько уникальных ключей.
- Допускаются значения NULL ( ок.
перевод: зависит от СУБД, в SQL Server значение NULL можно добавить только один раз в поле с UNIQUE KEY
).
Вопрос 11. Что такое внешний ключ?
- Внешний ключ поддерживает ссылочную целостность, обеспечивая связь между данными в двух таблицах.
- Внешний ключ в дочерней таблице ссылается на первичный ключ в родительской таблице.
- Ограничение внешнего ключа предотвращает действия, нарушающие связь между дочерней и родительской таблицами.
Вопрос 12. Что подразумевается под целостностью данных?
Целостность данных определяет точность, а также согласованность данных, хранящихся в базе данных.Он также определяет ограничения целостности, чтобы гарантировать соблюдение бизнес-правил для данных при их вводе в приложение или базу данных.
Вопрос 13. В чем разница между кластеризованными и некластеризованными индексами в SQL?
- Различия между кластеризованными и некластеризованными индексами в SQL:
Кластеризованный индекс используется для простого и быстрого извлечения данных из базы данных, тогда как чтение из некластеризованного индекса происходит относительно медленнее.
- Кластеризованный индекс меняет способ хранения записей в базе данных — он сортирует строки по столбцу, заданному как кластеризованный индекс, тогда как в некластеризованном индексе он не меняет способ хранения, а создает внутри отдельный объект таблица, которая указывает на исходные строки таблицы при поиске.
- Одна таблица может иметь только один кластеризованный индекс, а некластеризованных — множество.
Вопрос 14. Напишите SQL-запрос для отображения текущей даты.
SQL имеет встроенную функцию GetDate(), которая помогает возвращать текущую метку времени/дату.
Вопрос 15. Перечислите виды связей
Существуют различные типы соединений, которые используются для извлечения данных между таблицами.
В основном они делятся на четыре типа, а именно:
Внутреннее соединение (Внутреннее соединение): это наиболее распространенный тип в MySQL. Он используется для возврата всех строк из нескольких таблиц, для которых выполнено условие соединения.
Левое присоединение (Левое соединение): в MySQL используется для возврата всех строк из левой (первой) таблицы и только соответствующих строк из правой (второй) таблицы, для которых выполнено условие соединения.
Право присоединиться (Правое соединение): в MySQL используется для возврата всех строк из правой (второй) таблицы и только соответствующих строк из левой (первой) таблицы, для которых выполнено условие соединения.
Полное присоединение (Полное объединение): возвращает все записи, имеющие совпадения в любой из таблиц.
Таким образом, он возвращает все строки из левой таблицы и все строки из правой таблицы.
Вопрос 16: Что вы подразумеваете под денормализацией?
Денормализация — это метод, который используется для преобразования из высших нормальных форм в низшие.Это помогает разработчикам баз данных повысить производительность всей инфраструктуры, поскольку вносит избыточность в таблицу.
Он добавляет избыточные данные в таблицу при частых запросах к базе данных, которые объединяют данные из разных таблиц в одну таблицу.
Вопрос 17. Что такое сущности и отношения?
Сущности: человек, место или объект в реальном мире, данные о котором могут храниться в базе данных.Таблицы хранят данные, представляющие один тип сущности.
Например, в базе данных банка есть таблица клиентов для хранения информации о клиентах.
Таблица клиентов хранит эту информацию в виде набора атрибутов (столбцов таблицы) для каждого клиента.
Отношение: отношения или связи между сущностями, которые имеют какое-то отношение друг к другу.
Например, имя клиента связано с номером счета клиента и контактной информацией, которые могут находиться в одной таблице.
Между отдельными таблицами также могут существовать связи (например, клиент-счета).
Вопрос 18. Что такое индекс?
Индексы — это метод настройки производительности, который позволяет быстрее извлекать записи из таблицы.Индекс создает отдельную структуру для индексируемого поля и, следовательно, обеспечивает более быстрый поиск данных.
Вопрос 19: Опишите различные типы индексов.
Существует три типа индексов, а именно:
- Уникальный индекс: этот индекс предотвращает наличие повторяющихся значений в поле, если столбец уникально проиндексирован.
Если определен первичный ключ, уникальный индекс может применяться автоматически.
- Кластерный индекс: этот индекс изменяет физический порядок таблицы и выполняет поиск на основе значений ключей.
Каждая таблица может иметь только один кластерный индекс.
- Некластеризованный индекс: не меняет физический порядок таблицы и поддерживает логический порядок данных.
Каждая таблица может иметь множество некластеризованных индексов.
Вопрос 20: Что такое нормализация и каковы ее преимущества?
Нормализация — это процесс организации данных во избежание дублирования и избыточности.Некоторые из преимуществ:
- Лучшая организация базы данных
- Больше таблиц с небольшими строками
- Ээффективный доступ к данным
- Большая гибкость для запросов
- Быстрый поиск информации
- Легче реализовать безопасность данных
- Позволяет легко модифицировать
- Уменьшите избыточность и дублирование данных
- Более компактная база данных
- Обеспечивает согласованность данных после внесения изменений.
Вопрос 21. В чем разница между командами DROP и TRUNCATE?
Команда DROP удаляет саму таблицу, и вы не можете выполнить команду Rollback, тогда как команда TRUNCATE удаляет все строки из таблицы ( ок.перевод: в SQL Server Rollback будет работать нормально, а откат DROP
).
Вопрос 22: Объясните различные типы нормализации.
Существует множество последовательных уровней нормализации.
Это так называемые нормальные формы.
Каждая последующая нормальная форма включает в себя предыдущую.
Обычно бывает достаточно первых трех нормальных форм.
- Первая нормальная форма (1НФ) - отсутствие повторяющихся групп в строках
- Вторая нормальная форма (2НФ) - каждое значение неключевого (резервного) столбца зависит от всего первичного ключа
- Третья нормальная форма (3NF) - каждое неключевое значение зависит только от первичного ключа и не имеет зависимости от другого неключевого значения столбца
Вопрос 23. Что такое свойство ACID в базе данных?
ACID означает атомарность, согласованность, изоляцию и долговечность.Он используется для обеспечения надежной обработки транзакций данных в системе базы данных.
Атомность.
Гарантирует, что транзакция завершится или завершится неудачно, если транзакция представляет собой одну логическую операцию с данными.
Это означает, что в случае сбоя одной части любой транзакции происходит сбой всей транзакции, а состояние базы данных остается неизменным.
Последовательность.
Гарантирует, что данные соответствуют всем правилам проверки.
Проще говоря, вы можете сказать, что ваша транзакция никогда не оставит вашу базу данных в недопустимом состоянии.
Изоляция.
Основная цель изоляции — управление механизмом параллельной модификации данных.
Долговечность.
Долговечность означает, что после фиксации транзакции (COMMIT) изменения, внесенные в транзакцию, сохранятся независимо от того, что может помешать (например, потеря мощности, сбой или ошибки любого рода).
Вопрос 24. Что вы подразумеваете под «триггером» в SQL?
Триггер в SQL — это особый тип хранимой процедуры, предназначенный для автоматического выполнения при изменении данных или после них.Это позволяет выполнять пакет кода при вставке, обновлении или любом другом запросе к определенной таблице.
Вопрос 25. Какие операторы доступны в SQL?
В SQL доступны три типа операторов, а именно:- Арифметические операторы
- Логические операторы
- Операторы сравнения
Вопрос 26: Значения NULL — это то же самое, что ноль или пробел?
Значение NULL не равно нулю или пробелу.Значение NULL представляет собой значение, которое недоступно, неизвестно, назначено или неприменимо, тогда как ноль — это число, а пробел — это символ.
Вопрос 27. В чем разница между перекрестным соединением и естественным соединением?
Перекрестное соединение создает перекрестное или декартово произведение двух таблиц, тогда как естественное соединение основано на том, что все столбцы имеют одинаковые имена и типы данных в обеих таблицах.
Вопрос 28. Что такое подзапрос в SQL?
Подзапрос — это запрос внутри другого запроса, определяющий запрос на получение данных или информации из базы данных.В подзапросе внешний запрос называется основным запросом, тогда как внутренний запрос называется подзапросом.
Подзапросы всегда выполняются первыми, а результат подзапроса передается основному запросу.
Его можно вложить в SELECT, UPDATE или любой другой запрос.
Подзапрос также может использовать любые операторы сравнения, такие как > , <, or =.
Вопрос 29. Какие бывают типы подзапросов?
Существует два типа подзапросов: коррелированные и некоррелированные.
- Связанный подзапрос: Это запрос, который выбирает данные из таблицы со ссылкой на внешний запрос.
Он не считается независимым запросом, поскольку ссылается на другую таблицу или столбец таблицы.
- Некоррелированный подзапрос: этот запрос является независимым запросом, в котором выходные данные подзапроса заменяются в основной запрос.
Вопрос 30. Перечислите способы получения количества записей в таблице?
Чтобы подсчитать количество записей в таблице, вы можете использовать следующие команды: SELECT * FROM table1
SELECT COUNT(*) FROM table1
SELECT rows FROM sysindexes WHERE id = OBJECT_ID(table1) AND indid < 2
Еще 35 вопросов с ответами мы опубликуем в следующей части.
Следите за обновлениями! Теги: #Интервью #subd #sql #MySQL #oracle #ms sql server #Microsoft SQL Server #денормализация #ограничения #DDL #DELETE и TRUNCATE #подмножества SQL #DML #DCL #объединения в SQL #Внутреннее соединение #Правое соединение #Левое соединение #Полное соединение #CHAR и VARCHAR2 #Первичный ключ #Уникальный ключ #Внешний ключ #Уникальный индекс #Кластерный индекс #Некластеризованный индекс #DROP и TRUNCATE #Свойство ACID в базе данных
-
«Ведомости» «Победили» Вконтакте
19 Oct, 24 -
Htc Hero В России: Продажи Снова Отложены
19 Oct, 24 -
Nxweb — Http-Сервер Для Приложений C
19 Oct, 24