Сондықтан, деректердің физикалық моделдеріне арналған тарауды, біз
файлдар мен файл қҧрылымдарды шолудан бастаймыз.
Дерекқорды ұйымдастырудың файлдық құрылымдары. Әрбір
ДҚБЖ-да
деректерді
сақтау
мен
қол
жетімділік
əртҥрлі
ҧйымдастырылған, бірақ барлық ДҚБЖ қолданылатын кейбір файлдық
қҧрылымдар бар.
Сыртқы жадта ақпаратты сақтау ҥшін пайдаланылатын дерекқор
жҥйелеріндегі файлдар мен файл қҧрылымдары жіктелуі мҥмкін (3.2-
сурет).
Пайдаланушы көзқарасы тҧрғысынан, файл - өзімен жазбалардың
кейбір тізбегі сақталатын дискілік кеңістіктің жаңа саласын білдіреді.
Мҧндай файлда бірінші жəне соңғы жазбаны; ағымдағы жазба;
ағымдағы жəне оның соңындағы жазбаныанықтауға болады.
Файлдардағы ақпаратқа қолжетімділікті басқару əдістеріне сəйкес
олар туынды адрестеу немесе тікелей қолжетімділік (магниттік жəне
оптикалық дискілер) жəне кезеңді адрестеу немесе кезеңді
қолжетімділік (магнитофондар, стриммерлер) қондырғыларымен
сыртқы жады қондырғыларын (ақпаратты жинақтағыштар) айырады.
Туынды адрестеу қондырғыларында жинақтағыштың кез-келген
саласына жазбаны оқу ҥшін бастиекті дереу орнату мҥмкін.
Кезеңді адрестеу қондырғыларында барлық жад ақпарат
элементтерінің сызықтық реттілігі ретінде қарастырылады. Сондықтан
да, мҧндай жинақтағыштарда ақпаратты алу ҥшін есептеу
қондырғысының бастапқы кҥйінен қажетті жазбаға өту керек.
Тікелей қолжетімді қҧрылғыларда (ТҚҚ) орналасқан тҧрақты жазба
ҧзындығы бар файлдар тікелей қолжетімділік файлдары болып
табылады.
Бҧл файлдарда қажетті жазбаның орналасуының физикалық
мекенжайы жазбаның нөмірі бойынша есептелген (NZ).
Әрбір файлдық жҥйе - файлды басқару жҥйелері - сыртқы жад
көрінісінде жиі иерархия деңгейінің шектеулі санын қамтитын кейбір
иерархиялық файлдық қҧрылымды қолдайды (3.3-сурет).
3.2-сур. Файлдық қҧрылымдардың жіктелуі
3.3-сур. Иерархиялық файлдық қҧрылым
Жҥйедегі əрбір файл ҥшін келесі ақпарат сақталады:
• файлдың атауы;
• файлдың тҥрі (мысалы, кеңеюі немесе басқа сипаттамалар);
• жазудың көлемі;
• бос емес физикалық блоктардың саны;
• негізгі бастапқы мекенжайы;
• кеңейтілген сегментке сілтеме;
• қолжетімділік əдісі (қауіпсіздік коды).
Тҧрақты ҧзындықтағы жазбалары бар файлдар ҥшін, K нөмірімен
жазбаны орналастыру мекенжайы мына формуламен есептелуі мҥмкін
ВА + (К - 1)-LZ + 1,
мҧндағы, ВА — базалық мекенжай; LZ — жазбаның ҧзындығы.
Жазбаларды оқу тетігін орналастыру қажет мекенжайды анықтауға
болатын болса, тікелей кіру қҧрылғылары мҧны дереу жасайды,
сондықтан да мҧндай файлдар ҥшін еркін жазбаны оқу оның нөміріне
тəуелді емес. Тікелей кіру файлдары ерікті жазбаларға барынша
жылдам қолжетімділікті қамтамасыз етеді жəне оларды пайдалану
дерекқор жҥйелеріндегі ең келешегі бары болып саналады.
Жҥйелі тҥрде қол жетімді қондырғыларда тек кезеңді кіру
файлдары ғана ҧйымдастырылуы мҥмкін.
Олар екі тəсілмен ҧйымдастырылуы мҥмкін:
1) жазбаның аяқталуы арнайы маркермен белгіленеді;
2) əрбір жазбаның басында оның ҧзындығы жазылады.
Тікелей қол жетімді файлдар жазуға қол жеткізудің жеткілікті
сенімді əдісін қамтамасыз етеді. Тікелей қолжетімділік файлдарының
басты кемшілігі, жазбаны іздестіру оның нөмірі бойынша жҥргізіледі,
ол жазбалар санының көптігі кезінде айтарлықтай уақыт алады.
Дерекқорда көбінесе шешуші өрсітер бойынша жазбаларды іздестіруді
ҧйымдастыру қажет. Бірақ бҧл жағдайда тиісті жазба нөмірі белгісіз.
Мҧндай жағдайларда хэштеу (рандомизация) деп аталатын əртҥрлі
əдістер қолданылады.
Хэштеу əдістерінің мəні іздестіруді бастау ҥшін қолдаланылатын
кілттің мəні (немесе оның кейбір сипаттамалары) таңдалады, яғни хэш-
функциясы деп аталатынh (k) есептеледі, мҧндағы k–шешуші өрістің
мағынасы. Бҧл жағдайда іздестіру қадамдарының саны біршама
азаяды. Дегенмен, осы тəсілдер кезінде бірнеше əртҥрлі кілттерге хэш
функциясының бір мағынасы, яғни бір мекенжайы сəйкес келуі мҥмкін.
Мҧндай жағдайлар коллизия деп аталады. Хэш-функциясының
мағынасына ие кілттердің мағыналары синонимдер деп аталады.
Сондықтан да, хэштеуді қол жеткізу əдісі ретінде қолданғанда екі
тəуелсіз шешімді қабылдау керек:
• хэш функциясын таңдау;
• коллизияны шешу əдісін таңдау.
Коллизияларды шешудің əртҥрлі көптеген стратегиялары бар,
олардың барынша көп тарағандары:
• асыра толтыру саласының көмегімен коллизияны шешу;
• еркін ауыстыру əдісімен коллизияны шешу.
Асыра толтыру саласының кӛмегімен коллизияны шешу. Осы
стратегияны таңдаған кезде, сақтау орны екі бөлікке бөлінеді: негізгі
сала жəне толып кету саласы.
Әрбір жаңа жазба ҥшін хэш-функциясының мағынасы есептеледі,
ол оның орналасқан жерінің мекенжайын анықтайды жəне жазба хэш
функциясының алынған мағынасына сəйкес негізгі салаға енгізіледі.
Әрбір жаңа жазба ДҚ-да бар басқа жазбаны қолданған хэштеу
функциясының мағынасына ие болатын болса, онда жаңа сала асыра
толтыру саласының бірінші босаған орнына енгізіледі, ал негізгі салада
орналасқан жазба-синонимге асыра толтыру саласында жаңадан
орналастырылған жазба мекенжайына сілтеме жасалады. Егер негізгі
салада орналасқан жазба-синонимде сілтеме болса, онда жаңа жазба
сілтеме тҥрінде қосымша ақпарат алады жəне осы тҥрдеасыра толтыру
саласына енгізіледі.
Осындай алгоритм кезінде кез-келген жаңа жазбаны орналастыру
уақыты, асыра толтыру саласындағы бірінші еркін жазба нөмірінің
жҥйелік ауыспалы тҥрінде сақталатындығын ескере отырып, дискіге
екіден артық емес өтініштен аспайды.
Достарыңызбен бөлісу: |