შესაძლებელია ძირითადი გასაღები კომპოზიციური იყოს?
sobes.tech AI
პასუხი AI-სგან
Այո, բաղադրիչ հիմնական բանալին կարող է լինել։ Բաղադրիչ հիմնական բանալին այն է, որը բաղկացած է մի քանի սյունակներից աղյուսակում, որոնք միասին հստակորեն նույնականացնում են գրանցումը:
SQL-ում օրինակ՝
CREATE TABLE Orders (
OrderID INT,
ProductID INT,
Quantity INT,
PRIMARY KEY (OrderID, ProductID)
);
Այստեղ OrderID և ProductID համադրությունը եզակի է և ծառայում է որպես հիմնական բանալին:
Go-ում, ORM-ի հետ աշխատելիս (օրինակ՝ GORM), բաղադրիչ բանալին կարելի է նկարագրել նշանների կամ առանձին կառուցվածքների միջոցով, բայց կարևոր է նկատել, որ բոլոր ORM-ները նույնքան հարմար չեն աջակցում բաղադրիչ բանալիներին:
Բաղադրիչ բանալիները օգտակար են, երբ գրանցման եզակիությունը որոշվում է մի քանի դաշտերի համադրությամբ, ոչ միայն մեկի։ Սակայն դրանց օգտագործումը կարող է բարդացնել հարցումները և սպասարկումը, այդ պատճառով երբեմն ավելի լավ է օգտագործել սուրհոգատային բանալին (օրինակ՝ ավտոմատ աճող ID):