Кіріспе
Мәліметтер қорларының жүйесі объекттердің екі түрін: объекттерді және байланыстарды көрсетуге мүмкіндік беруі керек. Сонымен бірге олар арасында принципиалды айырмашылық жоқ: байланыс арнайы түрдегі объект болып табылады. Мәліметтерді модельдеудің үш амалы (иерархты, желілік, реляциялық) пайдаланушыға байланыстарды көрсету мен өңдеуге мүмкіндік беретін әдістерімен айырылады.
Индексті-тізбектелген файлдар белгілі жазбаға тікелей қол жеткізудің проблемаларын шешті. Мысалы, САТУЛАР файлдан бірінші жазбаны оқып, клиенттің атын және адресін анықтағымыз келсе, клиент идентификаторын қолданамыз. Енді біздерге керісінші есепті шешу керек болсын: белгілі клиентке (мысалы, идентификаторы ID=100) барлық сатуларды анықтағымыз келеді. Файлдық жүйеде тікелей бұл сұраққа жауап ала алмаймыз. Осындай сияқты қолданбалы есептерді шешу үшін мәліметтер қорын басқару жүйелері өңделген. Мәліметтер қорын қолданатын бірінші ақпараттық жүйе 60-шы жылдары (XX ғ.) пайда болған. Ол иерархиялық моделъде негізделген болатын. Мәліметтер арасындағы қатынастардың иерархия түрдегі құрылымы болатын мәліметтер моделі иерархиялық модель болып табылады. Бұл модельдер ертерек пайда болған, қазіргі кезде осы заманғы реляциялық модельдерге қарағанда сирек қолданылады. Бірақ та осы модельдер негізінде жұмыс жасайтын жүйелер әлі де қолданылады. Нақты ортада көптеген байланысгар иерархияларға сәйкес болатыны иерархиялық модельдің пайда болуына себеп болды. Объекттер кластары арасындағы өзара байланыстарын көрсету үшін иерархия қарапайым және де орынды.
Негізгі бөлім
Иерархиялық модель
Иерархиялық модельде негізгі ақпараттық бірліктер мәліметтер қоры, сегмент және өріс болып табылады. Мәліметтер қорларын басқаратын жүйе көмегімен қол жететін мәліметтердің минималды бөлінбейтін бірлігі мәліметтердің өрісі деп аталады. Мәліметтер қорларының мәселелерін қарастыратын DBTG (Data Base Task Group) американ ассоциациясы терминологиясы бойынша сегмент деп түсінетін бөлік жазба болып табылады. Сонымен бірге осы ассоциация терминдері бойынша екі түсініктеме: сегмент muni иемесе жазба muni және де сегмент данасы немесе жазба данасы анықталады.
Мәліметтердің элементтер типтерінің аталған жиыны сегмент muni деп аталады. Мәліметтердің элементтерінің немесе белгілі өрістерінің мәндерінен сегмент экземпляры құрастырылады. Иерархиялық модельде әр сегмент типі біртекті жазбалар жиынын құрастырады. Берілген жиында әртүрлі жазбаларды бөлу үшін сегменттің әр типінің кілті немесе кілттік атрибуттар жиыны (өрістер, мәліметтер элементтері) болу керек. Сегмент данасын бір мағналы идентификациялайтын мәліметтер элементтерінің жиыны кілт деп аталады.
Иерархиялық модельде сегменттер бағытталған ағаш құрамды графқа бірлеседі. Графтың бағытталган қабырғалары сегменттер арасындағы иерархиялық байланыстарды көрсетеді деп есептеледі: иерархия бойынша жоғары тұрған және қарастырылып отырған сегмент типімен байланысқан сегменттің әр данасына қарастырылып отырған (бағынышты) сегмент типінің бірнеше (көп) даналары сәйкес келеді.
Иерархияның жоғарғы денгейінде тұрған сегмент типі онымен бағытталған иерархиялық қабырғалармен байланысқан сегментке қарай логикалық бастапқы деп, ал соңғылары логикалық бағынышты деп аталады. Кейде бастапқы сегменттер аналық сегмент деп, ал бағыншыты сегменттер ұрпақтық сегменттер деп аталады.
Концептуалды деңгейде иерархиялық модель терминдерінде мәліметтер қорының сұлбасы түсініктемесі анықталады. Бөлек ағаштар жиындары иерархиялық мәліметтер қорының сұлбасы болып табылады, осы модельдегі әр ағаш физикалық мәліметтер коры деп аталады. Әр физикалық мәліметтер қоры келесідей иерархиялық шектеулерді қанағаттандыру керек:
Әрбір физикалық мәліметтер қорында түпті сегмент яғни логикалық бастапқы (аналық) сегменті жоқ болады;
Әрбір логикалық бастапқы сегмент логикалық багынышты сегменггердің еркін санымен байланысуы мүмкін;
Әрбір логикалық багынышты сегмент тек қана жалғыз аналық сегментпен байланыса алады.
Сегменттер даналары арасында да иерархиялық байланыстар бар болады. Аналық сегменттің бір типімен байлансықан бір типті ұрпақ даналар «егіздер» деп аталады.
Сонымен, иерархиялық модельде мәліметтер екі категорияға бөлінеді: басты және бағынышты. Иерархияда файлдың әр бағынышты жазбасында жалғыз ғана бағындыратын жазба болады. Бір жазба түрінде жазылған сатулар туралы мәліметтердің орнына ШОТТАР файлын орнатайық. Әрбір клиентте бірнеше шот болуы мүмкін. Әрбір шот бірнеше жолдардан (жазбалардан) турады, шоттың құрамы ШОТ_ЖОЛДАРЫ файлда көрсетіледі. Сонымен, САТУЛАР файлы орнына бізде: ШОТТАР және ШОТ_ЖОЛДАРЫ файлдар бар. Бұл файлдарда клиенттерге шоттар «бағынышты», ал шоттарга шот жолдары «бағынышты». Иерархиялық мәліметтер қорында бұл үш файл физикалық көрсеткіштермен байланысады яғни жазбаларға қосындыланған мәліметтер өрістерімен. Көрсеткіш — жазбаның дискідегі орынын белгілейтін физикалық адрес. Клиент туралы әрбір жазбада осы клиенттің шотының бірінші жазбасына көрсеткіш орнатылады. Ал, шоттардың жазбаларында басқа басқа жазбалар мен шот жолдарының жазбаларына көрсеткіш орнатылады. Сонымен, жүйе белгілі клиенттің барлық шоттарын және шот жолдарын таба алады.
Клиеттер, шоттар жане шо жолдары арасындағы иерархия 1.5.2 суретте келггірілген. Бұл файлдарда клиенттерге шоттар баынышты», ал шоттарға шот жолдары «бағынышты». Иерархиялык мәліметтер қорында бұл үш файл жазбаға қосылған мәліметтер өрістерімен немесе физикалық көрсеткіштермен байланысады. Көрсеткіш — жазбаның дискідегі орынын белгілейтін физикалық адрес. Клиент туралы әрбір жазбада осы клиенттің шотының бірінші жазбасына көрсеткіш орнатылады. Ал, шоттардың жазбаларына басқа жазбаларға және шот жолдарының жазбаларына көрсеткіш енгізілді. Сонымен, жүйе белгілі клиенттің барлық шоттарын және шот жолдарын таба алады.
Иерархиялық мәліметтер қорына клиенттер туралы мәліметтерді қосайық. Мысалы, біздің клиенттер — сауда компаниялары, біздерге әр компанияның дүкендерінің тізімі керек. Онда сұлба 1.5.3 суреттегі түрге түрленеді. Мұнда ӨКІЛ деп белгілі дүкенге тауарларды сатып алушыны түсінеміз.
Иерархиялық модельдің кемшілігі бар, себебі барлық қатынастарды иерархия түрінде көрсету мүмкін емес. Мысалы, біздер шоттармен сауда агенттер арасындағы байланысты сұлбаға енгізгеніміз жөн (сауда агенттерге делдалдық ақшаларды есептеу үшін). Онда сұлба келесі түрге келеді 1.5.4 суретті қараңыз). Бірақ ол иерархиялық емес, себебі бір бағынышты файлда екі басты файлы бар.
Достарыңызбен бөлісу: |