Sobes.tech
Junior

Ключи хориҷӣ чист?

sobes.tech AI

Ҷавоб аз AI

Гадо калид (FOREIGN KEY) — ин ҳадди аққалияти маълумотлар дар базаҳои маълумотии мутақобил мебошад. Он байни ду ҷадвал пайванд месозад, бо ишора ба калиди аввал (ё дигар калиди хориҷӣ) дар ҷадвали дигар.

Функсияҳои асосии гадо калид:

  • Таъмини тамомиҳақиқати ишорашуда: Мувофиқ мекунад, ки арзишҳо дар майдони гадо калид дар майдони ишорашуда дар ҷадвали падар мавҷуданд. Ин пешгирӣ мекунад, ки сабтҳои "мурғоб" пайдо шаванд.
  • Таъсис кардани муносибатҳо байни ҷадвалҳо: Меъёри, ки чӣ гуна маълумот аз ҷадвалҳои гуногун ба ҳам пайваст мешаванд.
  • Ҳаракатҳои каскадӣ: Имкон медиҳад, ки амалҳои автоматӣ (нобуд кардан ё навсозӣ) дар ҷадвали кӯдакон вақте, ки маълумот дар ҷадвали падар тағир меёбад, иҷро шаванд.

Масалан, сохтани гадо калид дар SQL:

CREATE TABLE `фармоишҳо` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `номи_мизоҷ` VARCHAR(255),
    `маҳсулот_ид` INT,
    FOREIGN KEY (`маҳсулот_ид`) REFERENCES `маҳсулот`(`id`)
);

CREATE TABLE `маҳсулот` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `номи_маҳсулот` VARCHAR(255),
    `нарх` DECIMAL(10, 2)
);

Дар ин мисол, маҳсулот_ид дар ҷадвали фармоишҳо гадо калид аст, ки ба id дар ҷадвали маҳсулот ишора мекунад. Ин кафолат медиҳад, ки ҳар фармоиш бо маҳсулоти мавҷуд пайваст аст.