Как добавить внешний ключ sql

Чтобы добавить внешний ключ в SQL, вы можете использовать оператор ALTER TABLE вместе с ключевым словом ADD CONSTRAINT. Ниже приведен пример:


ALTER TABLE Orders
ADD CONSTRAINT FK_OrderCustomer
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
  

В приведенном примере мы добавляем внешний ключ с именем FK_OrderCustomer в таблицу Orders. Внешний ключ ссылается на поле CustomerID в таблице Customers. Это означает, что значение поля CustomerID в таблице Orders должно существовать в поле CustomerID в таблице Customers.

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

Как добавить внешний ключ SQL

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

Чтобы добавить внешний ключ в SQL, следуйте указанным ниже шагам:

1. Создание таблиц

Прежде всего, нужно создать две связанные таблицы. Для примера рассмотрим таблицы "Orders" и "Customers". Таблица "Orders" будет ссылаться на таблицу "Customers" с помощью внешнего ключа.


CREATE TABLE Customers (
    customer_id INT PRIMARY KEY,
    customer_name VARCHAR(50)
);

CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    order_date DATE,
    customer_id INT,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
);
    

В примере выше мы создали таблицу "Customers" с двумя столбцами "customer_id" и "customer_name". Затем мы создали таблицу "Orders" с тремя столбцами "order_id", "order_date" и "customer_id", последний из которых является внешним ключом, который ссылается на столбец "customer_id" таблицы "Customers".

2. Добавление внешнего ключа

Чтобы добавить внешний ключ, используйте оператор ALTER TABLE с ключевым словом ADD FOREIGN KEY.


ALTER TABLE Orders
ADD FOREIGN KEY (customer_id) REFERENCES Customers(customer_id);
    

Этот код добавляет внешний ключ "customer_id" в таблицу "Orders", который ссылается на столбец "customer_id" таблицы "Customers". Теперь таблицы "Orders" и "Customers" связаны воедино.

3. Проверка внешнего ключа

Чтобы убедиться, что внешний ключ работает правильно, можно выполнить простую проверку. Попытайтесь вставить запись в таблицу "Orders" с несуществующим значением в столбце "customer_id". Если внешний ключ настроен правильно, такая операция будет отклонена.


INSERT INTO Orders (order_id, order_date, customer_id)
VALUES (1, '2022-01-01', 10);
    

Если вы выполните приведенный выше код, получите ошибку о нарушении целостности, так как значение "customer_id" равно 10, которое отсутствует в таблице "Customers".

4. Удаление внешнего ключа

Если вам потребуется удалить внешний ключ позже, вы можете воспользоваться оператором ALTER TABLE с ключевым словом DROP CONSTRAINT.


ALTER TABLE Orders
DROP CONSTRAINT orders_customer_id_fkey;
    

В примере выше удаляется внешний ключ "orders_customer_id_fkey" из таблицы "Orders".

Заключение

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

Видео по теме

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

Создание Foreign key - внешний ключ - для PostgreSQL (2021)

Базы данных. SQL. MySQL: Внешние ключи

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

Как найти однофамильцев в SQL: легкий способ для начинающих

Как добавить внешний ключ sql

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

🔐 Как настроить автоматическое резервное копирование в SQL Server

🔍 Как комментировать в SQL Server и зачем это нужно