Пойгоҳи додаҳо ва SQL бо PostgreSQL

Китоби омӯзишии SQL ва PostgreSQL барои навомӯзон: аз мафҳуми пойгоҳи додаҳои релятсионӣ ва насби PostgreSQL бо Docker то SELECT, навъҳои додаҳо, JOIN, тарҳрезии ҷадвалҳо, гурӯҳбандӣ, CTE, функсияҳои равзанавӣ, транзаксияҳо ва индексҳо. Ҳамаи мисолҳо дар PostgreSQL 18 санҷида шудаанд; дар охири бобҳо машқҳо ва дар замима ҷавобҳо оварда шудаанд.
Агенти Зеҳнӣ · 19 октябри 2026 · 14 саҳифа
Боби 1. Пойгоҳи додаҳои релятсионӣ
Пойгоҳи додаҳои релятсионӣ аз соли 1970 боз вуҷуд дорад. Он ҳамоно соҳаи дорои гардиши миллиардҳо доллар буда, навъи аз ҳама бештар истифодашавандаи пойгоҳи додаҳо боқӣ мондааст. Он тағйироти ҷаҳони пойгоҳҳои додаҳоро паси сар карда, аз озмоиши вақт гузаштааст ва қисми ҷудонашавандаи зиндагии ҳаррӯзаи мост.
Эҳтимоли зиёд дорад, ки ҳар дафъа ҳангоми харидани мол аз интернет ё мағозаи маҳаллӣ, тарҳрезии сафар тавассути интернет ё ширкати сайёҳӣ, ба амонат гирифтани китоб аз китобхона ё фармоиш додани хӯрок бо барномаи телефони мобилӣ, шумо аз пойгоҳи додаҳои релятсионӣ истифода мебаред.
Пойгоҳи додаҳо чист?
Тавре эҳтимол медонед, пойгоҳи додаҳо маҷмӯи мураттаби додаҳоест, ки барои моделсозии ягон ташкилот ё раванди фаъолияти он истифода мешавад.
Фарқ надорад, ки барои ҷамъоварӣ ва нигоҳдории додаҳо аз ҷадвалҳои электронӣ истифода мебаред ё аз барномаи махсуси пойгоҳи додаҳо дар компютер. Агар додаҳоро бо тартиби муайян ва барои ҳадафи мушаххас ҷамъ оваред, шумо пойгоҳи додаҳо доред. Дар идомаи ин баҳс фарз мекунем, ки барои ҷамъоварӣ ва нигоҳдории додаҳо аз барномаи компютерӣ истифода мебаред.
Дар идоракунии пойгоҳҳои додаҳо ду навъро ҷудо мекунанд: пойгоҳҳои додаҳои амалиётӣ ва пойгоҳҳои додаҳои таҳлилӣ.
Пойгоҳҳои додаҳои амалиётӣ такягоҳи бисёр ширкатҳо, ташкилотҳо ва муассисаҳои саросари ҷаҳон мебошанд. Ин навъи пойгоҳ асосан барои коркарди фаврии транзаксияҳо — OLTP (Online Transaction Processing) истифода мешавад. Яъне дар ҳолатҳое, ки ҷамъоварӣ, тағйир додан ва нигоҳдории ҳаррӯзаи додаҳо зарур аст.
Додаҳои дар пойгоҳи амалиётӣ нигоҳдошташуда динамикӣ мебошанд: онҳо пайваста тағйир меёбанд ва ҳамеша маълумоти навтаринро инъикос мекунанд. Мағозаҳои чаканафурӯшӣ, ширкатҳои истеҳсолӣ, беморхонаҳо, дармонгоҳҳо ва нашриётҳо аз пойгоҳҳои додаҳои амалиётӣ истифода мебаранд, зеро додаҳои онҳо доимо дар ҳоли тағйирёбӣ ҳастанд.
Баръакс, пойгоҳҳои додаҳои таҳлилӣ асосан барои коркарди фаврии таҳлилӣ — OLAP (Online Analytical Processing) истифода мешаванд. Дар чунин ҳолатҳо зарурати нигоҳдорӣ ва пайгирии додаҳои таърихӣ ва ба вақт вобаста вуҷуд дорад.
Пойгоҳи додаҳои таҳлилӣ ҳангоми пайгирии тамоюлҳо, баррасии маълумоти оморӣ дар давраи тӯлонӣ ва таҳияи пешбиниҳои тактикӣ ё стратегии тиҷоратӣ воситаи арзишманд аст. Ин навъи пойгоҳ додаҳои статикӣ, яъне додаҳоеро нигоҳ медорад, ки ҳеҷ гоҳ ё хеле кам тағйир дода мешаванд.
Маълумоте, ки аз пойгоҳи таҳлилӣ ба даст меояд, ҳолати додаҳоро дар лаҳзаи муайяни вақт инъикос мекунад. Озмоишгоҳҳои кимиёӣ, ширкатҳои геологӣ ва ширкатҳои таҳлили бозор аз ҷумлаи ташкилотҳое мебошанд, ки чунин пойгоҳҳоро истифода мебаранд.
Пойгоҳҳои додаҳои таҳлилӣ аксар вақт додаҳои пойгоҳҳои амалиётиро ҳамчун манбаи асосӣ истифода мекунанд. Аз ин рӯ, байни онҳо то андозае робита вуҷуд дошта метавонад. Бо вуҷуди ин, пойгоҳҳои амалиётӣ ва таҳлилӣ ниёзҳои мушаххасу гуногуни коркарди додаҳоро қонеъ мекунанд ва сохтани сохтори онҳо усулҳои куллан гуногуни тарҳрезиро талаб мекунад.
Дар ин китоб асосан бо пойгоҳҳои додаҳои амалиётӣ кор мекунем, зеро онҳо ҳамоно навъи аз ҳама бештар истифодашавандаи пойгоҳи додаҳо дар ҷаҳон мебошанд: ҷадвалҳоро тарҳрезӣ мекунем, додаҳо ворид мекунем ва онҳоро бо транзаксияҳо тағйир медиҳем. Аммо SQL-е, ки меомӯзед, барои таҳлил низ ба кор меояд — дар бобҳои 6, 9 ва 10 бо ҳамон дархостҳо ҷамъ, медиана, тамоюлҳо ва рейтингҳо ҳисоб мекунем.
Пойгоҳи додаҳои релятсионӣ
Ғояи пойгоҳи додаҳои релятсионӣ соли 1969 ба вуҷуд омад ва он то имрӯз яке аз моделҳои маъмултарини пойгоҳи додаҳо дар соҳаи идоракунии додаҳо мебошад.
Бунёдгузори модели релятсионӣ, доктор Эдгар Ф. Кодд, дар охири солҳои 1960 пажӯҳишгари ширкати IBM буд. Ӯ он замон роҳҳои нави кор бо ҳаҷми зиёди додаҳоро меомӯхт.
Норозигии ӯ аз моделҳо ва маҳсулоти пойгоҳи додаҳои он давра водор кард, ки дар бораи истифодаи соҳаҳо ва сохторҳои математика барои ҳалли мушкилоти сершумори дучоромадааш андеша кунад. Ӯ, ки аз рӯйи касб математик буд, боварии қавӣ дошт, ки бо истифода аз бахшҳои муайяни математика мушкилоти зеринро ҳал кардан мумкин аст:
- такрори нолозими додаҳо;
- заиф будани якпорчагии додаҳо;
- вобастагии аз ҳад зиёди сохтори пойгоҳи додаҳо ба тарзи татбиқи физикии он.
Доктор Кодд модели нави релятсионии худро моҳи июни соли 1970 дар мақолаи бунёдие бо номи «Модели релятсионии додаҳо барои бонкҳои бузурги додаҳои муштарак» расман муаррифӣ кард.[1]
Ӯ модели худро бар ду бахши математика — назарияи маҷмӯаҳо ва мантиқи предикатҳои тартиби якум — асос гузошт. Дар асл, номи модел аз истилоҳи математикии relation, яъне «муносибат», гирифта шудааст, ки ба назарияи маҷмӯаҳо тааллуқ дорад.
Тасаввури нодурусти маъмуле вуҷуд дорад, ки гӯё модели релятсионӣ номи худро аз он гирифтааст, ки ҷадвалҳои пойгоҳи додаҳо метавонанд бо ҳам робита дошта бошанд.
[1] Эдгар Ф. Кодд, «A Relational Model of Data for Large Shared Databanks», маҷаллаи Communications of the ACM, июни 1970, саҳ. 377–387.
Пойгоҳи додаҳои релятсионӣ додаҳоро дар муносибатҳо нигоҳ медорад, ки корбар онҳоро ҳамчун ҷадвалҳо мебинад. Ҳар муносибат аз кортежҳо, яъне сабтҳо, ва атрибутҳо, яъне майдонҳо, иборат аст. Дар идомаи китоб ман истилоҳҳои «ҷадвал», «сабт» ва «майдон»-ро истифода мебарам.
Тартиби физикии сабтҳо ё майдонҳо дар ҷадвал аҳаммият надорад. Ҳар сабти ҷадвал тавассути майдоне шинохта мешавад, ки қимати ягона дорад. Ин ду хусусияти пойгоҳи додаҳои релятсионӣ имкон медиҳанд, ки додаҳо аз тарзи нигоҳдории физикиашон дар компютер мустақил бошанд. Аз ин рӯ, барои гирифтани додаҳои сабт ба корбар донистани ҷойгиршавии физикии он лозим нест.
Модели релятсионӣ робитаҳоро ба се навъ ҷудо мекунад:
- як-ба-як;
- як-ба-бисёр;
- бисёр-ба-бисёр.
Ин робитаҳо дар боби 7 муфассал баррасӣ мешаванд.
Робитаи байни ду ҷадвал тавассути мувофиқат кардани қиматҳои майдони муштараки онҳо ба вуҷуд меояд.
Масалан, дар расми зерин ҷадвалҳои CLIENTS — муштариён — ва AGENTS — намояндагон — робитаи як-ба-бисёр доранд ва тавассути майдони AGENT ID ба ҳам пайваст мешаванд. Як намояндаи муайян тавассути қимати мувофиқи AGENT ID бо як ё чанд муштарӣ алоқаманд мешавад.
Ба ҳамин монанд, ҷадвалҳои ENTERTAINERS — ҳунармандон — ва ENGAGEMENTS — барномаҳои ҳунарии фармоишшуда — низ робитаи як-ба-бисёр доранд ва тавассути ENTERTAINER ID пайваст мешаванд. Як ҳунарманд дар ҷадвали ENTERTAINERS метавонад тавассути қиматҳои мувофиқи ENTERTAINER ID бо як ё чанд барномаи ҷадвали ENGAGEMENTS алоқаманд бошад.
Агар корбар робитаҳои байни ҷадвалҳои пойгоҳи додаҳоро донад, метавонад бо роҳҳои қариб бешумор ба додаҳо дастрасӣ пайдо кунад. Ӯ метавонад додаҳоро ҳам аз ҷадвалҳои мустақиман алоқаманд ва ҳам аз ҷадвалҳои ғайримустақиман алоқаманд гирад.
Маҷмӯи ҷадвалҳои расмро ба назар гиред. Гарчанде ҷадвали CLIENTS бо ҷадвали ENTERTAINERS робитаи ғайримустақим дорад, корбар метавонад рӯйхати муштариён ва ҳунармандонеро тартиб диҳад, ки барои онҳо ҳунарнамоӣ кардаанд.
Албатта, ин ба сохтори воқеии ҷадвалҳо вобаста аст, аммо аз мавзуъ дур наравем: ҳоло ин мисол барои мақсади мо кофист.
Корбар ин корро ба осонӣ анҷом медиҳад, зеро CLIENTS мустақиман бо ENGAGEMENTS ва ENGAGEMENTS мустақиман бо ENTERTAINERS робита дорад.
AGENTS CLIENTS ENGAGEMENTS ENTERTAINERS
────────────── ────────────── ───────────────── ────────────────
AGENT ID ◄──────────── AGENT ID ENGAGEMENT ID ENTERTAINER ID
AGENT NAME CLIENT ID ◄─────────── CLIENT ID ENTERTAINER NAME
... CLIENT NAME ENTERTAINER ID ────────► ...
CLIENT CITY START DATE
... ...
Ҷадвалҳои ба ҳам алоқаманд дар пойгоҳи додаҳои релятсионӣ. Тир аз майдони ҷадвале, ки ба ҷадвали дигар ишора мекунад, ба майдони ягонаи он ҷадвал меравад.
Гирифтани додаҳо
Барои гирифтани додаҳо аз пойгоҳи додаҳои релятсионӣ аз забони сохторёфтаи дархостҳо — SQL (Structured Query Language) истифода мебаред.
SQL забони стандартӣ барои сохтан, тағйир додан, нигоҳдорӣ ва дархост кардани пойгоҳҳои додаҳои релятсионӣ мебошад. Дастури зерин рӯйхати ҳамаи муштариёни шаҳри Эл-Пасоро медиҳад:
SELECT client_first_name, client_last_name, client_phone
FROM clients
WHERE client_city = 'El Paso'
ORDER BY client_last_name, client_first_name;
Се ҷузъи дархости одии SQL инҳоянд: дастури SELECT … FROM, қисми WHERE ва қисми ORDER BY.
Бо SELECT майдонҳоеро муайян мекунед, ки мехоҳед дар натиҷаи дархост бинед. Бо FROM ҷадвал ё ҷадвалҳоеро нишон медиҳед, ки ин майдонҳо ба онҳо тааллуқ доранд.
Бо истифода аз WHERE метавонед барои як ё чанд майдон шарт гузошта, сабтҳои баргардондаи дархостро полоиш кунед. Сипас бо ORDER BY натиҷаҳоро бо тартиби афзоиш ё коҳиш мураттаб менамоед.
Аксари барномаҳои асосии имрӯзаи пойгоҳҳои додаҳои релятсионӣ шаклҳои гуногуни татбиқи SQL-ро дар бар мегиранд: аз равзанаҳое, ки корбар дар онҳо дастурҳои SQL-ро бевосита ва дастӣ менависад, то абзорҳое, ки сохтани дархостҳоро тавассути созандаҳои дархост ва шаклҳои дархост имкон медиҳанд.
Масалан, корбаре, ки бо барномаи R:BASE-и ширкати R:BASE Technologies кор мекунад, метавонад дастурҳои SQL-ро мустақиман дар сатри фармон, назди нишонаи R>, навишта иҷро кунад. Аммо корбари Microsoft SQL Server шояд сохтани дархостҳои мураккабро дар равзанаи графикии Query Designer осонтар ва тезтар шуморад.
Новобаста аз тарзи сохтани дархостҳо, корбар метавонад онҳоро барои истифодаи оянда захира кунад.
Барои кор бо пойгоҳи додаҳо донистани SQL на ҳамеша зарур аст. Агар нармафзори пойгоҳи додаҳои шумо созандаи дархост дошта бошад ё барои кор бо додаҳо аз барномаи махсус сохташуда истифода баред, шояд ба навиштани ҳатто як дастури SQL ниёз пайдо накунед.
Бо вуҷуди ин, хуб аст, ки дар бораи SQL фаҳмиши ибтидоӣ дошта бошед. Ин ба онҳое, ки аз абзорҳои сохтани дархост истифода мебаранд, барои фаҳмидан ва ислоҳ кардани мушкилоти дархостҳояшон кумак мекунад. Ҳамчунин, агар бо барномаҳои пешрафтаи пойгоҳи додаҳо, аз ҷумла Oracle ва Microsoft SQL Server, кор кардан лозим шавад, донистани SQL бешубҳа ба нафъи шумо хоҳад буд.
ЭЗОҲ
SQL забонест, ки бевосита бо модели релятсионии пойгоҳи додаҳо алоқаманд мебошад. Аз боби 3 сар карда, мо онро дар PostgreSQL амалан меомӯзем: аз
SELECT-и содатарин тоJOIN, гурӯҳбандӣ, CTE ва функсияҳои равзанавӣ.
Бартариҳои пойгоҳи додаҳои релятсионӣ
Пойгоҳи додаҳои релятсионӣ як қатор бартариҳо дорад, аз ҷумла:
Якпорчагии дарунсохт дар чанд сатҳ. Якпорчагии додаҳо дар сатҳи майдон барои таъмини дурустии додаҳо; дар сатҳи ҷадвал барои пешгирии сабтҳои такрорӣ ва ошкор кардани набудани қиматҳои калиди асосӣ; дар сатҳи робита барои таъмини дурустии робитаи байни ду ҷадвал; ва дар сатҳи қоидаҳои фаъолияти ташкилот барои мувофиқ будани додаҳо ба талаботи худи фаъолият таъмин карда мешавад. Дар ҷараёни баррасии тарҳрезӣ якпорчагӣ муфассал шарҳ дода мешавад.
Мустақилияти мантиқӣ ва физикии додаҳо аз барномаҳои корбарӣ. На тағйироте, ки корбар ба тарҳи мантиқии пойгоҳи додаҳо ворид мекунад ва на тағйироте, ки истеҳсолкунандаи нармафзор ба татбиқи физикии он ворид менамояд, набояд ба барномаҳои дар асоси он сохташуда таъсири манфӣ расонанд.
Таъмини созгорӣ ва дурустии додаҳо. Ба туфайли сатҳҳои гуногуни якпорчагӣ, ки метавонед дар пойгоҳи додаҳо ҷорӣ кунед, додаҳо созгор ва дуруст мемонанд. Ин ҳангоми гузаштан аз раванди тарҳрезӣ комилан равшан мешавад.
Осон гирифтани додаҳо. Корбар метавонад додаҳоро аз як ҷадвали мушаххас ё аз ҳар шумораи ҷадвалҳои ба ҳам алоқаманди пойгоҳ гирад. Ин имкон медиҳад, ки маълумотро бо роҳҳои қариб бешумор бинад.
Ин ва дигар бартариҳо барои ҷомеаи соҳибкорӣ ва ҳамаи онҳое, ки ба ҷамъоварӣ ва идоракунии додаҳо ниёз доранд, судманд будани худро нишон додаанд. Дар ҳақиқат, пойгоҳи додаҳои релятсионӣ дар бисёр ҳолатҳо ҳамоно интихоби афзалиятнок мебошад.
Яке аз нуқсонҳое, ки пештар одатан ба пойгоҳи додаҳои релятсионӣ нисбат медоданд, суст кор кардани барномаҳои бар асоси он сохташуда буд. Ин камбудии худи модели релятсионӣ набуд, балки аз маҳдудияти технологияҳои ёрирасони замони муаррифии модел бармеомад.
Суръати коркард, ҳаҷми хотира ва имкониятҳои нигоҳдорӣ барои фароҳам овардани заминае, ки истеҳсолкунандагон дар он татбиқи пурраи пойгоҳи додаҳои релятсиониро созанд, кофӣ набуданд. Аз ин рӯ, барномаҳои аввалини пойгоҳи додаҳои релятсионӣ аз имкониятҳои воқеии худ хеле ақиб мемонданд.
Пешрафтҳои сахтафзор ва муҳандисии нармафзор дар панҷоҳ соли охир мушкилоти суръати коркард ва хондану навиштани додаҳоро хеле камаҳаммият карданд. Онҳо ҳамчунин ба истеҳсолкунандагон имкон доданд, ки дар дастгирии пурратари модел ба пешрафтҳои назаррас ноил шаванд.
Ҳангоми гузаштан аз раванди тарҳрезии пешниҳодшудаи ин китоб, шумо модели релятсионии пойгоҳи додаҳоро бештар меомӯзед. Аз ҷумла, бо сохтани ҷадвалҳо, таъмини якпорчагии додаҳо, кор бо робитаҳо ва муайян кардани қоидаҳои фаъолияти ташкилот шинос мешавед.
Низомҳои идоракунии пойгоҳи додаҳои релятсионӣ
Низоми идоракунии пойгоҳи додаҳои релятсионӣ — RDBMS (Relational Database Management System) барномаест, ки барои сохтан, нигоҳдорӣ, тағйир додан ва кор бо пойгоҳи додаҳои релятсионӣ истифода мешавад.
Бисёр барномаҳои RDBMS ҳамчунин абзорҳоеро фароҳам меоранд, ки бо онҳо барномаҳои гуногуни корбарӣ сохтан мумкин аст. Ин барномаҳо бо додаҳои дар пойгоҳ нигоҳдошташуда кор мекунанд.
Албатта, сифати RDBMS бевосита ба он вобаста аст, ки модели релятсионии пойгоҳи додаҳоро то чӣ андоза дастгирӣ мекунад. Ҳатто дар байни RDBMS-ҳои «воқеӣ» дараҷаи дастгирии модели релятсионӣ аз як истеҳсолкунанда то истеҳсолкунандаи дигар фарқ мекунад. Ҳанӯз татбиқи пурраи тамоми имкониятҳои модели релятсионӣ вуҷуд надорад.
Бо вуҷуди ин, барномаҳои RDBMS пайваста такмил меёбанд ва аз пештара пуримконияттару тавонотар мешаванд.
Намунаҳои RDBMS инҳоянд:
- IBM DB2;
- IBM Informix;
- Microsoft Access;
- Microsoft SQL Server;
- MySQL;
- Oracle RDBMS;
- PostgreSQL;
- SAP SQL Anywhere;
- SAP Sybase ASE;
- SQLite.
Дар оянда чӣ мешавад?
Дар оянда чӣ мешавад? Саволи бисёр хуб аст. Ба назари ман, технология, муҳандисии нармафзор ва умуман соҳаи пойгоҳҳои додаҳо аз он чи касе тасаввур мекард, тезтар рушд кардаанд.
Шояд бигӯед: «Аммо, Майк, охир 50 сол гузаштааст!» Ман ҳам мегӯям: «Бале, аммо ин чӣ панҷоҳ соли пуртағйироте буд!»
Вақте кӯдаки хурд будам ва комиксҳои қаҳрамонони фавқулода ва фантастикаи илмиро мехондам, мошинҳо, дастгоҳҳо, хонаҳо ва умуман технологияҳои дар онҳо тасвиршуда ба ояндаи бисёр дур тааллуқдошта менамуданд.
Дар ҳақиқат, комиксҳои фантастикиеро мехондам, ки дар онҳо одамон бо мошинҳо парвоз мекарданд ва аз дастгоҳҳои хурди шахсии зиддиҷозиба истифода мебурданд. Ҳамаи ин воқеаҳо гӯё дар миёнаи солҳои 1990 рӯй медоданд! Ман то ҳол камарбанди шахсии парвозкунандаи худро интизорам!
Дар солҳои аввали наврасӣ барномаи аҷиби оянданигаронаеро бо номи «Star Trek» тамошо мекардам. Дар он одамон аз дастгоҳҳои хурди дастӣ ва нишонҳои рӯйи либос ҳамчун воситаи алоқа истифода мебурданд. Компютерҳо сухан мегуфтанд, мониторҳо экрани ҳамвор доштанд, дастгоҳҳо хӯрок ҳосил мекарданд — ин рӯйхатро боз ҳам идома додан мумкин аст.
Ман бо худ меандешидам: «Оё умрам мерасад, ки ҳамаи ин чизҳои аҷибро бинам ва истифода барам?»
Акнун ба охири солҳои 1970, солҳои 1980 ва 1990 мегузарем. Компютерҳое пайдо шуданд, ки рӯйи мизи корӣ ҷой мегирифтанд; телефонҳои мобилӣ, смартфонҳо, мониторҳо ва телевизорҳои дорои экрани ҳамвор ба вуҷуд омаданд ва интернет пайдо шуд.
Қарор буд компютерҳо зиндагии моро осон кунанд, имкон диҳанд корҳоро муассиртар ва бо сарфи камтари вақт анҷом диҳем ва қариб ҳамаи навъҳои варақаҳо ва ҳисоботи коғазиро аз байн баранд.
Акнун ба солҳои 2000 мегузарем. Телевизорҳои азими дорои экрани ҳамвор дорем. Смартфонҳо барои бисёре аз мо ҷойи дастгоҳҳои аксбардорӣ ва наворбардориро гирифтаанд.
Аз назари ман, аҷибтарин чиз қудрати ҳисоббарориест, ки имрӯз амалан дар нӯги ангуштони мо қарор дорад. Дар гузашта мегабайтҳо дар компютерҳое ҷой доштанд, ки толорҳои пурраи дорои низоми сардкуниро ишғол мекарданд. Гигабайт бошад, воҳиди ҳаҷми нигоҳдорие буд, ки гумон мекардем то дастрас шудани он ҳанӯз даҳсолаҳо мондааст.
Имрӯз истеъмолкунандагон бидуни тааҷҷуб дар бораи терабайтҳо ҳарф мезананд. Метавонед смартфоне харед, ки як терабайт ҷойи нигоҳдорӣ дорад. Як терабайт! Бале, роҳи дарозеро тай кардаем. Ҳайратовар аст.
Чаро ман пешрафти технологияро зикр мекунам? Зеро он ба низомҳои идоракунии пойгоҳи додаҳои релятсионӣ таъсир расонда, ҳамчунин барои таҳия ва истифодаи низомҳои ғайрирелятсионӣ замина фароҳам овардааст.
Замоне ширкатҳои истеҳсолкунандаи нармафзори пойгоҳи додаҳо барои татбиқи пойгоҳи додаҳои релятсионӣ, бинобар баъзе хусусиятҳои модел, душворӣ мекашиданд.
Масалан, татбиқи дархостҳои чандҷадвала дар оғоз мушкил буд. Сохтан ва намоиш додани натиҷаи дархосте, ки додаҳоро аз чанд ҷадвал мегирифт, метавонист вақти зиёди коркардро талаб кунад, махсусан агар ҷадвалҳо сабтҳои бисёр дошта бошанд. Ҳамчунин, чопи ҳисоботҳои бар асоси чунин дархостҳо таҳияшуда низ бо сабабҳои монанд вақт мегирифт.
Аммо пешрафти технологӣ дар суръати кор бо хотира ва хондану навиштан ба диск ин мушкилро хеле кам кард. Ин пешрафтҳо ҳамчунин имкон доданд, ки низомҳои идоракунии пойгоҳи додаҳои релятсионӣ устувортар ва миқёспазиртар шаванд ва нисбат ба гузашта сатҳи баландтари якпорчагии додаҳоро дастгирӣ кунанд.
Дар чанд соли охир ниёз ба нигоҳдории додаҳо ва объектҳое пайдо шудааст, ки ба сохтори «ҷадвал — майдон — сабт»-и модели релятсионӣ ба осонӣ ҷой намегиранд.
Аксҳо, додаҳои танҳо барои хондани барномаҳои вебӣ, додаҳои графӣ, додаҳои ҷуғрофиёӣ ва додаҳои таҳлилӣ аз ҷумлаи чунин додаҳо мебошанд, ки ба модели релятсионӣ чандон мувофиқ намеоянд.
Пешрафти технология абзорҳои бунёдиеро фароҳам овард, ки бо онҳо сохтани навъҳои нави пойгоҳҳои додаҳо ва низомҳои идоракунии онҳо имконпазир гардид. Ин низомҳо метавонанд бо чунин навъҳои додаҳо кор кунанд, дар ҳоле ки пештар анҷом додани ин кор қариб ғайриимкон буд.
Намунаҳои чунин низомҳо инҳоянд: MongoDB, Couchbase, HBase, Cassandra ва Redis.
Чунон ки пештар гуфтам, модели релятсионии пойгоҳи додаҳо 50-сола шудааст ва интизор дорам, ки боз солҳои зиёд боқӣ мемонад. Чаро ин қадар хушбин ҳастам?
Зеро пойгоҳҳои додаҳои релятсионӣ дар ҳама ҷо истифода мешаванд: онҳо қисми фарогири зиндагии мо мебошанд. Онҳо кори низомҳои гуногунро таъмин мекунанд — аз низомҳои тиҷорати хурд то низомҳои ҳамкории шуъбаҳо ва низомҳои фарогири тамоми ширкат.
Онҳо дар компютерҳои рӯйимизӣ, шабакаҳои ширкатҳо ва ҳатто дастгоҳҳои шахсӣ истифода мешаванд.
Истифода ва нигоҳдории пойгоҳҳои додаҳои релятсионӣ осон аст. Онҳо барои ҷорӣ кардан ва риояи якпорчагии додаҳо хеле муносибанд, сохтори устувор доранд — албатта, агар дуруст сохта шуда бошанд — миқёспазиранд ва дар аксари ҳолатҳо ниёз ба пойгоҳи додаҳоро қонеъ мекунанд.
Аммо аз нигоҳи амалӣ дар хотир доред, ки пойгоҳи додаҳои релятсионӣ роҳи ҳалли ягонаи мувофиқ барои ҳамаи ҳолатҳо нест.
Сабаби дигари хушбинии ман иқтибосест аз мақолаи «Беҳтарин пойгоҳи додаҳои релятсионӣ», ки 14 августи соли 2019 дар сомонаи Database Trends and Applications нашр шудааст:
«Ба гуфтаи Крейг С. Маллинз, президент ва мушовири асосии ширкати Mullins Consulting, Inc., технологияҳои релятсионӣ ҳамоно бартарӣ доранд: IDC пешбинӣ мекунад, ки пойгоҳҳои додаҳои релятсионӣ то соли 2022 беш аз 80 дарсади тамоми бозори пойгоҳҳои додаҳои амалиётиро ташкил медиҳанд. Gartner бошад, пешбинӣ мекунад, ки то соли 2020 технологияҳои релятсионӣ дар ҳадди ақал 70 дарсади барномаҳо ва лоиҳаҳои нав истифода хоҳанд шуд».
Ҳатто агар ин пешбиниҳо дар даҳ соли оянда нисбатан бетағйир монанд, пойгоҳи додаҳои релятсионӣ ҳамоно саҳми хеле бузурги бозори пойгоҳҳои додаҳоро дар ихтиёр хоҳад дошт.
Зодрӯзат муборак, пойгоҳи додаҳои релятсионӣ!
Хулоса
Мо ин бобро аз таърифи истилоҳи «пойгоҳи додаҳо» ва тавсифи ду навъи пойгоҳи додаҳо — амалиётӣ ва таҳлилӣ — оғоз кардем.
Сипас модели релятсионии пойгоҳи додаҳо, таърих ва хусусиятҳои онро муфассал баррасӣ намудем. Шумо фаҳмидед, ки он ба бахшҳои муайяни математика асос ёфтааст ва маҳз ҳамин пояи математикӣ сохтори моделро устувор месозад.
Баъд сохторҳои додаҳо, робитаҳои модел ва нақши SQL-ро дар дастрасӣ ба додаҳои он омӯхтем. Дар ин қисм фаҳмидед, ки SQL забони стандартии кор бо пойгоҳҳои додаҳои релятсионӣ мебошад.
Ин бахшро бо баррасии бартариҳои модели релятсионӣ ва таърифи низоми идоракунии пойгоҳи додаҳои релятсионӣ анҷом додем.
Шумо фаҳмидед, ки пешрафти технология ба зиндагии ҳаррӯзаи мо чӣ гуна таъсир расондааст ва ин таъсир то чӣ андоза фарогир аст. Ҳамчунин омӯхтед, ки чӣ омилҳо ба пойгоҳи додаҳои релятсионӣ имкон додаанд 50 сол мавҷуд бошад ва RDBMS ба навъҳои гуногуни фаъолияти тиҷоратӣ чӣ таъсир гузоштааст.
Дар боби оянда PostgreSQL-ро дар компютери худ ба кор медароред, то тамоми мисолҳои китобро худатон иҷро карда тавонед.

Барномасозӣ
Олами Афсонаҳо
Ахбор
Дунё