дәрістер1-15. Глоссарий атрибут
Скачать 2.28 Mb.
|
Бақылау сұрақтары МҚ әкімшісінің қызметіне не жатады? МҚ әкімшісі нені орындайды? Ақпараттық жүйе дегеніміз не? Мәліметтер қоры серверінде не орналасады? Ақпараттық жүйеге не кірмейді? Қандай ақпараттық жүйе жергілікті деп аталады? МҚ-мен жұмыс істейтін, ақпараттық жүйелерді программалық қамтамасыз етуге не жатады? 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
Customers
Salecpeople
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 <бастапқы кестеден таңдау> бастапқы кестеден таңдап алынған кортеждерді жою орындалады. Сонымен, реляциялық алгебра дегеніміз – бұл реляциялық кестелерді өңдеудің процедуралық тілі, басқаша айтқанда реляциялық алгебра есептің қадамдық шешімін қамтамасыз етеді. 2>1> |