Может ли внешний ключ быть составным?

Да, внешний ключ может быть составным.

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Пример в SQL:

CREATE TABLE Orders (
    OrderID int,
    ProductID int,
    PRIMARY KEY (OrderID, ProductID)
);

CREATE TABLE Shipments (
    ShipmentID int PRIMARY KEY,
    OrderID int,
    ProductID int,
    FOREIGN KEY (OrderID, ProductID) REFERENCES Orders(OrderID, ProductID)
);

В контексте Golang, если вы работаете с ORM (например, GORM), то для составных внешних ключей нужно явно указывать поля и связи, так как автоматическое определение может не сработать.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку