Внешний ключ — это столбец (или набор столбцов) в одной таблице, который ссылается на первичный ключ другой таблицы. Он обеспечивает ссылочную целостность, гарантируя, что значение в дочерней таблице должно существовать в родительской таблице.
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
OrderDate DATE,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
PRIMARY KEY — уникально идентифицирует каждую строку в таблице OrdersCustomerID INT — столбец внешнего ключа, хранящий значение ссылкиFOREIGN KEY (CustomerID) — объявляет, какой столбец выступает внешним ключомREFERENCES Customers(CustomerID) — указывает на родительскую таблицу и её столбец первичного ключаCustomers.CustomerID) должен быть PRIMARY KEY или иметь ограничение UNIQUECustomerID, которого не существует в Customers, вызовет ошибкуFOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
ON DELETE CASCADE
ON UPDATE CASCADE
ON DELETE CASCADE — автоматически удаляет дочерние строки при удалении родительской строкиON UPDATE CASCADE — автоматически обновляет дочерние строки при изменении родительского ключаСтолбец внешнего ключа должен ссылаться на столбец, обозначенный как PRIMARY KEY или имеющий ограничение UNIQUE в родительской таблице.
Новый — ещё не проверен сообществом
Вы