Хелпикс

Главная

Контакты

Случайная статья





Дәріс 1. Деректер қоры, файлдық жүйелер, ақпараттық жүйелер.



Дә ріс 1. Деректер қ оры, файлдық жү йелер, ақ параттық жү йелер.

1. 1 Кіріспе. Деректер жә не ақ парат. АЖ тү рлері.

Ақ параттық жү йелер бастапқ ы кү йде тұ рақ ты бар ақ паратты сақ тауғ а, таң дауғ а жә не модификациялауғ а бағ ытталғ ан. Ақ парат қ ұ рылымы ө те кү рделі, бірақ деректер қ ұ рылымы ә ртү рлі ақ параттық жү йелерде тү рлі болып келеді, олардың арасында кө п ұ қ састық болады. Бастапқ ы кезең де қ олданылатын есептеу техникасының ақ паратты басқ ару ү шін деректер қ ұ рылымының мә селелері ә р ақ параттық жү йеде жеке шешілді. Файлдық жү йелерге (программа кітапханасы) қ ажетті қ алпына келтірулер жү ргізілді, осығ ан ұ қ сас компиляторда, редакторда жасалынатын жә не т. б. Бірақ ақ параттық жү йелер кү рделі деректер қ ұ рылымын талап етеді, бұ л деректерді басқ арудың жеке қ осымша қ ұ ралдары ақ параттық жү йенің маң ызды бір бө лігі болып табылады жә не практика жү зінде бір жү йеден екінші жү йеге қ айталанады. Біздің кө з қ арасымызғ а қ арай, кү рделі қ ұ рылымды деректерді басқ аруғ а жауапты ақ параттық жү йенің жалпы бө лігін ерекшелеп жә не жалпылай кө рсетуге тырысқ анымыз ДҚ БЖ қ ұ руғ а себепкер болды. Жақ ын уақ ытта белгілі болды, базалық файлдық жү йе тарататын деректерді сақ таудың кү рделі ә дістеріне жалпы программалардың кітапханасыз болмауғ а мү мкін емес.

Бұ ны мысалда кө рсетейік. Мысалы, біз қ андай да бір ұ йымның қ ызметкерлерін есепке алатын қ арапайым ақ параттық жү йе қ ұ руымыз керек. Жү йе келесі ә рекеттерді орындауы керек: бө лімдер бойынша қ ызметкерлер тізімін беру, бір бө лімнене екінші бө лімге қ ызметкерлерді ауыстыру мү мкіндігін ұ стану, жұ мысқ а жаң а қ ызметкерлер қ абылдау жә не жұ мыс істеп жү ргендерді жұ мыстан шығ ару керек. Ә р бө лім ү шін осы бө лім жетекшісінің атын, бө лімнің жалпы саны, соң ғ ы рет тө ленген тө лем ақ ының жалпы қ ұ ны алу мү мкіндігін ұ стану қ ажет жә не т. б.. Ә р қ ызметкер ү шін қ ызметкердің толық аты-жө ні бойынша куә лік нө мірі берілуі, куә лік нө мірі бойынша толық аты-жө ні берілуі, сол кездегі қ ызметкердің қ ызметі мен алатын ең бек ақ ысы жө ніндегі ақ парат алу мү мкіндігі болу керек.

Мысалы, біз осы ақ параттық жү йені файлдық жү йеге негіздемекші болдық жә не арнайы кітапхана функциясы есебінен файлдық жү йенің базалық мү мкіндіктерін кең ейтіп бір файлды ғ ана қ олданамыз. Бірақ біздің жағ дайда минимальды ақ параттық бірлік қ ызметкер болып табылады, шынында талап ету керек, осы файлда ә р қ ызметкер ү шін бір жазба болу қ ажет. Мұ ндай жазба қ андай ө рістерде болады? Қ ызметкердің толық аты (Қ ЫЗМ_АТЫ), оны куә лік  нө мірі (Қ ЫЗМ_НӨ МІРІ), қ ызметкердің тиісті қ ызметі жө ніндегі ақ парат (қ арапайымдылық ү шін  " иә " немесе " жоқ " ) (Қ ЫЗМ_СТАТ), жалақ ы кө лемі (Қ ЫЗМ_ЖАЛАҚ Ы), бө лім нө мірі (Қ ЫЗМ_БӨ ЛІМ_НӨ МІРІ). Бірақ біз бір файлмен шектелгіміз келеді, сол жазба бө лім жетекшісінің атынан тұ руы керек (Қ ЫЗМ_БӨ ЛІМ_ЖЕТЕК). Біздің ақ параттық жү йенің функциясы талап етеді, осы файлғ а уникальды кілт бойынша кө пкілттік қ атынау мү мкіндгін қ амтамасыз ету (ә ртү рлі жазбада қ айталанбайтындай) Қ ЫЗМ_АТЫ жә не Қ ЫЗМ_НӨ МІРІ. Сонымен қ атар, барлық жазбаларды Қ ЫЗМ_АТЫ_НӨ МІРІ жалпы мә німен таң дау мү мкіндігі, басқ аша айтқ анда уникальды емес кілтпен қ атынау. Бө лімдегі қ ызметкерлер санның немесе жалпы жалақ ы кө лемін алу ү шін, мұ ндай функцияны ақ паратық жү йе қ айта-қ айта орындау кезінде, бө лімнің барлық қ ызметкерлері жө ніндегі жазбаны таң дауы керек жә не тиісті жалпы мә нді санау керек.

Біздің кө ретініміз, мұ ндай қ арапайым жү йені файлдық жү йе базасында тарату біріншіден, афйлдарғ а кө пкілтті қ атынау ү шін кү рделі қ алпына келтіруд қ ұ ру жеткілікті, жә не екіншіден бө лім жө ніндегі қ орытынды ақ паратты алу ү шін толық таң дау мен есептеулер орындау жә не сақ тауды талап етеді (ә р бө лімнің ә рбір қ ызметкері ү шін жетекші аты қ айталанады). Сонымен қ атар, егер жү йені эксплуатациялау кезінде бізге, мысалы, берілген жалақ ыны алатын қ ызметкерлер тізімін беру керек, онда файлды толық немесе қ ұ рылымын қ арап шығ ып, кілттік ө ріс деп Қ ЫЗМ_ЖАЛАҚ Ы жариялау керек. Бірінші ойғ а келетіні - екі кө пкілтті файл ұ стау: Қ ЫЗМЕТКЕРЛЕР жә не БӨ ЛІМДЕР. Бірінші файлда мынадай ө рістер болу керек Қ ЫЗМ_АТЫ, Қ ЫЗМ_НӨ МІРІ, Қ ЫЗМ_СТАТ, Қ ЫЗМ_ЖАЛАҚ Ы, Қ ЫЗМ_БӨ ЛІМ_НӨ МІРІ, ал екіншісі - БӨ ЛІМ_НӨ МІРІ, БӨ ЛІМ_ЖЕТЕК, БӨ ЛІМ_Қ ЫЗМ_ЖАЛАҚ Ы (жалақ ының жалпы кө лемі) жә не БӨ ЛІМ_Ө ЛШЕМ (бө лімдегі қ ызметкерлердің жалпы саны). Алдың ғ ы  абзацта айтылғ ан шаралар жақ сылап мең геріледі. Ә р файл тек қ айталанбайтын ақ параттан тұ руы керек, қ ажетіне қ арай динамикалық есептеулерде қ орытынды ақ прат болмайды. Бірақ ескеру керек, мұ ндай ө ту кезінде біздің ақ параттық жү йе оны ДҚ БЖ жақ ындататын кейбір жаң а ерекшеліктері болу керек.          

Біріншіден, жү йе білуі керек, екі байланысқ ан файлмен жұ мыс жасайтындығ ын (бұ л деректер қ орының схемасы жағ ына қ адам), ә р ө рістің мә ні мен қ ұ рылымын білу керек (мысалы, Қ ЫЗМЕТКЕЛЕР файлында Қ ЫЗМ_БӨ ЛІМ_НӨ МІР жә не БӨ ЛІМ файлында БӨ ЛІМ_НӨ МІР бір нә рсені білдіреді), сол сияқ ты тү сіну қ ажет, бір файлдағ ы ақ параттың ө згеруі автоматты тү рде екінші файлда модификацияны шақ ырады, себебі олардың жалпы қ ұ рамы келісілген болу керек. Мысалы, егер жұ мысқ а жаң а қ ызметкер қ абылданса, онда Қ ЫЗМЕТКЕРЛЕР файлына жаң а жазба қ осу керек, сол сияқ ты тиісті тү рде БӨ Л_ЖАЛАҚ Ы жә не БӨ Л_Ө ЛШЕМ ө рістерін, БӨ ЛІМ файлындағ ы осы қ ызметкердің бө лімін сипаттайтын ө рісті ө згерту керек.

Деректер келісімі тү сінігі деректер қ орының кілттік тү сінігі болып табылады. Шындығ ында, егер ақ параттық жү йе (тіпті қ арапайым, біздің мысалдағ ы сияқ ты) бірнеше файлда келісілген ақ паратты сақ тауды ұ стайды, оны деректер қ орын ұ стайды деп те айтуғ а болады. Егер деректерді басқ арудың кейбір кө мекші жү йесі олардың келісімін қ амтамасыз етіп, бірнеше файлмен жұ мыс істеуге мү мкіндік берсе, онда оны деректер қ орын басқ ару жү йесі деп атауғ а болады. Бірнеше файлдарда деректердің келісім талабы функцияның кітапханасынан тыс бола алмаса: мұ ндай жү йеде деректер тұ тастығ ын анық тайтын жеке деректері мен білімі болуы керек.

Бұ л ДҚ БЖ талап ететін толық нә рсе емес. Біріншіден, біздің мысалда мынадай сұ раныстарды шғ ару ың ғ айсыз, мысалы " Петр Иванович Сидоров жұ мыс жасайтын бө лімнің жалпы санын шығ ару". Жең іл болар еді, егер ДҚ БЖ мұ ндай сұ ранысты пайдаланушығ а жақ ын тілде қ лыптастыруғ а мү мкіндік берсе. Мұ ндай тілдер деректер қ орына сұ раныс тілдері деп атайды. Мысалы, SQL тілінде біздің сұ раныс мынадай формада болады:

SELECT БӨ Л_Ө ЛШЕМ

FROM Қ ЫЗМЕТКЕР, БӨ ЛІМ

WHERE Қ ЫЗМ_АТЫ = " ПЕТР ИВАНОВИЧ СИДОРОВ"

AND Қ ЫЗМ_БӨ ЛІМ_НӨ МІР = БӨ ЛІМ_НӨ МІР

Сонымен, ДҚ БЖ сұ ранысты қ алыптастыру кезінде бұ л сұ раныс қ алай орындалады, соғ ан ойлануғ а мү мкіндік бермейді Оның метадеректерінің ішінде ақ парат бар Қ ЫЗМ_АТЫ ө рісі КЫЗМЕТКЕР файлы ү шін кілттік болып табылады, ал БӨ Л_НӨ МІР – БӨ ЛІМ файлы ү шін, жә не жү йе осыны ө зі пайдаланады. Егер атқ аратын қ ызметіне сә йкес емес қ ызметкерлер тізімін алу қ ажеттігі керек болса, онда жү йеге мынада сұ раныс жасау жеткілікті

SELECT Қ ЫЗМ_АТЫ, Қ ЫЗМ_НӨ МІР

FROM Қ ЫЗМЕТКЕР

WHERE Қ ЫЗМ_СТАТ = " ЖОҚ ",

жә не жү йенің ө зі Қ ЫЗМЕТКЕР файлын толық қ арап шығ ады, бірақ Қ ЫЗМ_СТАТ ө рісі кілтті болып табылмайды.

Ә рі қ арай, ойлап қ араң ыз, файлғ а кең ейтілген ә діспен қ атынауғ а кітапхананы қ олдануғ а негізделген алғ ашқ ы ақ параттық жү йені таратуда жаң а қ ызметкерді тіркеу операциясы ө ң деледі. Файлды ө згертуге келісілген талаптарғ а сә йкес, ақ параттық жү йе Қ ЫЗМЕТКЕР файлына жаң а жазба қ ойды жә не БӨ ЛІМ файлының жазбасын модификациялау кезінде тұ тыну кө зі ө шіп қ алды. Енді жү йе қ айта жү ктелген кезде деректер қ оры келіісілмеген кү йде болады. Осыны тексеру (ол ү шін Қ ЫЗМЕТКЕР жә не БӨ ЛІМ файлындағ ы ақ парат сә йкестігін тексеру керек) жә не ақ паратты келісілген кү йге келтіру қ ажет. Қ азіргі ДҚ БЖ осы жұ мысты ө зіне алады. Қ олдаң балы жү йе деректер қ орының нақ ты кү йін қ арауғ а міндетті емес.

Енді біз қ ызметкерлердің деректер қ орымен параллельді (мысалы, кө птерминальды) жұ мыс істеуін қ амтамасыз етуіміз керек. Егер тек файлды қ олдануғ а жү гінсек, онда екі файлдың біреуінің барлық модификациялау уақ ытында нақ тылық ты қ амтамасыз ету ү шін, бұ л файлғ а басқ а пайдаланушылардың қ атынасына рұ қ сат болмайды (еске тү сірініз параллель қ атынауды синхронизациялау ү шін файлдық жү йе мү мкіндіктерін). Сонымен, Петр Иванович Сидоровты жұ мысқ а алу ү шін, Иван Сидорович Петров деген қ ызметкер жө ніндегі ақ паратты алу тоқ татылады, бә рібір олар ә ртү рлі бө лімде жұ мыс істесе де. Қ азіргі ДҚ БЖ деректерге жұ қ а синхронды парллельді қ атынауын қ амтамасыз етеді.

Сонымен, ДҚ БЖ файлдық жү йені қ олданумен қ иын шешілетін немесе негізінен шешілмейтін кө птеген мә селелерді шешеді. Бұ л жағ дайда файлдар ғ ана жеткілікті қ осымшаларда бар; ал мынадай қ осымшаларғ а сыртқ ы жадымен жұ мыс істейтін қ андай жұ мыс дең гейі қ ажет жә не деректер қ оры міндетті тү рде қ ажет қ осымшалар.  

Тарихи бір қ адам болып файлды басқ арудың орталық тандырылғ ан жү йесін қ олдануғ а ө ту табылады. Қ олданбалы программа кө з қ арасынан файл - бұ л сыртқ ы жадының нақ ты аумағ ы, оғ ан деректерді жазуғ а жә не одан санап алуғ а болады. Файлғ а ат беру ережесі, осы файлда сақ талынатын деректерге қ атынау тә сілі, жә не осы деректердің қ ұ рылымы файлды басқ арудың нақ ты бір жү йесіне жә не файл типіне тә уелді. Файлдарды басқ ару жү йесі ө зіне сыртқ ы жадыны ү лестіруді, сыртқ ы жадыда тиісті адреске файл атын кескіндеуді жә не деректерге қ атынауды қ амтамасыз етуді алады.

Бірінші ө ркендеген файлдық жү йе 360 сериясы ү шін IBM фирмасымен қ ұ рылғ ан. Қ азіргі уақ ытта ол ескірген, біз оны қ арастырмаймыз. Ескеріп кетеміз, бұ л жү йеде таза тү рде тізбектелген, индексті-тізбектелген файлдар ұ сталынғ ан, ал ү лестіру кө п жағ дайда жақ ында пайда болғ ан дискілік қ ұ ралдарды басқ арудың бақ ылаушыларна сү йенді. OS/360-тағ ы файл тү сінігі негізгі абстрактілі тү сінік болып таң далды, оғ ан кез келген сыртқ ы қ ұ рылғ ылармен қ оса сыртқ ы объект сә йкес келді, бірақ пайдаланушы дең гейінде жұ мыс істеу ың ғ айсыз болды. Детальмен толтырылғ ан конструкциялар қ атары талап етілді. Осының бә рі отандық аналогты IBM компьютерлерін қ олдану арқ ылы ө ткен, ортаң ғ ы жә не жоғ ары буындағ ы программисттерге белгілі.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.