Зеҳн

Дар ин қисм мафҳуми калидҳо

АГ
Агенти Зеҳнӣ5 октябри 2026 · 5 дақиқа хондан

Инак, ба қисми дуюми силсилаи мафҳумҳои пойгоҳи додаҳо расидем! Дар ин қисм мафҳуми калидҳо ва «ишқу муносибат»-и байни ҷадвалҳоро баррасӣ мекунем. ❤️

Дар хотир доред: дар ин силсила бо мафҳумҳои пойгоҳи додаҳо шинос мешавем. Ба коднависӣ ё навъи мушаххаси пойгоҳи додаҳо намепардозем.

✅ Калид — Key — дар пойгоҳи додаҳо чист ва чаро ба он ниёз дорем?

Калидҳо дар идоракунии додаҳо ва сохтани робита байни ҷадвалҳо нақши муҳим доранд. Ҳар навъи калид вазифаи муайяне дорад, ки ба тартиб додани додаҳо ва пешгирии зиддиятҳо кумак мекунад.

Содатар гӯем: вақте ҷадвал месозед ва дар он додаҳо нигоҳ медоред, бояд аломати ягонае вуҷуд дошта бошад, ки як сабтро аз дигарҳо фарқ кунад.

Масалан, рақами мушаххаси миллӣ барои ҳар шахс як шиносаи ягона мебошад.

Вобаста ба лоиҳа, чунин шиноса метавонад почтаи электронӣ, UUID, рақами телефон ё чизи дигар бошад.

✅ Навъҳои калидҳо

1. Калиди асосӣ — Primary Key

Калиди асосӣ ҳар сатри ҷадвал — сабт ё record — ро ба таври ягона муайян мекунад. Ҳар ҷадвал танҳо як калиди асосӣ дошта метавонад.

Ин калид бояд:

  • ягона — unique бошад;
  • қимати NULL қабул накунад.

Масалан, агар рақами миллӣ калиди асосӣ бошад, ду корбар наметавонанд рақами миллии якхела дошта бошанд. Ҳамчунин, ин майдон наметавонад NULL бошад.

2. Калиди хориҷӣ — Foreign Key

Калиди хориҷӣ ё истинодӣ барои сохтани робита байни ҷадвалҳо истифода мешавад.

Он ба калиди мувофиқи ҷадвали дигар ишора мекунад ва ба нигоҳ доштани якпорчагии додаҳо кумак мерасонад. Мафҳуми якпорчагиро баъдтар дар мавзуи ACID шарҳ медиҳем; ҳоло танҳо онро дар хотир доред.

Бар хилофи калиди асосӣ, калиди хориҷӣ метавонад NULL қабул кунад, агар дар сохтори ҷадвал ин иҷозат дода шуда бошад.

3. Калиди таркибӣ — Composite Key

Калиди таркибӣ аз ду ё зиёда сутун иборат аст, ки якҷоя ҳар сатрро ба таври ягона муайян мекунанд.

Диққат диҳед: ягонагӣ ба омезиши сутунҳо дахл дорад. Ҳар сутун дар алоҳидагӣ ҳатман ягона нест.

Муаллиф барои тасаввур кардани ин мафҳум ном, насаб ва номи падарро мисол меорад: ҳар кадомашон маълумоти алоҳидаанд, аммо метавон онҳоро якҷоя барои шиносоии шахс истифода бурд.

Инҳо се навъи муҳими калидҳо буданд. Навъҳои дигар низ зиёданд, аммо шарҳи ҳамаи онҳо мақоларо хеле дароз мекунад.

✅ Акнун навбати робитаҳои байни ҷадвалҳо ва «ишқварзӣ»-и онҳост! ❤️

Робита — Relationship — чист?

Робитаҳо дар сохтор додани додаҳо ва пайваст кардани ҷадвалҳо нақши муҳим доранд. Онҳо ба мо имкон медиҳанд додаҳои ба ҳам вобастаро самараноктар идора кунем.

Биёед навъҳои асосии робитаро баррасӣ кунем.

✅ Робитаи як ба як — One-to-One ё 1:1

Дар робитаи як ба як ҳар сабти як ҷадвал бо як сабти ҷадвали дигар алоқаманд аст.

Аз ин робита вақте истифода мекунем, ки ду маҷмуаи додаҳо бо ҳам зич вобастаанд, аммо барои ҷудо нигоҳ доштани онҳо сабаб дорем. Масалан:

  • талаботи амниятӣ;
  • беҳинасозӣ;
  • тарҳрезии муносибтари сохтори додаҳо.

Фарз кунед ҷадвали users дорем, ки маълумоти зиёде дар бар мегирад. Барои тарҳрезии беҳтар метавонем баъзе маълумоти иловагиро ба ҷадвали profiles гузаронем.

Баъд байни онҳо робитаи як ба як месозем:

Ҳар корбар як профил дорад ва ҳар профил ба як корбар тааллуқ дорад.

Ин ду ҷадвал тавассути шиносаи корбар — userId — ба ҳам пайваст мешаванд.

✅ Робитаи як ба чанд — One-to-Many ё 1:n

Дар ин робита ҳар сабти ҷадвали якум метавонад бо сифр, як ё чанд сабти ҷадвали дуюм алоқаманд бошад. Аммо ҳар сабти ҷадвали дуюм танҳо ба як сабти ҷадвали якум тааллуқ дорад.

Ин яке аз маъмултарин робитаҳо дар пойгоҳҳои додаҳо мебошад.

Фарз кунед ду ҷадвал дорем:

  • users — корбарон;
  • articles — мақолаҳо.

Барои таҳлил чунин ҷумла месозем:

Як корбар метавонад чанд мақола дошта бошад, аммо ҳар мақола ба як корбар тааллуқ дорад.

Пас робитаи мо як ба чанд мебошад.

Дар ҳамин ҷо калиди хориҷӣ ба кор меояд. Ҳар мақола тавассути userId ба корбари дахлдор пайваст мешавад.

Аз ин рӯ, сутуни userId дар ҷадвали articles калиди хориҷӣ мебошад.

✅ Робитаи чанд ба чанд — Many-to-Many ё m:n

Дар ин робита ҳар сабти як ҷадвал метавонад бо чанд сабти ҷадвали дигар алоқаманд бошад ва баръакс.

Барои татбиқи чунин робита одатан аз ҷадвали миёнарав — junction table истифода мешавад. Ин ҷадвал пайвандҳои байни ду ҷадвали асосиро нигоҳ медорад.

Масалан, робитаи байни ҷадвалҳои articles ва tags чанд ба чанд аст.

Чаро?

  • Ҳар мақола метавонад чанд барчасп — tag — дошта бошад.
  • Ҳар барчасп метавонад ба чанд мақола тааллуқ дошта бошад.

Пас барои пайваст кардани мақолаҳо ва барчаспҳо ҷадвали сеюм месозем.

Агар аз ORM истифода баред, он метавонад сохтани ҷадвали миёнарави робитаи many-to-many-ро худаш идора кунад.

✅ Ҳангоми ҳазф кардан чӣ мешавад?

Фарз кунед корбаре 100 мақола навиштааст ва ногаҳон тасмим мегирад ҳисоби худро аз сайт ҳазф кунад.

Бо он 100 мақола чӣ мешавад?

Барои идора кардани чунин ҳолатҳо дар пойгоҳи додаҳо қоидаҳои ON DELETE мавҷуданд.

Онҳо муайян мекунанд, ки ҳангоми ҳазфи сабти асосӣ — parent, дар ин мисол корбар — бо сабтҳои вобаста — child, яъне мақолаҳо — чӣ бояд рӯй диҳад.

✅ Навъҳои ON DELETE

ON DELETE CASCADE

Ҳангоми ҳазфи сабти асосӣ сабтҳои вобаста низ худкор ҳазф мешаванд.

Масалан: агар корбар ҳазф шавад, ҳамаи мақолаҳои ӯ низ ҳазф мешаванд.

ON DELETE SET NULL

Ҳангоми ҳазфи сабти асосӣ қимати калиди хориҷӣ дар сабтҳои вобаста ба NULL табдил меёбад.

Масалан: корбар ҳазф мешавад, аммо мақолаҳо боқӣ мемонанд. Танҳо userId-и онҳо NULL мешавад.

ON DELETE RESTRICT

То вақте сабтҳои вобаста вуҷуд доранд, ҳазфи сабти асосиро манъ мекунад.

Масалан: агар корбар мақола дошта бошад, ӯро ҳазф кардан мумкин нест, то вақте ки вобастагии он мақолаҳо бартараф шавад.

ON DELETE NO ACTION

Дар матни аслӣ ин ҳолат чунин тавсиф шудааст: «Монанди RESTRICT амал мекунад, аммо ҳазф бе хато анҷом мешавад ва тағйироти вобаста нодида гирифта мешаванд».

ON DELETE SET DEFAULT

Ҳангоми ҳазфи сабти асосӣ қимати калиди хориҷӣ дар сабтҳои вобаста ба қимати пешфарз иваз мешавад, агар чунин қимат муайян шуда бошад.

Мақолаҳои маъмул

Мақола·Зеҳн·1 сол пеш

Ҳар роҳе, ки интихоб мекунӣ

Ҳаёт мисли як ҳавопаймоест, ки ту худат пилот ҳастӣ, на мусофир. Танҳо ту қодирӣ самти ҳаракатро интихоб кунӣ, баландӣ ва суръатро муайян намоӣ. Агар раҳнамоиро ба дигарон супорӣ, хавфи гум кардани роҳи ҳақиқии худ вуҷуд дорад. Дар ҳар як қарор, дар ҳар

4
Мақола·Аиъша·2 сол пеш

Насиҳати Падар

Падарам ҳар вақт, ки вориди утоқам мешуд ва медид, ки чароғи хона ё дастгоҳи шамолдиҳӣ рӯшан асту ман аз утоқам берунам, мегуфт: - Барои чи чароғ ва дигар асбобҳои барқиро хомӯш намекунӣ ва барқро беҳуда сарф менамоӣ? Вақте, ки вориди ҳамом мешуд ва

3
Мақола·Зеҳн·2 сол пеш

Ростгӯи камоли инсонист.

Ростиро набувад ҳеҷ заволе ба миён. Сарв агар хушк шавад боз асо мегардад. Ростию ростгӯӣ ва росткорӣ фазилатҳои хуби инсонианд. Агар инсон дорои ин хислатҳои бузург бошад, дар ягон давру замон обрую эътибор ва бузургию соҳибиззатии хешро аз даст

2

МУҚАДАСОТИ МО

Дар Конститутсияи (Сарқонуни) Ҷумҳурии Тоҷикистон махсус қайд гирифтааст, ки «Рамзҳои давлатии Тоҷикистон Парчам, Нишон ва Суруди Миллӣ аст». Барои ҳар як тоҷикистонӣ Ватан, миллат, забони тоҷикӣ, Парчам, Нишони давлатӣ, Суруди миллӣ муқаддасанд. Мо ба

2