Sobes.tech
Junior — Middle

Կարո՞ղ է սահմանվել կոմպոզիտային հիմնական բանալի, որը օգտագործում է մի քանի հատկություններ տվյալների բազայի աղյուսակում:

sobes.tech AI

Պատասխան AI-ից

Այո, հարաբերական տվյալների բազաներում հնարավոր է սահմանել կոմպոզիտային (կոմպոզիտ) հիմնական բանալին, որը բաղկացած է մի քանի հատկություններից (սյունակներից): Այդպիսի բանալին ապահովում է այդ սյունակների արժեքների համակցման յուրահատուկությունը:

SQL-ում կոմպոզիտային հիմնական բանալու հետ աղյուսակ ստեղծելու օրինակ՝

CREATE TABLE պատվերներ (
    պատվերի_համար INT,
    ապրանքի_համար INT,
    քանակություն INT,
    PRIMARY KEY (պատվերի_համար, ապրանքի_համար)
);

Այստեղ հիմնական բանալին բաղկացած է երկու սյունակներից՝ պատվերի_համար և ապրանքի_համար: Դա նշանակում է, որ յուրաքանչյուր արժեքների զույգ պետք է լինի յուրահատուկ, բայց պատվերի_համար կամ ապրանքի_համար միայնակ կարող են կրկնվել:

Կոմպոզիտային բանալիները հաճախ օգտագործվում են "շատ-շատ" հարաբերություններ մոդելավորելու կամ միաժամանակ մի քանի դաշտերի յուրահատուկությունը ապահովելու համար։