Sobes.tech
Junior

Ի՞նչ են տվյալների բազայում բանալիները։

sobes.tech AI

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

Տվյալների բազայում բանալին մի կամ մի քանի դաշտեր (սյուներ) են աղյուսակի, որոնք ծառայում են գրանցումների (սյունակների) եզակի նույնականացման կամ աղյուսակների միջև կապեր հաստատելու համար:

Բանալի տեսակներ՝

  • Հիմնական բանալի (Primary Key; PK):
    • Յուրաքանչյուր գրանցումը եզակի նույնականացնում է աղյուսակում:
    • Չպետք է պարունակի NULL արժեքներ:
    • Մի աղյուսակում կարող է լինել միայն մեկ հիմնական բանալի:
  • Արտաքին բանալի (Foreign Key; FK):
    • Կապ հաստատում է երկու աղյուսակների միջև, հղում կատարելով մյուս աղյուսակի հիմնական կամ եզակի բանալին:
    • Գերաշխավորում է հղման ամբողջականությունը՝ ապահովելով հղումային գրանցման գոյությունը:
  • Ենթակա բանալի (Unique Key; UK):
    • Գերաշխավորում է նշված դաշտերի արժեքների եզակիությունը, բայց կարող է պարունակել NULL արժեքներ (սովորաբար ոչ ավելի քան մեկ NULL):
    • Մի աղյուսակում կարող են լինել մի քանի եզակի բանալիներ:
  • Արդար թեկնածու բանալի (Candidate Key):
    • Յուրաքանչյուր նվազագույն դաշտերի հավաքածու, որը կարող է եզակի նույնականացնել գրանցումը:
    • Ներկայից թեկնածու բանալիներից մեկը ընտրվում է որպես հիմնական բանալի:
  • Սուպեր բանալի (Super Key):
    • Դաշտերի հավաքածու, որը կարող է եզակի նույնականացնել գրանցումը:
    • Թեկնածու բանալին ամենափոքր սուպեր բանալին է:

Օրինակ՝ արտաքին բանալի օգտագործելու համար՝

CREATE TABLE Orders (
    order_id INT PRIMARY KEY, -- Հիմնական բանալի Orders աղյուսակի համար
    customer_id INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id) -- Արտաքին բանալի, որը հղում է անում Customers աղյուսակին
);

CREATE TABLE Customers (
    customer_id INT PRIMARY KEY, -- Հիմնական բանալի Customers աղյուսակի համար
    customer_name VARCHAR(255)
);