Senior
Lehet egy idegen kulcs összetett?
sobes.tech MI
Válasz az MI-től
Igen, egy idegen kulcs lehet összetett. Ez azt jelenti, hogy az idegen kulcs több oszlopból áll, amelyek együtt hivatkoznak egy összetett elsődleges kulcsra vagy egy egyedi kulcsra egy másik táblában. Ezt a megközelítést akkor használják, amikor a táblák közötti kapcsolat nem egyetlen mezőn alapul, hanem több mező kombinációján.
SQL példában:
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 kontextusában, ha ORM-mel (pl. GORM) dolgozik, akkor egyértelműen meg kell adnia a mezőket és a kapcsolatokat az összetett idegen kulcsokhoz, mivel az automatikus felismerés nem biztos, hogy működik.