Что такое foreign key sql: ключевые понятия и применение

Инструкция "FOREIGN KEY" в SQL используется для установления связи между двумя таблицами.

Ключевое слово "FOREIGN KEY" определяет столбец или столбцы в дочерней таблице, которые связаны с первичным ключом в родительской таблице.

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

        
            CREATE TABLE Родитель (
                id INT PRIMARY KEY,
                данные VARCHAR(50)
            );

            CREATE TABLE Дочерний (
                id INT PRIMARY KEY,
                родитель_id INT,
                FOREIGN KEY (родитель_id) REFERENCES Родитель(id)
            );
        
    

В приведенном выше примере, столбец "родитель_id" в дочерней таблице ссылается на столбец "id" в родительской таблице.

Детальный ответ

Что такое foreign key в SQL?

При разработке баз данных одним из важных аспектов является возможность установления связей между таблицами. Для этого используется такое понятие как foreign key (внешний ключ). В этой статье мы рассмотрим, что такое foreign key в SQL и как он используется для создания связей между таблицами.

Определение foreign key

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

Создание связей с помощью foreign key

Для создания связей между таблицами используется оператор ALTER TABLE. Рассмотрим пример:

CREATE TABLE Сотрудники (
    id INT PRIMARY KEY,
    имя VARCHAR(50),
    отдел_id INT,
    FOREIGN KEY (отдел_id) REFERENCES Отделы(id)
);

CREATE TABLE Отделы (
    id INT PRIMARY KEY,
    название VARCHAR(50)
);

В приведенном выше примере у нас есть две таблицы - "Сотрудники" и "Отделы". Столбец "отдел_id" в таблице "Сотрудники" является внешним ключом, который ссылается на столбец "id" в таблице "Отделы". Таким образом, мы создаем связь между этими двумя таблицами.

Виды связей с использованием foreign key

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

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

Целостность данных с foreign key

Использование foreign key позволяет обеспечить целостность данных в базе данных. Он гарантирует, что значения в столбце внешнего ключа существуют в столбце первичного ключа связанной таблицы. Если внешний ключ ссылается на несуществующее значение, то операции INSERT или UPDATE будут отклонены или вызовут ошибку.

Дополнительные операции с foreign key

В дополнение к созданию связей между таблицами, foreign key также поддерживает некоторые дополнительные операции:

  • ON DELETE: Позволяет указать, что произойдет с записями в таблице, когда запись, на которую ссылается foreign key, будет удалена. Например, ON DELETE CASCADE означает, что при удалении записи в таблице "Отделы", все соответствующие записи в таблице "Сотрудники" также будут удалены.
  • ON UPDATE: Позволяет указать, что произойдет с записями в таблице, когда значение первичного ключа в связанной таблице будет обновлено.

Заключение

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

Видео по теме

Начальный курс SQL.Первичный ключ и внешний ключ Типы связей между таблицами

11 - Внешние ключи (Foreign Keys) - Уроки PostgreSQL

Первичный ключ, внешний ключ, суррогатный ключ / Илья Хохлов

Похожие статьи:

🔍 Как отсортировать данные по возрастанию и убыванию в SQL?

Как вычесть время в SQL: полезные советы для работы с временем

Как объединить запросы в SQL: руководство по объединению запросов в базе данных

Что такое foreign key sql: ключевые понятия и применение

Как сделать выборку по дате в SQL: подробное руководство для начинающих

Как запустить обозреватель SQL Server: подробное руководство для начинающих

Как переименовать таблицу в SQL: простой и эффективный способ