Бақылау сұрақтары
МҚ әкімшісінің қызметіне не жатады?
МҚ әкімшісі нені орындайды?
Ақпараттық жүйе дегеніміз не?
Мәліметтер қоры серверінде не орналасады?
Ақпараттық жүйеге не кірмейді?
Қандай ақпараттық жүйе жергілікті деп аталады?
МҚ-мен жұмыс істейтін, ақпараттық жүйелерді программалық қамтамасыз етуге не жатады?
Clipper деген не?
9.Екі буынды модельде компьютер-сервер мен компьютер-клиент арасындағы қызметтер бөлінуінің нұсқаларын атап көрсетіңіздер.
Мәліметтер қорын қолданылатын жергілікті ақпараттық жүйелер құрудың негізгі нұсқаларын көрсетіңіздер.
Ақпараттық жүйелерде мәліметтер қорына қол жеткізу қалай ұйымдастырылады?
Әдебиеттер:
Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.
Золотова С.И. Практикум по Access. Финансы и статистика, Москва, 2000.
Джулия Келли. Самоучитель Access 97. Питер. Санкт-Петербург, 2000.
Робинсон С. Access 2000. Учебный курс.
3-ДӘРІС. Мәліметтер қорының моделі.
Қарастырылатын сұрақтыр:
Мәліметтер қорының моделдері.
Иерархиялық модель.
Желілік модель.
Реляциялық модель.
Атрибут (өріс, бағана).
Кортеж (жазба, жол).
Қатынас (кесте).
Нормаль формалар.
Алғашқы және сыртқы кілттер.
Мәліметтер қорын пайдалану файлдық құрылым мәліметтерінде болған шектеулер мен кемшіліктерді жоюға мүмкіндік берді. Мәліметтер қорының көмегімен шешілетін әралуан есептер мәліметтер қорын құрылымдау мен мәліметтердің арасындағы байланыстарды ұйымдастырудың түрлі әдістерін қалыптастыруға әкеледі. Соның нәтижесінде мәліметтер қорының бірнеше моделі пайда болды. Мәліметтер қорының моделі деп мәліметтер қорының логикалық кейіптеуін атаймыз. Алғашқыда мәліметтер қорының
иерархиялық,
желілік,
реляциялық модельдері пайда болды, олар кейіннен классикалық, негізгі модельдерге айналды. Соңғы уақытта осылардың негізінде постреляциялық,
көпөлшемдік,
объектілі-бағытталған жаңа модельдер пайда болды және барынша дами отыра, қолданысқа енгізіле бастады.
Мәліметтер қорының хронологиялық дамуын келесі диаграмма түрінде көрсетуге болады (1.1-сурет)
Біртіндеп қол жеткізу файлдары
Еркін қол жеткізу файлдары
Мәліметтер қорының иерархиялық модельдері
Желілік модельдер
Реляциялық модельдері бойынша Коддтың жұмыстары
Мәліметтер қорының реляциялық модельдері
Үлестірілген мәліметтер қоры, клиент/сервер технологиясы
Объектілі-бағытталған мәліметтер қоры
1.1-сурет. Хронологиялық диаграмма
Сонымен қатар мәліметтердің өзге модельдеріне негізделген белгілі модельдерді кеңейтетін алуан түрлі жүйелер жасалынуда. Олардың қатарында объектілі-реляциялық, дедуктивтік-объектілі-бағытталған, семантикалық, тұғырнамалық және бағытталған модельдерді атап кетуге болады. Бұл модельдердің кейбіреулері мәліметтер қорын, білім қоры мен программалау тілдерін интеграциялауға арналған. Кейбір МҚБЖ-лар бір мезгілде бірнеше мәліметтер модельдерімен жұмыс істейді.
3.1. Иерархиялық модель.
Алғашқыда мәліметтер қорының иерархиялық модельдері пайда болды. Иерархиялық модельде мәліметтер арасындағы байланыстар реттелген граф (немесе бұтақ) түрінде берілген.
Иерархиялық МҚ-ның құрылымын (сұлбасын) сипаттау үшін кейбір программалау тілінде «бұтақ» мәліметтер типі қолданылады.
«Бұтақ» типі ПЛ/1 және Си программалау тілдерінің «құрылым» атты мәліметтер типімен және Паскаль тілінің «жазба» типімен ұқсас. Оларда типтердің бір-біріне салынуына жол беріледі, олардың әрқайсысы белгілі бір деңгейде орналасқан.
«Бұтақ» типі құрамдас болып келеді. Оған ішкі типтер («кіші бұтақтар») кіреді, олардың әрқайсысы өз кезегінде «бұтақ» типі болып табылады. «Бұтақ» типінің әрқайсысы бір «түбірлік» типтен және бағыныңқы типтердің реттелген жиынтығынан (бос болуы да мүмкін) тұрады.
«Бұтақ» типіне енгізілген қарапайым типтердің әрқайсысы «жазба» атты жай немесе құрама тип болып табылады. Қарапайым «жазба» бір типтен тұрады, мысалы, сандық типтегі, ал құрама «жазба» типтердің белгілі бір жиынтығын, мысалы, бүтін, символдар жолы және көрсеткіштерді (сілтеме) біріктіреді.
Түбірлік деп бағыныңқы типтері бар және өзі ішкі тип болмайтын тип аталады. Бағыныңқы тип (ішкі тип) өзі үшін ата тегі (ата-ана) рөлін атқаратын типке қатысты ұрпақ болып табылады. Бір типтің ұрпақтары бір-біріне қатысты егіздер болып табылады.
Тұтастай алғанда «бұтақ» типі «жазба» типтерінің иерархиялық тұрғыдан ұйымдастырылған жиынтығын сипаттайды.
Иерархиялық МҚ құрамында «жазба» (жазбалар) типіндегі мәліметтер даналарын (экземплярын) қамтитын «бұтақ» типіндегі мәліметтер даналарының реттелген жиынтығы болып табылады. Көп жағдайда типтердің арасындағы туыстық қатынастарды жазбалардың арасындағы қатынастарға көшіреді. Жазбалар өрістері шындығында МҚ-ның негізгі мазмұнын құрайтын сандық немесе символдық мәндерді сақтайды. Иерархиялық МҚ-ғы барлық элементтерді қарап шығу әдетте жоғарыдан төмен қарай және солдан оңға қарай жүргізіледі.
Иерархиялық модельдің мәліметтер қорлары бұтақ түріндегі құрылымы бар нысандарды сипаттауға ыңғайлы. Мысалы, белгілі бір кәсіпорынның құрылымын келесі түрде келітруге болады (1.2-сурет).
1.2-сурет. Кәсіпорынның иерархиялық құрылымы
Өзінен басқа жазбаға сілтеме жасалатын жазба «ата тегі» немесе бағындыратын жазба деп аталады. Сілтеме жасалатын жазба «ұрпақ» немесе бағыныңқы жазба деп аталады. Иерархиялық модельде әрбір ұрпақтың тек бір ғана ата тегі болады, басқаша айтқанда бір ұрпаққа екі және екіден артық ата тегі сілтеме жасай алмайды. Сілтемені нұсқау үшін ата тегі-жазбаның өрісі болуы тиіс, ол жерге тасымалдағыштағы ұрпақ-жазбаның физикалық мекен-жайы жазылады. Ұрпақ-жазба сақталатын тасымалдағыштағы осы физикалық мекен-жай көрсеткіш деп аталады. Жазбаларды байланыстырудың мысалы (1.3-сурет):
1.3-сурет. Жазбаларды байланыстыру
Сонымен, иерархиялық модельдегі мәліметтер арасындағы байланысты ұйымдастыру үшін физикалық мекен-жайлардың көрсеткіштері қолданылады.
Мәліметтердің иерархиялық моделінің артықшылықтарына ЭЕМ жадын тиімді пайдалану мен мәліметтермен негізгі амалдарды орындау уақытының көрсеткіштері жатады. Мәліметтердің иерархиялық моделі иерархиялық тұрғыдан реттелген ақпаратпен жұмыс істеу үшін ыңғайлы.
Иерархиялық модельдің кемшілігіне күрделі логикалық байланыстары бар ақпаратты өңдеу үшін оның көлемінің тым орасан үлкен болуы, сондай-ақ қарапайым пайдаланушы үшін түсінуге қиындығы жатады.
3.2. Желілік модель.
Желілік модельдерде мәліметтердің арасындағы өзара байланыстар еркін граф түрінде болады, ондағы әрбір ұрпақтың екі және одан да көп ата тегі болуы мүмкін.
Желілік модельдің мәліметтер қоры жазбалар жинағы мен байланыстар жинағынан құралады. Байланыстардың жинағы физикалық көрсеткіштері бар өрістен тұрады.
Осылайша, желілік МҚ сұлбасын сипаттау үшін типтердің екі тобы: «жазба» және «байланыс» қолданылады. «Байланыс» типі «жазба» типінің ата тегі және ұрпақ типтері үшін анықталады. «Байланыс» типінің айнымалылары байланыстардың даналары болып табылады.
Желілік МҚ жазбалар жинағы мен сәйкес байланыстар жинағынан тұрады. Байланыстарды қалыптастыруға ерекше шектеулер қойылмайды. Егер иерархиялық құрылымдарда ұрпақ-жазбаның бір ғана ата тегі –жазбасы болса, ал мәліметтердің желілік моделінде ұрпақ-жазба ата тегі-жазбалардың (өгей ата-аналар) кез келген санына ие бола алады.
Келесі суретте (1.4-сурет) инженер лауазымына сәйкес келетін жазбаға екі жазба сілтеме жасайды.
1.4-сурет. Желілік модельдегі жазбаларды байланыстыру
Иерархиялық модельді желілік модельдің дербес жағдайы ретінде қарастыруға болады.
Мәліметтердің желілік моделінің артықшылығы жадының шығындалуы мен жеделдік көрсеткіштері бойынша тиімді түрде жүзеге асыру мүмкіндігі болып табылады. Желілік-модель иерархиялық модельмен салыстырғанда еркін түрдегі байланыстардың құрылу тұрғысынан үлкен мүмкіндіктер ұсынады.
Мәліметтердің желілік моделінің кемшілігі – оның негізінде құрылған МҚ сұлбасының жоғары дәрежедегі күрделілігі мен қатқылдығы, сондай-ақ қарапайым пайдаланушы үшін МҚ-дағы ақпаратты өңдеуді түсіну мен орындаудың қиындығы. Бұған қоса, мәліметтердің желілік моделінде жазбалардың арасында еркін түрдегі байланыстардың орнау мүмкіндігінің салдарынан байланыстардың біртұтастығына қатысты бақылау әлсірейді.
Мәліметтер қорының иерархиялық және желілік модельдерінде физикалық көрсеткіштерді пайдалану, мәліметтерді өңдеудің жылдамдығын едәуір арттыра түсті. Сонымен бірге, бұл модельдерде мәліметтердің өзара байланыстарының біртұтастығын сақтауға қатысты елеулі кемшіліктер анықталды. Байланыстардың біртұтастығының сақталуын бақылау ата-тегсіз ұрпақ болмайды деген ұстанымды сақтауға негізделген. Мәліметтер қорына өзгертулер енгізген жағдайда байланыстарды, физикалық көрсеткіштерді қайтадан анықтау қажеттігі туындайды, бұл үлкен қиындықтармен, пайдаланушының уақыты мен күш-жігерінің шығындарымен байланысты болады.
4-ДӘРІС. Реляциялық модель. Реляциялық алгебра
Қарастырылатын сұрақтар:
Реляциялық модель.
Атрибут (өріс, бағана).
Кортеж (жазба, жол).
Қатынас (кесте).
Нормаль формалар.
Алғашқы және сыртқы кілттер.
Реляциялық алгебраның амалдары.
Реляциялық есептеу.
Қалыптандыру.
Мәліметтердің реляциялық моделі.
Реляциялық модельдің анықтамасы.
Иерархиялық және желілік модельдерде жазбаларды байланыстыру үшін физикалық көрсеткіштерді пайдалану мәліметтерді манипуляциялау мүмкіндіктерін едәуір шектейді және осы модельдердің мәліметтер қорларын өңдеу күрделі және көп еңбекті қажет ететін процесс болып табылады.
1970 жылы ІВМ фирмасының қызметкері Эдгар Кодд реляциялық модель деп аталған мәліметтер қорының жаңа моделін ұсынған бірқатар еңбектерін жариялаған болатын. Сонымен қатар, реляциялық мәліметтер қорларын өңдеу үшін Кодд мәліметтерді өңдеудің тілдерін – реляциялық алгебра мен реляциялық есептеуді әзірлеп шығарды, олар бір командамен бүкіл мәліметтер қорын өңдеуден өткізуге мүмкіндік береді, ал иерархиялық және желілік модельдерде бір жолы тек бір ғана жазба өңдеуден өткізіледі. Физикалық көрсеткіштердің орнына Кодд мәліметтердің тасымалдағышта физикалық орналасуына тәуелсіз оларды өздерінің ішкі логикалық қарым-қатынастарына сәйкес байланыстыру идеясын ұсынды.
Реляциялық модельдің мәні – ол мәліметтерді реляциялар немесе қатынастар деп аталатын екі өлшемді кестелер түрінде беруді ұйымдастырады және ұсынады. Бір кесте бір нысанды, мысалы, сауда фирмасының клиенттерін сипаттайды. Кестенің бағандары мәліметтер қорының өрістеріне сәйкес келеді және атрибуттар деп аталады. Сол арқылы атрибут нысанның жеке қасиетін сипаттайды. Кестенің жолдары жазбаларға сәйкес келеді және кортеж деп аталады. Сонымен, кортеж нысанның бір элементіне арналған атрибуттар мәндерінің жиынтығын, ал қатынас – кортеждердің жиынын сипаттайды. Мәліметтер қорының құрылымын әзірлеу және сипаттау кезінде әрбір кестедегі атрибуттарға атаулар беріледі және олардың типтері анықталады, мысалы, атауы Name, типі CHAR немесе атауы Amount, ал типі REAL. Сонымен қатар INTEGER типі, DATA типі және басқа да типтер болуы мүмкін.
Кестеге де атау беріледі. Мәліметтер қорының біреуі бірнеше кестеден тұруы мүмкін және қандай да бір құрамдас нысанды сипаттайды. Мәліметтер қорына да атау беріледі. Мысалы, қандай да бір сауда фирмасын сипаттайтын Orion оқу мәліметтер қоры келесі үш кестеден: Salecpeople, Customers, Orders кестелерінен тұрады (1 қосымша).
Егер кестенің элементі әлі анықталмаған болса немесе ешқандай мәнге ие болмаса, онда оған Null - мәні меншіктеледі.
Мәліметтердің арасындағы логикалық байланыс бастапқы және сыртқы кілттердің көмегімен жүзеге асырылады. Бастапқы кілт деп кестенің әрбір жолын бір мәнді анықтайтын кестедегі атрибуттардың ең аз жиынтығы аталады. Мысалы, Salecpeople кестесінде бастапқы кілт Snum бағаны, ал Customersкестесінде Cnum бағаны болып табылады. Осылайша, бастапқы кілтті құрайтын атрибуттар мәндерінің комбинациясы әр жазба үшін бірегей, қайталанбайтын болып табылады. Сыртқы кілт деп мәндерінің комбинациясы кейбір жазба үшін бастапқы кілттің жиынтығы аталады. Сыртқы кілттер бір мәліметтер қорының кестелеріндегі мәліметтердің арасындағы қажетті байланыстарды қамтамасыз етеді.
Мысалы, Orion мәліметтер қорында Orders кестесінің Cnum және Snum бағандары сыртқы кілттер болып табылады. Мәліметтер арасындағы байланыстарды келесі сурет түрінде көрсетуге болады (1.5-сурет)
Orders
-
Onum
|
Amount
|
Date
|
Cnum
|
Snum
|
…
0813006
…
|
…
1098.16
…
|
…
10.03.2005
…
|
…
2008
…
|
…
1007
…
|
Customers
-
Cnum
|
Cname
|
City
|
…
2008
…
|
…
Pereira
…
|
…
1004
…
|
Salecpeople
Snum
|
Sname
|
City
|
Manager
|
…
1007
…
|
…
Rifkin
…
|
…
Barselona
…
|
…
1004
…
|
1.5-сурет. Реляциялық модельдегі жазбаларды байланыстыру
Сонымен реляциялық кестенің анықтамасынан келесілер шығады:
бастапқы кілттің және оған сәйкес келетін сыртқы кілттің атрибуттарының атаулары бірдей болуы міндетті емес, бірақ та бір типті болуы тиіс;
мәліметтер қорының әрбір кестесінің бірнеше сыртқы кілттері болуы мүмкін, ал бастапқы кілт тек біреу ғана бола алады;
жалпы жағдайда кестеде екі және одан да көп бірдей кортеждер болуы мүмкін емес;
кестеде кортеждер реттелмеген, еркін түрде болуы тиіс;
атрибуттар да реттелмеген, еркін түрде болуы тиісті.
2 қосымшада адамзат қызметінің әр түрлі саласындағы мәліметтер қорының мысалдары келтірілген.
Мәліметтердің реляциялық моделінің артықшылығы оны ЭЕМ-де физикалық жүзеге асырудың қарапайым, түсінікті және ыңғайлы болуында. Пайдаланушы үшін дәл осы қарапайымдылығы мен түсініктілігі оларды кең түрде қолдануға негізгі себеп болды. Осы типтегі мәліметтерді өңдеу тиімділігінің мәселелері техникалық тұрғыдан шешілетін болып шықты.
Реляциялық модельдің негізгі кемшіліктері:
жеке жазбаларды идентификациялаудың стандарттық құралдарының болмауы;
иерархиялық және желілік байланыстарды сипаттаудың күрделілігі жатады.
Реляциялық алгебра
Реляциялық алгебра – бұл реляциялық кестелерді өңдеу тілі. Реляциялық алгебра келесі амалдардан тұрады:
біріктіру;
қиылысу;
айыру;
көбейту;
таңдау;
проекцияны құру;
проекция;
қосу (жалғау);
бөлу;
меншіктеу.
Біріктіру амалы екі кестенің мәліметтерін үйлестіруге, екі кестенің жазбалары (кортеждері) тек бір-ақ рет пайда болатын кестені құруға мүмкіндік береді. Біріктіру амалы U әрпімен беріледі. Мысалы:
а1 a2 a3c1 c2 c3a1 a2 a3
b1 b2 b3 U f1 f2 f3 = b1 b2 b3
c1 c2 c3 a1 a2 a3 c1 c2 c3
d1 d2 d3d1 d2 d3
f1 f2 f3
Екі кестені біріктіру кезінде олар бағандардың (атрибуттардың) саны бойынша, сондай-ақ олардың типі бойынша сәйкес келуі тиіс.
Қиылысу амалы екі кестенің ортақ жолдарын бөліп алуға мүмкіндік береді. ^ символымен белгіленеді. Мысалы,
а1 a2 a3 c1 c2 c3 a1 a2 a3
b1 b2 b3 ^ f1 f2 f3 = c1 c2 c3
c1 c2 c3 a1 a2 a3
d1 d2 d3
Айыру амалы бір кестеден басқа кестеде жоқ жазбаларды (жолдарды) бөліп алуға мүмкіндік береді, минус белгісімен белгіленеді. Мысалы:
а1 a2 a3 c1 c2 c3b1 b2 b3
b1 b2 b3 - f1 f2 f3 = d1 d2 d3
c1 c2 c3 a1 a2 a3
d1 d2 d3
Көбейту амалы екі кестенің декарттық көбейтіндісін құрайды. * символымен белгіленеді. Мысалы:
х1 y1 z1 * a1 a2 x1 y1 z1 a1 a2
x2 y2 z2b1 b2 = x1 y1 z1 b1 b2
c1 c2x1 y1 z1 c1 c2
x2 y2 z2 a1 a2
x2 y2 z2 b1 b2
x2 y2 z2 c1 c2
Таңдау амалы бір кестеден көрсетілген шартқа сәйкес келетін жазбаларды іріктеп алып, екінші кестені құруға қолданылады. Таңдау әрекетін белгілеу үшін SELECT сөзі қолданылады. Мысалы:
SELECT (Orders:’03/10/2000’
Шарт дегеніміз өзінде =, >, <, >=, <= қатынастық әрекеттер мен «және», «немесе», «емес» логикалық амалдар қолданылатын логикалық өрнек болып табылады.
Проекцияны құру амалы кестеден жаңа кестені құру үшін қажетті бағандарды таңдап алуға мүмкіндік береді. Проекцияны құру амалы келесі тәртіппен жазылады.
Кестенің атауы. [баған, баған, . . . , баған]
Қосу (жалғау) амалы кестелердің арасындағы мәліметтерді байланыстыру үшін қолданылады. Бұл амал келесі түрде жазылады:
JOIN (кесте, кесте)
Жалғау үшін кестелердің бағандары бірдей болуы тиіс.
Жалғау амалын орындау кезінде келесі әрекеттер орындалады:
Бастапқы кестелердің көбейтіндісі анықталады;
Алынған көбейтіндіден ортақ бағандардың мәндері бірдей болатын жолдар таңдап алынады;
Жобалау кезінде алғашқы кестенің ортақ бағандары алынып тасталады.
Жалғау мысалы:
Ортақ бағандар
а, b, cd, b1
А=a1,b1, c1 B= d1, b1
a2, b2, c2 d2, b
a3, b3, c3
JOIN(A,B) = a b c d b1 = a b c d2 b = a b c d2
a b c d1 b1 a1 b1 c1 d b1 a1 b1 c1 d
a b c d2 b a1 b1 c1 d1 b1 a1 b1 c1 d1
a1 b1 c1 d b1
a1 b1 c1 d1 b1
a1 b1 c1 d2 b
a2 b2 c2 d b1
a2 b2 c2 d1 b1
a2 b2 c2 d2 b
a3 b3 c3 d b1
a3 b3 c3 d1 b1
a3 b3 c3 d2 b
Жалғаудың үш түрі болады:
табиғи (қарапайым) жалғау;
тэта – жалғау;
сыртқы жалғау.
Қарапайым жалғауда бастапқы кестелердің көбейтіндісінен, ортақ атрибуттардың мәндері өзара сәйкес келетін жазбалар іріктеп алынады.
Тэта – жалғауда бастапқы кестелердің көбейтіндісінен берілген атрибуттар белгілі бір қатынаста болатын жазбалар іріктеп алынады, мысалы, артық амалы бойынша. Тэта – жалғау жалпы алғанда келесі түрде беріледі.
JOIN (А,В: А.атрибут Ө В.атрибут)
Осылайша, қарапайым жалғауда және тэта-жалғауда қорытынды кестеде бастапқы кестелердің бір-біріне сәйкес келетін жазбалары ғана беріледі.
Сыртқы жалғауда бастапқы кестелердің әрбір жазбасы қорытынды кестеде ең болмағанда бір рет берілетін болады. Алғашқы (сол) немесе екінші (оң) бастапқы кестенің жазбалары қорытынды кестеде тым болмағанда бір рет берілетініне байланысты, сәйкесінше сол жақтағы, оң жақтағы және толық жалғануды айырады.
Бөлу амалы бір кестенің ішінен екінші кестенің әрбір жолына сәйкес келетін жолдарды таңдап алу арқылы жаңа кестені құруға мүмкіндік береді. Бөлу амалы келесі түрде жазылады:
1-кесте/2-кесте
xу
a b b
c d / e = a
a e f
a f
Меншіктеу амалы реляциялық алгебраның алдыңғы амалының нәтижесіне қандай да бір атау меншіктейді. Мысалы:
С:= JOIN(А, В)
Дейт [3] реляциялық алгебраны келесі амалдармен толықтырады:
RENAME <кесте><атрибуттың ескі аты> AS <атрибуттың жаңа аты>, <атрибуттың ескі аты> AS <атрибуттың жаңа аты>, . . . кестедегі атрибут атын өзгертуге мүмкіндік береді;
кеңейту
EXTEND <кесте> ADD <өрнек> AS <жаңа атрибут>
берілген өрнекті есептеу арқылы мәні табылатын жаңа атрибутты кестеге қосады;
қорытындылар жасау
SUMMARIZE <кесте> BY (<атрибуттар тізімі>) ADD <өрнек> AS <жаңа атрибут>
берілген тізіммен топтастырылған кортеждер үшін, берілген өрнек бойынша вертикальды топтық есептеулерді орындайды және есептеулер нәтижелері оның кортеждер саны бастапқы кестенің топтар санына тең болатын, қалыптастырылып отырған кестедегі жаңа бағанды құрайды;
кіргізу
INSERT <1 кестеден таңдау> INTO <2 кестеге қосу>
2 кестеге 1 кестеден таңдап алынған кортеждерді қосу;
жаңарту
UPDATE <бастапқы кестеден таңдау><элементтер тізімі>
таңдап алынған кортеждер үшін көрсетілген элементтердің атрибут:=өрнек түріндегі мәндерін өзгертулер орындалады;
жою
DELETE <бастапқы кестеден таңдау>
бастапқы кестеден таңдап алынған кортеждерді жою орындалады.
Сонымен, реляциялық алгебра дегеніміз – бұл реляциялық кестелерді өңдеудің процедуралық тілі, басқаша айтқанда реляциялық алгебра есептің қадамдық шешімін қамтамасыз етеді.
Реляциялық есептеу.
Реляциялық есептеу, реляциялық алгебраға қарағанда, кестені бір сұраныстың көмегімен анықтайды. Реляциялық есептеуде сұраныс келесі түрде беріледі:
{мақсаттық тізім: анықтаушы өрнек}
Мақсаттық тізім реляциялық есептеудегі сұраныстың шешімі болып табылатын кестенің атрибуттарын (бағандарын) анықтайды.
Анықтаушы өрнек шешу кестесінің элементтері қанағаттандыруға тиіс болатын шарттарды береді. Фигуралы жақшалар шешу кестесіндегі жолдардың көптігін білдіреді. Еркін түрдегі жолды белгілеу үшін латын алфавитінің кіші әріптері қолданылады. Мысалы, «Орион» фирмасының сауда агенттерінің қайсысы Лондонда тұрады деген сұраныс келесі түрде беріледі:
{r.Summ, r.Sname:=r IN Salespeople AND r.City=”London”}
Сұраныс нәтижесінде келесі кесте пайда болады.
Summ Sname
1001 Pal
1004 Smith
Бұл мысалда реляциялық есептеудің сұранысы реляциялық алгебраның келесі екі амалына – таңдау және проекцияны құруға теңбе-тең болады. A=select(Salespeople: City=London), B=A[Summ, Sname]
Тұтастай алғанда жоғарыда көрсетілген мысалдар тәрізді сұраныстарды, жалғау және бөлу амалдарынан басқа, реляциялық алгебраның амалдарымен орындауға болады. Реляциялық есептеуде қосу және бөлу амалдарына ұқсас келетін әрекеттерді орындау үшін сәйкесінше бар болу кванторы мен жалпыға бірдей кванторы қолданылады.
Реляциялық есептеуде болмыс кванторы дегеніміз – бұл берілген шартты қанағаттандыратын ең болмағанда бір жолдың болуын білдіретін өрнек. Егер де, мысалы, 1002 агентіне сұраныс жасаған клиенттерді атап шығу қажет етілсе, онда келесідегідей сұраныс жасау қажет:
{r.Cname:=r IN Customers AND EXISTS s IN Orders (s.Cnum=r.Cnum and s.Snum=1002)}
Мұндай сұраныс реляциялық алгебраның қосу және проекцияны құру амалдары орындайтын әрекетті орындайды.
Sname
Lewe
Grass
A=Join (Customers Orders: Customers.Cnum=Orders. Cnum and Orders.snum=1002)
B=[Cname]
Реляциялық есептеудегі жалпыға бірдей кванторы – бұл белгілі типтегі әрбір жолда қолданылатын шартты білдіретін өрнек. Мысалы, әрбір клиенттен қай агент тапсырыс алды? Сұраныс келесі түрде болады.
{r.Snum, r.Sname: r IN Salespeople AND s IN Orders AND THERE EXISTS c IN Customers (r.Snum = s.Snum) AND (c.Cnum = s.Cnum)}
Реляциялық есептеу – қалай қол жеткізуге болатынын емес, нені орындау қажет екендігін тұжырымдауға мүмкіндік беретін процедуралық емес тіл. Реляциялық есептеу, реляциялық алгебра сияқты теориялық тіл болып табылады және логикалық сипаттамаларға негізделген реляциялық мәліметтер қорының кестелерін, олардың физикалық құрылымына қатыссыз манипуляциялауға арналған. Реляциялық есептеу лексикалық тұрғыдан реляциялық алгебраға барабар, яғни ол реляциялық алгебра шешетін есепті шешуге мүмкіндік береді.
Қалыптандыру.
Мәліметтер қорын әзірлеу, жобалау кезінде кестелер белгілі бір талаптарды қанағаттандыруы, яғни стандарттық түрге ие болуы тиіс. Бұл талаптар қалыпты форма деп, ал қалыпты түрге келтіру үдерісі – қалпына келтіру деп аталады. Қалпына келтірілмеген кестелерді реляциялық алгебраның әрекеттері дұрыс өңдемейді. Мәліметтер қорының кестелері 4 қалыпты түрге сәйкес келуі тиіс.
Алғашқы қалыпты форма атрибуттардың барлық мәндері жиындар емес, қарапайым шамалар болуға тиіс болатынын ескереді. Мысалы, келесі түрдегі жазбаға
0023003 {607.1, 160.09} 10/03/2000 2001 1001
жол берілмейді, себебі ол алғашқы қалыпты формаға сәйкес келмейді.
Екінші қалыпты форма. Егер де ешбір кілттік емес атрибуттар кілттің бөлігіне тәуелді болмаса, реляциялық кесте екінші қалыпты формада болады. Осылайша, екінші қалыпты форма бастапқы кілт құрамдас болған жағдайда, былайша айтқанда, бірнеше атрибуттардың жиыны болған жағдайда ғана бұзылуы мүмкін. Мысалы, келесі кесте,
Clerk Office Name
1004 312 Smith
1001 312 Pol
1004 515 Smith
1001 460 Pol
1001 435 Pol
ондағы Clerk пен Office бастапқы кілт, екінші қалыпты түрде емес, себебі Name атрибуты Clerk атрибутына тәуелді.
Кесте екінші қалыпты формада болу үшін оны келесі түрде екі кестеге бөлу керек
Clerk OfficeClerk Name
1004 312 1001 Paul
1001 312 1004 Smith
1004 515
1001 460
1001 435
Үшінші қалыпты форма. Егер кез келген детерминант кілт болып табылса, онда реляциялық кесте үшінші қалыпты формада болады. Детерминант деп кестенің әрбір жолындағы басқа атрибуттың мәнін анықтайтын атрибут аталады.
Кестені қарастырайық.
Kod Skill Bonus
1004 Manager 3.5
1001 Clerk 3.0
1007 Clerk 3.0
Бұл кестеде Kod бағаны кілт болып табылады және Skill мен Bonus бағандарын анықтайды. Сонымен қатар, Skill (біліктілігі, разряды) бағаны кілт болмаса да, Bonus бағанында анықтайтынын көріп отырмыз. Бұл деген сөз, кесте үшінші қалыпты формада бола алмайды. Бұл мәселені шешу үшін кестені келесі түрде екі кестеге бөлу керек.
Kod SkillSkill Bonus
1004 Manager Manager 3.5
1001 Clerk Clerk 3.0
1007 Clerk
Төртінші қалыпты форма өзге атрибутқа (көпмәнді байланыстылық) тәуелді болатын атрибут мәніңің көп рет қайталану мүмкіндігіне жол бермейді. Мысалы, егер кестеде агент Smith-тің 1001 және 1007 қызметкерлерінің менеджері болып табылатынын, және 2003, 2001, 2004 клиенттерінен тапсырыс алғанын көрсету керек болса, онда келесі кесте пайда болады.
Name Snum Cnum
Smith 1001 2003
Smith 1001 2001
Smith 1001 2004
Smith 1007 2003
Smith 1007 2001
Smith 1007 2004
Алынған кесте төртінші қалыпты формада емес. Төртінші қалыпты формаға келтіру, кестені әрбір тәуелді атрибут жеке орналасқан екі кестеге бөлу арқылы орындалады.
Name SnumNameCnum
Smith 1001 Smith 2003
Smith 1007Smith 2001
Smith 2004
Қарастырылған төрт қалыпты формадан өзге, негізінен теориялық сипаттамасы бар әрі практикалық маңызы жоқ басқа да формалар болады. Бұлар біріккен тәуелділіктері болмайтын бесінші қалыпты форма мен облыс/кілт қалыпты формасы.
Бесінші қалыпты формада біріккен тәуелділіктер болмайды. Мысал қарастырайық.
Kod Office Project
1001 02 010
1001 05 010
1003 01 008
1004 03 008
1004 03 007
Берілген кестеде бірнеше бөлімдерде жұмыс істейтін және бірнеше жобаларды орындайтын қызметкерді алып тастау немесе жобаның нөмірін өзгерту, кестеде атрибуттардың біріккен тәуелділіктері болғандықтан қиын болады. Сондықтан берілген кестені төмендегідей үш кесте түрінде ұсыну қажет.
Kod Office Kod Project Office Project
1001 02 1001 010 02 010
1001 05 1003 008 05 010
1003 01 1004 008 01 008
1004 03 1004 007 03 008
Реляциялық кесте, егер кез келген шектеу шарты бар болу (доменнің) облысының анықтамасы мен кілттерден шығатын болса облыс/кілт қалыпты формасына ие болады.
2>1>
Достарыңызбен бөлісу: |