Кіріспе

Цифрлық деректер базасы, оның құрылымы деректердің реляциялық моделіне негізделген. Реляциялық деректер базасы (RDB) – Э.Ф. Кодд 1970 жылы ұсынған деректердің реляциялық моделіне негізделген деректер базасы.

Кілттер

Кестедегі әрбір қатардың өзіне тән кілті болады. Кестедегі қатарлар басқа кестелердегі қатарлармен байланыстырылған қатардың бірегей кілті үшін баған қосу арқылы байланыстырылуы мүмкін (мұндай бағандар сыртқы кілттер деп аталады). Кодд кез келген күрделіліктегі деректер арақатынастарын қарапайым түсініктер жиынтығымен бейнелеуге болатынын көрсетті.

Сақталған рәсімдер

RDBMS-те бағдарламалаудың бір бөлігі сақталған процедураларды (SP) қолдану арқылы іске асырылады. Көп жағдайда процедуралар жүйе ішінде және одан тысқары берілетін ақпарат мөлшерін қысқартуға мүмкіндік береді. Қауіпсіздікті күшейту мақсатында жүйе дизайны тікелей кестелерге емес, тек сақталған процедураларға ғана қол жеткізуді қамтамасыз етуі мүмкін. Негізгі сақталған процедуралар жаңа деректерді қосу және қолданыстағы деректерді жаңарту үшін қажетті логиканы қамтиды. Ал күрделі процедуралар деректерді өңдеу немесе іріктеуге қатысты қосымша ережелер мен логиканы жүзеге асыру үшін жазылуы мүмкін.

Қатынастар немесе кестелер

Реляциялық деректер базасында қатынас – бірдей атрибуттары бар туплдар жиынтығы. Тупл әдетте бір нысанды және сол нысан туралы ақпаратты көрсетеді. Нысандар әдетте физикалық нысандар немесе ұғымдар болып табылады. Қатынас әдетте кесте түрінде сипатталады, ол қатарлар мен бағандарға ұйымдастырылған. Атрибутқа сілтеме жасалған барлық деректер бір доменде болады және бірдей шектеулерге бағынады. Реляциялық модель қатынастағы туплдардың нақты реті болмайтынын және туплдардың өз кезегінде атрибуттардың ретін белгілейтінін көрсетеді. Қолданбалар деректерге сұраулар арқылы қол жеткізеді, олар туплдарды анықтау үшін таңдау, атрибуттарды анықтау үшін проекциялау және қатынастарды біріктіру үшін қосылу сияқты операцияларды пайдаланады. Қатынастарды енгізу, жою және жаңарту операторларын қолдану арқылы өзгертуге болады. Жаңа туплдар нақты мәндерді беруі немесе сұраудан алынуы мүмкін. Сол сияқты, сұраулар жаңарту немесе жою үшін туплдарды анықтайды. Туплдар анықтама бойынша бірегей болып табылады. Егер туплда үміткерлік немесе біріншілік кілт болса, онда ол әрине бірегей болады; алайда, қатар немесе жазба тупл болуы үшін біріншілік кілт міндетті түрде анықталмауы керек. Туплдың анықтамасы оның бірегей болуын талап етеді, бірақ біріншілік кілттің анықталуын талап етпейді. Тупл бірегей болғандықтан, оның атрибуттары анықтама бойынша суперкілтті құрайды.

Негізгі және туынды қатынастар

Барлық деректер қатынастар арқылы сақталады және оларға қол жеткізіледі. Деректерді сақтайтын қатынастар "негізгі қатынастар" деп аталады, ал іске асыруларда "кестелер" деп аталады. Басқа қатынастар деректерді сақтамайды, бірақ басқа қатынастарға қатынастық операцияларды қолдану арқылы есептеледі. Бұл қатынастар кейде "туынды қатынастар" деп аталады. Іске асыруларда олар "көріністер" немесе "сұраулар" деп аталады. Туынды қатынастар бір қатынас ретінде әрекет етуімен ыңғайлы, тіпті бірнеше қатынастардан ақпарат алуға мүмкіндік берсе де. Сондай-ақ, туынды қатынастарды абстракция қабаты ретінде пайдалануға болады.

Домен

Домен – берілген атрибут үшін мүмкін мәндер жиынтығын сипаттайды және атрибут мәніне қойылатын шектеу ретінде қарастырылуы мүмкін. Математикалық тұрғыдан алғанда, атрибутқа доменді қосу, атрибуттың кез келген мәні көрсетілген жиынның мүшесі болуы керек екенін білдіреді. Мысалы, "ABC" әріптік тізбегі бүтін сандар доменіне жатпайды, ал 123 саны – жатады. Доменнің тағы бір мысалы, "CoinFace" өрісі үшін мүмкін мәндерді ("Heads", "Tails") деп көрсетеді. Сондықтан, "CoinFace" өрісі (0,1) немесе (H,T) сияқты енгізілген мәндерді қабылдамайды.

Шектеулер

Шектеулер көбінесе атрибуттың аумағын одан әрі тарылту үшін қолданылады. Мысалы, шектеу белгілі бір бүтін сан атрибутын 1 мен 10 арасындағы мәндермен шектеуге болады. Шектеулер деректер базасында бизнес-ережелерді іске асырудың бір жолын ұсынады және қосымша деңгейде деректерді одан әрі пайдалануды қолдайды. SQL шектеу функционалдығын тексеру шектеулері арқылы іске асырады. Шектеулер қатынастарда сақталатын деректерді шектейді. Бұл әдетте бульдік мән беретін өрнектерді пайдалану арқылы анықталады, бұл деректер шектеуді орындайтынын немесе орындамайтынын көрсетеді. Шектеулер жеке атрибуттарға, түйіндерге (атрибуттардың комбинацияларын шектеу) немесе бүкіл қатынасқа қолданылуы мүмкін. Әрбір атрибуттың сәйкес домені болғандықтан, шектеулер (домендік шектеулер) болады. Реляциялық модельдің екі маңызды қағидасы – объектінің тұтастығы және сілтемелік тұтастық деп аталады.

Негізгі кілт

Кез келген қатынас/кестеде бастауыш кілт болады, бұл қатынастың жиын болуының нәтижесі. Бастауыш кілт кестедегі жазбаны бірегей түрде анықтайды. Деректерді сипаттау үшін қолданылатын табиғи атрибуттар кейде жақсы бастауыш кілттер бола алады, бірақ көбінесе олардың орнына суррогат кілттер қолданылады. Суррогат кілт – бұл объектіні бірегей анықтайтын жасалма атрибут (мысалы, мектептегі оқушылар туралы ақпарат кестесінде оларды ерекшелеу үшін әр оқушыға студенттік ID тағайындалуы мүмкін). Суррогат кілттің ішкі (туа біткен) мағынасы жоқ, бірақ ол жазбаны бірегей анықтау мүмкіндігі арқылы пайдалы. N:M кардиналдығына қатысты, әсіресе, жиі кездесетін жағдай – құрама кілт. Құрама кілт – бұл кестедегі екі немесе одан көп атрибуттардан құралған кілт, олар (бірге) жазбаны бірегей анықтайды.

Шетелдік кілт

Шетелдік кілт – басқа кестедегі біріншілік кілт бағанасына сәйкес келетін реляциялық кестедегі өріс. Ол екі кілтті байланыстырады. Шетелдік кілттердің сілтемеленетін қатынаста бірегей мәндері болуы міндетті емес. Шетелдік кілт кестелерді өзара байланыстыру үшін қолданылады және сілтемеленген қатынастағы атрибуттардың мәндерін пайдаланып, сілтемеленетін қатынастағы бір немесе бірнеше атрибуттардың мәндік облысын шектейді. Бұл ұғым былайша ресми түрде сипатталады: "Сілтемеленетін қатынастағы барлық жазбалар үшін, сілтемелену атрибуттары бойынша проекцияланғанда, сілтемеленген қатынаста сол атрибуттар бойынша проекцияланған жазба болуы керек, осылайша сілтемелену атрибуттарының әрқайсысының мәндері сілтемеленген атрибуттардың сәйкес мәндерімен сәйкес келуі тиіс".

Сақталған рәсімдер

Сақталған процедура – деректер базасымен байланысты және әдетте оның ішінде сақталатын орындалатын код. Сақталған процедуралар көбінесе жиі қолданылатын операцияларды жинап, өзгертеді, мысалы, қатынасқа жазбаны қосу, пайдалану үлгілері туралы статистикалық мәліметтерді жинау немесе күрделі бизнес логикасын және есептеулерді жинақтау. Олар жиі қауіпсіздік немесе жеңілдік үшін қолданбалық бағдарламалау интерфейсі (API) ретінде қолданылады. SQL RDBMS-те сақталған процедураларды жүзеге асыру көбінесе дамытушыларға стандартты декларативтік SQL синтаксисіне процедуралық кеңейтулерді (көбінесе жеткізушіге тән) пайдалануға мүмкіндік береді. Сақталған процедуралар реляциялық деректер базасы моделінің бөлігі емес, бірақ барлық коммерциялық жүзеге асыруларда олар бар.

Индекс

Индекс – деректерге жылдам қол жеткізудің бір жолы. Индекстерді қатынастағы атрибуттардың кез келген комбинациясы бойынша құруға болады. Осы атрибуттарды пайдаланып сүзгілейтін сұраныстар, әрбір жазбаны тізбектеп тексерудің қажеті болмай, индекстің (хэш кестесін қарау сияқты) көмегімен сәйкес жазбаларды тікелей таба алады. Бұл, ізделіп отырған ақпаратты табу үшін кітаптың мазмұнына жүгінумен тең, сонда кітапты толығымен оқымай-ақ қажетті бетке көшуге болады. Реляциялық деректер базалары әдетте бірнеше индекстеу техникаларын ұсынады, олардың әрқайсысы деректердің таралуы, қатынастың көлемі және қолдану үлгісінің белгілі бір комбинациясы үшін ең тиімді болады. Индекстер көбінесе B+ ағаштары, R ағаштары және биттік карталар арқылы іске асырылады. Индекстер әдетте деректер базасының бөлігі деп есептелмейді, себебі олар іске асырудың егжей-тегжейі болып саналады, алайда индекстерді әдетте деректер базасының басқа бөліктерін күтіп ұстайтын команда жүргізеді. Басты және сыртқы кілттерде тиімді индекстерді пайдалану сұраныстың өнімділігін едәуір арттыра алады. Өйткені B ағаш индекстері сұраныс уақытын log(n) пропорционалды етеді, мұнда n – кестедегі қатарлар саны, ал хэш индекстері тұрақты уақыт сұраныстарын қамтамасыз етеді (индекстің тиісті бөлігі жадқа сыйып, көлемге тәуелділік болмайтын жағдайда).

Нормалдастыру

Нормалдастыруды алғаш рет Кодд реляциялық модельдің негізгі бөлігі ретінде ұсынды. Ол қарапайым емес домендерді (атомдық емес мәндерді) және деректердің қайталануын (артық көшірмелерді) жоюға бағытталған процедуралар жиынтығын қамтиды, бұл деректерді өңдеу кезінде туындайтын қателіктерді және деректердің тұтастығын жоғалтуды алдын алады. Деректер базасына қолданылатын нормалдастырудың ең көп таралған түрлері нормалық формалар деп аталады.

РДБББ

Коннолли мен Бег деректер базасын басқару жүйесін (ДББС) "пайдаланушыларға деректер базасын анықтауға, жасауға, күтуге және кіруді бақылауға мүмкіндік беретін бағдарламалық жүйе" деп анықтайды. RDBMS – бұл кейде деректер базасы реляциялық болған кезде қолданылатын аббревиатураның кеңейтілген түрі. Реляциялық деректер базасын басқару жүйесінің тағы бір анықтамасы – реляциялық модельге негізделген деректер базасын басқару жүйесі (ДББС). Бүгінде кеңінен қолданылатын деректер базаларының көпшілігі осы модельге негізделген. RDBMS 1980 жылдардан бері қаржылық жазбалар, өндірістік және логистикалық ақпарат, персоналдық деректер және басқа да қолданбалар үшін деректер базаларында ақпарат сақтау үшін танымал нұсқа болып келді. Реляциялық деректер базалары көбінесе ескі иерархиялық және желілік деректер базаларын ығыстырды, себебі RDBMS жүзеге асыру және басқару оңайырақ болды. Дегенмен, 1980 және 1990 жылдары объектілік деректер базасын басқару жүйелері (реляциялық деректер базасы мен объектіге бағытталған қолданба бағдарламалары арасындағы объектілік-реляциялық үйлесімсіздікті шешу үшін енгізілген) және 1990 жылдары XML деректер базасын басқару жүйелері реляциялық сақталған деректерге қарсы жалғасты, бірақ сәтсіз сынға ұшырады. Алайда, компьютерлік кластерлердің көлденең кеңеюі сияқты технологиялардың дамуына байланысты, NoSQL деректер базалары жақында RDBMS деректер базаларына балама ретінде танымал болды.

Таратылған реляциялық деректер қоры

Бөлінген реляциялық деректер қоры архитектурасы (DRDA) 1988-1994 жылдар аралығында IBM-дегі жұмыс тобымен әзірленген. DRDA желіге қосылған реляциялық деректер қорының SQL сұраныстарын орындау үшін бірлесіп жұмыс істеуіне мүмкіндік береді. DRDA-ның хабарламалары, протоколдары және құрылымдық элементтері Таратылған деректерді басқару архитектурасымен белгіленеді.