Foreign Key в SQL: Определение, Создание и Применение
Foreign key (внешний ключ) в SQL - это ограничение целостности, которое связывает одну таблицу с другой через поле, которое ссылается на первичный ключ в другой таблице.
Например, мы имеем таблицу "Пользователи" с полями "ID", "Имя", "Адрес электронной почты" и таблицей "Заказы" с полями "ID", "Дата заказа", "Сумма заказа" и полем "ID пользователя". Чтобы связать эти две таблицы, мы можем создать в таблице "Заказы" внешний ключ, который ссылается на поле "ID" в таблице "Пользователи". В этом случае, если мы хотим вставить новый заказ в таблицу "Заказы", мы должны указать существующий "ID пользователя" из таблицы "Пользователи", чтобы наш запрос выполнился успешно.
Вот пример SQL-запроса для создания внешнего ключа:
ALTER TABLE Orders
ADD FOREIGN KEY (UserID) REFERENCES Users(ID);
Этот запрос создаст в таблице "Заказы" внешний ключ с именем "UserID", который ссылается на поле "ID" в таблице "Пользователи".
Также можно добавить дополнительные опции, такие как ON UPDATE и ON DELETE. Например, если мы хотим, чтобы при удалении пользователя, все его заказы также были удалены из таблицы "Заказов", мы можем использовать такой код:
ALTER TABLE Orders
ADD FOREIGN KEY (UserID) REFERENCES Users(ID)
ON DELETE CASCADE;
В этом примере мы добавляем опцию ON DELETE CASCADE, которая удалит все заказы пользователя из таблицы "Заказов", когда пользователь будет удален из таблицы "Пользователи".
Таким образом, внешний ключ в SQL позволяет нам связывать таблицы между собой и ограничивать целостность данных в базе данных. Это важный и полезный инструмент для работы с таблицами в SQL.