Мәліметтердің үш негізгі модельдері туралы қазақша реферат
Мәліметтер қорларының жүйесі объекттердің екі түрін: объекттерді және байланыстарды көрсетуге мүмкіндік беруі керек. Сонымен бірге олар арасында принципиалды айырмашылық жоқ: байланыс арнайы түрдегі объект болып табылады. Мәліметтерді модельдеудің үш амалы (иерархты, желілік, реляциялық) пайдаланушыға байланыстарды көрсету мен өңдеуге мүмкіндік беретін әдістерімен айырылады.
Индексті-тізбектелген файлдар белгілі жазбаға тікелей қол жеткізудің проблемаларын шешті. Мысалы, САТУЛАР файлдан бірінші жазбаны оқып, клиенттің атын және адресін анықтағымыз келсе, клиент идентификаторын қолданамыз. Енді біздерге керісінші есепті шешу керек болсын: белгілі клиентке (мысалы, идентификаторы ID=100) барлық сатуларды анықтағымыз келеді. Файлдық жүйеде тікелей бұл сұраққа жауап ала алмаймыз. Осындай сияқты қолданбалы есептерді шешу үшін мәліметтер қорын басқару жүйелері өңделген. Мәліметтер қорын қолданатын бірінші ақпараттық жүйе 60-шы жылдары (XX ғ.) пайда болған. Ол иерархиялық моделъде негізделген болатын. Мәліметтер арасындағы қатынастардың иерархия түрдегі құрылымы болатын мәліметтер моделі иерархиялық модель болып табылады. Бұл модельдер ертерек пайда болған, қазіргі кезде осы заманғы реляциялық модельдерге қарағанда сирек қолданылады. Бірақ та осы модельдер негізінде жұмыс жасайтын жүйелер әлі де қолданылады. Нақты ортада көптеген байланысгар иерархияларға сәйкес болатыны иерархиялық модельдің пайда болуына себеп болды. Объекттер кластары арасындағы өзара байланыстарын көрсету үшін иерархия қарапайым және де орынды.
Иерархиялық модельде негізгі ақпараттық бірліктер мәліметтер қоры, сегмент және өріс болып табылады. Мәліметтер қорларын басқаратын жүйе көмегімен қол жететін мәліметтердің минималды бөлінбейтін бірлігі мәліметтердің өрісі деп аталады. Мәліметтер қорларының мәселелерін қарастыратын DBTG (Data Base Task Group) американ ассоциациясы терминологиясы бойынша сегмент деп түсінетін бөлік жазба болып табылады. Сонымен бірге осы ассоциация терминдері бойынша екі түсініктеме: сегмент muni иемесе жазба muni және де сегмент данасы немесе жазба данасы анықталады.
Мәліметтердің элементтер типтерінің аталған жиыны сегмент muni деп аталады. Мәліметтердің элементтерінің немесе белгілі өрістерінің мәндерінен сегмент экземпляры құрастырылады. Иерархиялық модельде әр сегмент типі біртекті жазбалар жиынын құрастырады. Берілген жиында әртүрлі жазбаларды бөлу үшін сегменттің әр типінің кілті немесе кілттік атрибуттар жиыны (өрістер, мәліметтер элементтері) болу керек. Сегмент данасын бір мағналы идентификациялайтын мәліметтер элементтерінің жиыны кілт деп аталады.
Иерархиялық модельде сегменттер бағытталған ағаш құрамды графқа бірлеседі. Графтың бағытталган қабырғалары сегменттер арасындағы иерархиялық байланыстарды көрсетеді деп есептеледі: иерархия бойынша жоғары тұрған және қарастырылып отырған сегмент типімен байланысқан сегменттің әр данасына қарастырылып отырған (бағынышты) сегмент типінің бірнеше (көп) даналары сәйкес келеді.
Иерархияның жоғарғы денгейінде тұрған сегмент типі онымен бағытталған иерархиялық қабырғалармен байланысқан сегментке қарай логикалық бастапқы деп, ал соңғылары логикалық бағынышты деп аталады. Кейде бастапқы сегменттер аналық сегмент деп, ал бағыншыты сегменттер ұрпақтық сегменттер деп аталады.
Концептуалды деңгейде иерархиялық модель терминдерінде мәліметтер қорының сұлбасы түсініктемесі анықталады. Бөлек ағаштар жиындары иерархиялық мәліметтер қорының сұлбасы болып табылады, осы модельдегі әр ағаш физикалық мәліметтер коры деп аталады. Әр физикалық мәліметтер қоры келесідей иерархиялық шектеулерді қанағаттандыру керек:
— Әрбір физикалық мәліметтер қорында түпті сегмент яғни логикалық бастапқы (аналық) сегменті жоқ болады;
— Әрбір логикалық бастапқы сегмент логикалық багынышты сегменггердің еркін санымен байланысуы мүмкін;
— Әрбір логикалық багынышты сегмент тек қана жалғыз аналық сегментпен байланыса алады.
Сегменттер даналары арасында да иерархиялық байланыстар бар болады. Аналық сегменттің бір типімен байлансықан бір типті ұрпақ даналар «егіздер» деп аталады.
Сонымен, иерархиялық модельде мәліметтер екі категорияға бөлінеді: басты және бағынышты. Иерархияда файлдың әр бағынышты жазбасында жалғыз ғана бағындыратын жазба болады. Бір жазба түрінде жазылған сатулар туралы мәліметтердің орнына ШОТТАР файлын орнатайық. Әрбір клиентте бірнеше шот болуы мүмкін. Әрбір шот бірнеше жолдардан (жазбалардан) турады, шоттың құрамы ШОТ_ЖОЛДАРЫ файлда көрсетіледі. Сонымен, САТУЛАР файлы орнына бізде: ШОТТАР және ШОТ_ЖОЛДАРЫ файлдар бар. Бұл файлдарда клиенттерге шоттар «бағынышты», ал шоттарга шот жолдары «бағынышты». Иерархиялық мәліметтер қорында бұл үш файл физикалық көрсеткіштермен байланысады яғни жазбаларға қосындыланған мәліметтер өрістерімен. Көрсеткіш — жазбаның дискідегі орынын белгілейтін физикалық адрес. Клиент туралы әрбір жазбада осы клиенттің шотының бірінші жазбасына көрсеткіш орнатылады. Ал, шоттардың жазбаларында басқа басқа жазбалар мен шот жолдарының жазбаларына көрсеткіш орнатылады. Сонымен, жүйе белгілі клиенттің барлық шоттарын және шот жолдарын таба алады.
Клиеттер, шоттар жане шо жолдары арасындағы иерархия 1.5.2 суретте келггірілген. Бұл файлдарда клиенттерге шоттар баынышты», ал шоттарға шот жолдары «бағынышты». Иерархиялык мәліметтер қорында бұл үш файл жазбаға қосылған мәліметтер өрістерімен немесе физикалық көрсеткіштермен байланысады. Көрсеткіш — жазбаның дискідегі орынын белгілейтін физикалық адрес. Клиент туралы әрбір жазбада осы клиенттің шотының бірінші жазбасына көрсеткіш орнатылады. Ал, шоттардың жазбаларына басқа жазбаларға және шот жолдарының жазбаларына көрсеткіш енгізілді. Сонымен, жүйе белгілі клиенттің барлық шоттарын және шот жолдарын таба алады.
Иерархиялық мәліметтер қорына клиенттер туралы мәліметтерді қосайық. Мысалы, біздің клиенттер — сауда компаниялары, біздерге әр компанияның дүкендерінің тізімі керек. Онда сұлба 1.5.3 суреттегі түрге түрленеді. Мұнда ӨКІЛ деп белгілі дүкенге тауарларды сатып алушыны түсінеміз.
Иерархиялық модельдің кемшілігі бар, себебі барлық қатынастарды иерархия түрінде көрсету мүмкін емес. Мысалы, біздер шоттармен сауда агенттер арасындағы байланысты сұлбаға енгізгеніміз жөн (сауда агенттерге делдалдық ақшаларды есептеу үшін). Онда сұлба келесі түрге келеді 1.5.4 суретті қараңыз). Бірақ ол иерархиялық емес, себебі бір бағынышты файлда екі басты файлы бар.
Мұндай қатынастар желілік деп аталады. Егер де файлдағы әр жазба басқа бірнеше файлдардың жазбаларына бағынатын болса мәліметтер арасындағы қатынастар желілік деп аталады. Осындай қатынастарды өңдеу қажеттіліктері себептерінен 60-шы жылдардың (XX ғасыр) аяғында желілік маліметтер қорларын басқару жүйелері пайда болды. Иерархиялық жүйелердегідей желілік мәліметтер қорларының жүйелерінде мәліметтерді байланыстыру үшін алдын ала анықталған физикалық көрсеткішітер қолданылды. Иерархияда әр ұрпақта (файлдағы бағынышты жазбада) тек қана жалғыз анасы (иерархияда бағындыратын жазба) балады. Желілік модельдер әртүрлі файлдардағы жазбалар арасында күрделілеу қатынастарды сүйемелдеді.
Желілік модельдің нетізгі объекттері келесі: мәліметтер элементі, мәліметтер агрегаты, жазба, мәліметтер жиыны. Иерархиялық модельдегідей мәліметтер қорын басқаратын жүйе көмегімен пайдаланушыға қол жеткізуге болатын минималды ақпараттық бірлік мәліметтер элементі болып табылады. Модельдегі жалпылаудың келесі деңгейіне мәліметтер агрегаты сәйкес. Модельде агрегаттардың екі типі анықталған: вектор типті агрегат және қайталанатын топ типті агрегат. Мәліметтер агрегатының аты болады, жүйеде осы ат бойынша агрегатқа қатысу болады. Нақты ортаның объекттерінің кейбір класын модельдейтін агрегаттар жиыны яғни мәліметтер элементі жазба деп аталады. Жазба түсініктемесі бұл жерде иерархиялық модельдегі «сегмент» түсініктемесіне сәйкес. Сегмент сияқты жазба үшін де жазба типі және жазба данасы түсініктемелері енгізіледі. Желілік модельдің келесі негізгі түсініктемесі «жиын» болып табылады. Жазбаның екі типін «бір-көпке» қатынасымен байланыстыратын екі деңгейлі граф жиын деп аталады. Жиын жазбалардың екі типтері арасындағы иерархиялық байланысты көрсетеді. Осы жиындағы жазбаның аналық типі жиын иесі, ал ұрпақтық жазба типі осы жиын мүшесі деп аталады. Жазбалардың кез келген екі типі үшін оларды байланыстыратын жиындардың кез келген саны берілуі мүмкін. Осындай мүмкіндіктің болғаны нақты ортаның екі объекттері арасындағы «көп-көпке» қатынасын модельдеуге мүмкіндік береді. Осы жағдай иерархиялық модельге қараганда желілік модельдің артықшылығы. Жиын ішінде бір жиын иесімен байланысты жиын мүшелерінің даналарын тізбектеп қарап шығуға болады. Жазбалардың екі типтері арасында жиындардың кез келген санын анықтауға болады: мысалы, екі өзара байланысқан жиындарды құрастыруға болады. Жазбаның бір типі бір кезде жиын иесі және жиын мүшесі бола алмайтыны жиынның маңызды шектеуі болып табылады.
Сонымен, физикалық көрсеткіштерді қолдану анықталған қатынаспен байланысқан мәліметтерді алуға мүмкіндік береді. Бірақ, бұл қатынастар алдын ала анықталуы керек. Басқа анықталмаған қатынастар негізінде мәліметтерді алу қиын немсе мњмкін емес. Физикалық көрсеткіштерде негізделген жүйелердің кемшілігін түсіну үшін, келесі модельді қарастырайық (1.5.5 суретті қараңыз). КЛИЕНТТЕР, ШОТТАР және ШОТ_ЖОЛДАРЫ файлдар физикалық көрсеткіштермен иерархиялық байланысқан. Олардан басқа ӨНДІРУШІЛЕР және ТАУАРЛАР файлдарыда иерархиялық байланысқан болсын. Бірақ, ТАУАРЛАР файлы ШОТ_ЖОЛДАРЫ файлмен физикалық көрсеткішпен байланысқан емес. Сұлбадағы ТАУАРЛАР мен ШОТ_ЖОЛДАРЫ файлдар арасындағы пунктир сызығы олар арасындағы логикалық байланыс бар екендігін көрсетеді, себебі шоттың әрбір жолы белгілі тауар туралы мәліметтен тұрады. Егер де бұл файлдар арасында физикалық көрсеткіш орнатылмаған болса, мысалы, сатып алынған таурлардың өндірушілері туралы мәліметті ала алмаймыз. Ол үшін күрделі, ұзақ бағдарламалау қажет болады.
1970 жылы доктор Е.Ф. Кодд (ол кезде ІВМ корпорапиясының қызметкері) бір мақаласында келесі идеяны ұсынды: мәліметтерді физикалық көрсеткіштермен емес, олардың логикалық өзара қатынастары бойынша байланыстыру қажет. Сонымен, егер де бастапқы мәліметтерде оларды комбинациялауға қажетті логикалық ақпарат болатын болса, пайдаланушылар әртүрлі көздегі мәліметтерді комбинациялай алады. Бұл идея ақпаратты басқару жүйелер үшін жаңа мүмкіншіліктерді ашты, себебі мәліметтер қорларына қоятын сұраныстар енді физикалық көрсеткіштермен шектелмеген болады. Логикалық байланыстар негізінде мәліметтерді тауып шығаруды сүйемелдейтін мәліметтер қорларын қолданатын ақпараттық жүйелер көптеген сұрақтарға жауап алуға мүмкіндік береді.
Өзінің мақаласында Кодд мәліметтердің қарапайым моделін ұсынды. Оған сәйкес барлық мәліметтер жатық және тік жолдардан тұратын кестелерде орнатылады. Осы кестелер реляциялар деп аталады, сондықтан модель реляциялық деген атқа ие болды. Реляциялық модель жиындар теориясы мен предикаттар логикасынан шығатын математикалық принциптерде негізделген. Реляциялық модель мәліметтерді көрсету әдісін (мәліметтер құрылымын), мәліметтерді қорғау әдістерін (мәліметтер бүтіндігін) және мәліметтермен орындалатын операцияларды (мәліметтермен әрекеттесу) анықтайды. Реляциялық модельдің аты ол кестелер арасындағы қатынастарды көрсететін болғандықтан деген пікір дұрыс емес. Керісінше реляциялық модельдің аты оның негізінде болатын қатынастардан (теория бойыншареляциялардан) пайда болды. Реляциялық модельде мәліметтер концептуалды денгейде қатынастар түрде көрсетілген, бірақ физикалық денгейде мәліметтер қалай іске асырылатыны туралы ешқандай бұйрықтар жоқ.
Мәліметтерді физикалық емес, концептуалды көз қарас жағынан қарастырып Кодд тағы бір революциялық идеяны ұсынды. Мәліметтер қорларының реляциялық жүйелерінде мәліметтер файлдарын тұтас бір бұйрықпен өңдеуге болады, ал дәстүрлі жүйелерде бір бұйрықпен тек қана бір жазба өңделеді. Логикалық және физикалық деңгейлерді бөлу әдісі мәліметтер қорларын программалау саласына өзғерістерді әкелді. Коддтың амалы мәліметтер қорларын программалаудың тиімділігін көтерді. Бұрында мәліметтер қорларын программалауда әдетте мәліметтерді сақтауға негізделген құрылғыларды физикалық басқару үшін программалық кодтарды жазылатын еді. Мәліметтерге логикалық көз қарас компьютерлік технологиялар жағынан маман болмайтын пайдаланушыларға түсінікті болатын сұранысгардың тілдерін жасауға мүмкіндік берді, Әрине, компьютермен жұмыс істеу тәжірибелері әртүрлі барлық адамдар қолдана алатын тілдерді өңдеу өте қиын. Бірақ сұраныетардың реляциялық тілдері бұрынғыға қарағанда көптеген пайдаланушыларға мәліметтер қорларынақол жетерлікті орнатты.
Өткен ғасырдың 70-ші (XX ғ.) жылдардағы Коддтың публикациялары ғалымдар мен мәліметтер қорларын басқаратын реляциялық жүйелерді жасайтын коммерциялық жүйелерін өңдеушілер арасында активтілікті көтерді. Осы жұмыстар нәтижесінде 70-ші жылдардың екінші бөлігінде келесідей (Structured Query Language — SQL, құрамдасқан сұраныстар тілдері), Query language (Quel, сұраныстар тілі) және Query-by-Exampk (QBE, үлгі бойынша сұраныстар) тілдерді сүйемелдейтін реляциялық жүйелер пайда болды. Қазіргі кезде реляциялық мәліметтер қорлары мәліметтермен жұмыс істеуге негізделген осы заманғы коммерциялық жүйелердің стандарты ретінде қарастырылады.
Пайдаланған әдебиеттер:
- Л.К.Ибраев.Мәліметтер қорларын жобалау. А.:АЭжБи 2010
- www.Malimetter.kz сайты
- Харрингтон Дж. Разработка баз данных.-М:ДМК Пресс, 2005
- Дейт К.Дж. Введение в системы баз данных.- М.:Издателский дом «Вильямс», 2008.
- Григорев Ю.А.,Ревунов Г.И. Базы данных. -М.:Изд.МГТУ им. Н.Э.Баумана, 2002.