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 дар ҷадвали маҳсулот ишора мекунад. Ин кафолат медиҳад, ки ҳар фармоиш бо маҳсулоти мавҷуд пайваст аст.