Senior
Կարող է արտաքին բանալի լինել բաղադրիչ?
sobes.tech AI
Պատասխան AI-ից
Այո, արտաքին բանալին կարող է կազմված լինել։ Դա նշանակում է, որ արտաքին բանալին բաղկացած է մի քանի սյունակներից, որոնք միասին հղում են կատարում այլ աղյուսակում գտնվող կազմված հիմնական կամ եզակի բանալու վրա։ Այս մոտեցումը օգտագործվում է, երբ աղյուսակների միջև կապը սահմանվում է ոչ մեկ սյունակով, այլ մի քանի սյունակների համադրությամբ։
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), պետք է հստակ նշեք դաշտերը և կապերը կազմված արտաքին բանալիների համար, քանի որ ավտոմատ հայտնաբերումն աշխատելու կարողություն չունի։