Ответ на вопрос SQL
Описание
Этот документ представляет собой набор вопросов с короткими и простыми ответами, полезными для изучения SQL, а также для интервью.
Что такое СУБД?
СУБД расшифровывается как «Система управления базами данных». СУБД - это программный пакет с компьютерными программами. СУБД - это программа базы данных. С технической точки зрения, это программная система, которая использует стандартный метод каталогизации, поиска и выполнения запросов к данным. СУБД управляет входящими данными, организует их и предоставляет способы изменения или извлечения данных пользователями или другими программами. База данных - это интегрированная коллекция записей данных, файлов и других объектов. СУБД могут использовать различные модели баз данных, такие как реляционная модель, иерархическая модель и сетевая модель. Некоторые примеры СУБД: MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker, Oracle, RDBMS, dBASE, Clipper и FoxPro.
Что такое СУБД?
RDBMS, расшифровывается как Relational Database Management System - это информационная система, которая представляет информацию в виде строк, содержащихся в наборе таблиц, причем каждая таблица содержит набор из одного или нескольких столбцов. Доступ к данным или их повторная сборка могут осуществляться различными способами без необходимости изменения форм таблиц. Э. Ф. Кодд описал элементы реляционной базы данных как отношения, атрибуты, домены и операторы отношений.
Термин отношение используется для описания этих таблиц, который является более точным способом определения, чем традиционный термин обработки данных «файл» или «таблица».
В чем разница между СУБД и СУБД?
СУБД можно сделать сервером. Он соединяет больше систем, но СУБД работает только в хост-системе, СУРБД имеют нормализацию. Нормализация означает повторное определение избыточного и сохранение стабилизации. СУБД не имеет концепции нормализации.
СУБД - это широкая область обслуживания баз данных, которая также включает другие модели баз данных, такие как сетевая модель, объектно-ориентированная модель базы данных и модель отношений. Здесь модель отношений называется RDBMS. СУБД хранит данные в виде таблиц (набор строк и столбцов). Нормализация делает информацию лишней.
СУБД является однопользовательской базой данных, она не поддерживает правила EFCodd и не допускает взаимосвязи между таблицами. СУБД является многопользовательской базой данных, она поддерживает правила EFCodd и позволяет связывать таблицы
Что такое сущность?
Сущность - это любой объект, место, лицо, понятие, деятельность, о которой предприятие записывает данные. Это объект, который может иметь экземпляры или вхождения. Каждый экземпляр должен быть уникальным. Каждый объект имеет определенные свойства или атрибуты, связанные с ним, и операции, применимые к нему.
Что такое атрибуты?
Атрибуты - это элементы данных, которые описывают сущность. Если атрибут объекта имеет больше атрибутов, которые его описывают, то это не атрибут этого объекта, а другой объект. Атрибуты могут быть перечислены рядом с объектами или помещены в круги и прикреплены к объектам.
Объясните отношения один-к-одному на примере?
Для одного вхождения первого объекта может быть не более одного связанного вхождения второго объекта, а для одного вхождения второго субъекта может быть не более одного связанного вхождения второй записи.
Например, таблица «Заказ и покупка», одна заявка на покупку поднимает один заказ на покупку, а одна заявка на покупку поднимается на одну заявку.
Объясните отношения один-ко-многим с примером?
В отношениях один ко многим могут быть реализованы данные в две таблицы с отношением первичного ключа и внешнего ключа. Для одного вхождения первого объекта может существовать множество связанных вхождений второго объекта, и для каждого вхождения второго объекта существует только одно ассоциированное вхождение первого объекта. Например, таблица «Сотрудники» и «Отделы», где на строку в таблице «Отделы» ссылается одна или несколько строк в таблице «Сотрудники». Таким образом, в отношениях «один ко многим» - один сотрудник работает в одном отделе, но в одном отделе может быть много сотрудников.
Объясните отношения «многие ко многим» с примером?
Для одного вхождения первого объекта может существовать множество связанных вхождений второго объекта, а также для каждого вхождения второго объекта может существовать множество связанных вхождений первого объекта.
Например, предположим, что у нас есть два порядка таблицы и элемент - отсюда мы можем объяснить эту взаимосвязь таким образом, что один заказ может содержать много элементов, а один элемент может содержаться во многих заказах.
Что такое нормализация?
Нормализация - это процесс уточнения модели данных, построенной по диаграмме сущности-отношения. Метод нормализации логически группирует данные по нескольким таблицам, которые являются независимыми и не содержат повторяющихся данных. Сущности или таблицы, полученные в результате нормализации, содержат простые элементы данных, а отношения представлены репликацией ключевых элементов данных. Нормализация включает в себя разделение больших таблиц на более мелкие таблицы и определение отношений между ними. Необходимость нормализации заключается в улучшении структуры базы данных, обеспечении минимальной избыточности данных, уменьшении необходимости реорганизации данных при изменении или улучшении структуры, устранении аномалий для действий базы данных. Первым шагом к нормализации является преобразование модели ER (сущность - отношение) в таблицы или отношения. Следующим шагом является проверка таблиц на избыточность и, если необходимо, изменение их на не избыточные формы. Эта не избыточная модель затем преобразовала определение базы данных, которое достигает цели этапа проектирования базы данных.
Как реализовать отношения один-к-одному, один-ко-многим и многие-ко-многим при разработке таблиц?
Отношение один-к-одному может быть реализовано в виде одной таблицы и редко в виде двух таблиц с отношениями первичного и внешнего ключей. Отношения «один ко многим» реализуются путем разделения данных на две таблицы с отношениями первичного ключа и внешнего ключа.
Отношения «многие ко многим» реализуются с использованием соединительной таблицы с ключами из обеих таблиц, образующих составной первичный ключ соединительной таблицы.
Что такое UDF (пользовательская функция)?
Функция - это подпрограмма, которая возвращает значение и должна иметь возвращаемое значение. Функция имеет схожую структуру процедуры - спецификацию и тело. Спецификация функции начинается с ключевого слова FUNCTION и заканчивается предложением RETURN, которое указывает тип данных значения результата.
Что такое хранимая процедура?
Процедура может быть сохранена в базе данных как хранимые программы и может быть вызвана при необходимости. Это позволяет избежать повторного анализа, когда несколько пользователей вызывают его. Это также обеспечивает контроль безопасности и целостности, предоставляя доступ к подпрограмме, а не непосредственно к объектам базы данных. Процедура хранения имеет декларативную часть, исполняемую часть и необязательную часть обработки исключений. Декларативная часть может содержать объявления типов, курсоров, констант, переменных, исключений и вложенных подпрограмм.
В чем разница между функцией и хранимой процедурой?
Функция может использоваться в операторе выбора SQL, но процедура не может быть использована. Функция создается с помощью команды CREATE FUNCTION и процедуры, созданной с помощью команды CREATE PROCEDURE. Функция должна иметь предложение return и используется для возврата элемента управления вызывающей стороне. Принимая во внимание, что оператор return также может использоваться в процедурах, но он не должен содержать никаких выражений и возвращает управление вызывающей стороне до достижения нормального конца процедуры.
Что такое PL / SQL?
PL / SQL (процедурный язык / SQL) является расширением непроцедурного SQL. Этот язык включает в себя множество функций и конструкций языка программирования. Он сочетает в себе возможности манипулирования данными SQL с мощью обработки данных процедурных языков. PL / SQL позволяет использовать все команды управления данными SQL, управления курсором и управления транзакциями, а также все функции, операторы и псевдоколонки SQL. Он обеспечивает повышение производительности за счет блокировки вызовов СУБД и поддерживает функции подпрограмм, такие как процедуры и функции.
Какие курсоры?
Курсор - это конструкция PL / SQL, которая позволяет пользователю называть частные рабочие области и получать доступ к их сохраненной информации. Конструкция PL / SQL для идентификации каждой используемой рабочей области называется курсором.
Есть два типа курсора - неявный и явный. Неявные курсоры объявляются PL / SQL неявно для всех операторов DML и для однострочных запросов, то есть операторы SELECT используются непосредственно в блоке BEGIN и END. Явные курсоры объявляются в явном виде вместе с другими идентификаторами, которые будут использоваться в блоке, и манипулируются с помощью соответствующих операторов, записанных в исполняемые действия блока. Явные курсоры используются только для запросов и позволяют обрабатывать несколько строк из запросов. Манипуляции с курсором выполняются с помощью операторов DECLARE, OPEN, FETCH и CLOSE. Объявление курсора, имя курсора дается, а также определяет структуру запроса, который будет выполняться на нем. Оператор CURSOR используется для объявления курсора. После выполнения выполнения курсор может быть открыт. После открытия курсора строки, возвращаемые запросом, доступны для извлечения. После открытия курсора текущая строка загружается в переменные, а курсор указывает на текущую строку. Извлечение данных выполняется с помощью оператора FETCH, и каждая выборка заставляет курсор перемещать свой указатель на следующую строку в активном наборе. При закрытии курсора рабочий набор строк освобождается при последнем открытии курсора.
Что такое триггер?
Триггер - это сохраненный программный модуль PL / SQL, связанный с конкретной таблицей базы данных. В отличие от хранимых процедур (или функций), которые должны явно вызываться, эти триггеры неявно запускаются (выполняются) всякий раз, когда на таблицу влияет какая-либо операция SQL.
Триггеры выполняются, когда для связанной таблицы выдается инструкция INSERT, UPDATE или DELETE. Эти типы процедур называются триггерами базы данных. Триггер может включать в себя операторы SQL и PL / SQL, выполняемые как единое целое, и может вызывать другие хранимые процедуры. Однако процедуры и триггеры отличаются тем, как они вызываются. Хотя процедура явно выполняется пользователем или приложением, триггер неявно запускается (выполняется), когда запускается инициирующий оператор INSERT, UPDATE или DELETE, независимо от того, какой пользователь подключен или какое приложение используется.
Триггер базы данных состоит из трех частей: триггерное событие, ограничение триггера (необязательно) и действие триггера.
Что такое вид?
В СУБД представление - это виртуальная таблица, поскольку она не существует сама по себе, а представляется пользователю, как если бы она существовала. Базовая таблица - это реальная таблица, которая существует в физической памяти. Представление не имеет собственных физически сохраненных данных, но извлекает данные из таблицы, с которой оно связано. Он манипулирует данными в базовой базовой таблице.
Представления ограничивают доступ к базе данных. ВЫБОР из вида может отображать ограниченную часть базы данных.
Поскольку представление не хранит никаких данных, проблема избыточности не возникает. VIEWS позволяет пользователям делать простые запросы для извлечения результатов из сложных запросов.
Что такое индекс?
Индексы обеспечивают быстрый доступ к индексированным столбцам. Индексы используются для ссылки на записи во всех операторах SQL, а не только в запросе.
Индексы хранятся отдельно от фактических данных. Индексы используются для ускорения процессов и обеспечения отсутствия повторяющихся значений в столбце. При каждой манипуляции с данными соответствующий индекс автоматически обновляется. Если данные статичны и интенсивно запрашиваются, то поможет больше индексов. Если данные являются динамическими, большое количество обновлений столбцов индекса будет замедлять обновления. Будет лучше и быстрее, если сначала загрузятся данные, а затем будет создан индекс.
Индекс не нужно активировать или деактивировать.
При использовании нескольких столбцов может быть проиндексировано до 16 столбцов или максимум 255 символов пространства столбцов.
Что такое транзакция?
Транзакция - это последовательность из одного или нескольких операторов SQL, которые вместе образуют логическую единицу работы. Каждый оператор в транзакции выполняет часть задачи, но все они необходимы для выполнения задачи. Все операторы, формирующие транзакцию, должны быть выполнены, чтобы база данных находилась в согласованном состоянии. Транзакция происходит при изменении базы данных. Две операции SQL, которые поддерживают обработку транзакций, - это операция COMMIT и операция ROLLBACK.
COMMIT означает успешное завершение транзакции и сообщает СУБД, что логическая единица работы успешно завершена. База данных снова находится в согласованном состоянии, и все обновления, сделанные этой транзакцией, были постоянными.
ROLLBACK указывает на неудачный конец транзакции и сообщает СУБД, что что-то пошло не так, и база данных может находиться в несогласованном состоянии. Все обновления, сделанные в результате транзакции, отменены.
Надеюсь, что этот вопрос и ответ оказались полезными для вас. Подпишитесь на нашу RSS-ленту, так как сотни подобных вопросов находятся в стадии разработки. Спасибо за прочтение.
Упражнения по SQL
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Предыдущая: SQL-инъекция
Новый контент: Composer: менеджер зависимостей для PHP , R программирования