Объектіге бағытталған дерекқорларда (OODB) пайдаланушылар түрлері әртүрлі болуы мүмкін нысандардан тұратын және операциялар орнатылатын белгілі бір дерекқорда әрекеттерді орната алады. Олар мультимедиялық нысандар сияқты екілік ақпаратты тиімді өңдей алады. OODB қосымшасының тағы бір артықшылығы - оны бүкіл жүйеге әсер етпей, шамалы процедуралық айырмашылықтармен бағдарламалауға болады.
Стандартты құрудың алғышарттары
Объектіге бағытталған OODB деректер қорының тарихы өткен ғасырдың аяғында басталады. Олар жаңа қолданбалардың қажеттіліктерін қанағаттандыру үшін жасалған. Объектіге бағытталған мәліметтер базасы 1990 жылдардағы бағдарламалық жүйелерде төңкеріс жасайды деген болжам болды. Бұлай емес екені енді белгілі болды. Дегенмен, бұл тұжырымдаманы тегін бағдарламалық жасақтама қауымдастығы арқылы қайта жаңғырту және оған қолайлы қосымшаларды анықтау сипаттамаларды қайта қарауға түрткі болады. OODB, бұл кең таралған реляциялық дерекқорларға балама.
Нысанға бағытталған кейбір немесе барлық талаптарды орындау икемділігін қамтамасыз етеді және дәстүрлі дерекқорлардың деректер түрлерімен және сұрау тілдерімен шектелмейді. OODB-нің негізгі ерекшелігі - олардың әзірлеушіге күрделі объектілердің құрылымын да, қолданбалы операцияларды да көрсетуге мүмкіндік беретін мүмкіндігі. OODB құрудың тағы бір себебі - бағдарламалық жасақтаманы әзірлеу үшін тілдерді пайдаланудың өсуі.
Дерекқорлар көптеген ақпараттық жүйелердің негізі болды, бірақ оларға қатынасатын қолданбалар C++, Smalltalk немесе Java тілдерінде жазылғанда дәстүрлі дерекқорларды пайдалану қиын. Мысалы, 1С объектілі-бағытталған дерекқорлары олардың концепцияларын қабылдау арқылы объектілі-бағытталған тілдерді пайдаланатын қолданбалармен тікелей біріктірілетіндей етіп жасалған: Visual Studio. Net, C ++, C, Microsoft SQL Server және басқалар.
OODB негізгі артықшылығы - өнімділікті кейінгі жақсартулармен RMs1 (кедергі) қажеттілігін толығымен жою.
Кемшіліктер:
- Өте қарапайым кеңес беру тетіктері, өздігінен стандартты қабылданған платформа жоқ.
- Рәсімдерді сақтау мүмкін емес, себебі нысандарға тек клиентте қол жеткізуге болады.
- Нарықтағы жетілмегендік.
- Нысандарды физикалық топтастыру жоқ.
Нысан парадигмасы
Объектіге бағытталған дерекқорлар күрделі деректерді және оның қатынастарын жолдар мен бағандарды тағайындамай тікелей сақтайтын бағдарламаланатын дерекқорлар болып табылады, бұл оларды үлкен пакеттермен жұмыс істейтін қолданбалар үшін қолайлырақ етеді. Нысандардың көптен көпке қатынасы бар және олармен байланыс орнату үшін байланыстырылған көрсеткіштерді пайдалану арқылы қол жеткізуге болады. Кез келген бағдарламаланатын сияқты, OODB қолданбаларды әзірлеу ортасын және пайдалануға дайын тұрақты репозиторийді қамтамасыз етеді. Ол нысандар түрінде цифрлауға болатын ақпаратты сақтайды және өңдейді, жылдам қол жеткізуді қамтамасыз етеді және керемет өңдеу мүмкіндіктерін береді.
Нысанға бағытталған дерекқорда қолданылатын негізгі түсініктер:
- нысан сәйкестігі;
- конструктор түрі;
- тіл үйлесімділігі;
- типті иерархиялар және мұра;
- күрделі нысандарды өңдеу;
- полиморфизм және оператордың шамадан тыс жүктелуі;
- нұсқалар жасалуда.
Объектіге бағытталған дерекқорды сипаттайтын барлық аспектілерді толығымен қарастыру үшін барлық маңызды нысан парадигмаларын атап өту маңызды:
- Инкапсуляция – басқа нысандар үшін ақпаратты жасыруға мүмкіндік беретін сипат, осылайша дұрыс емес қатынасты немесе қайшылықтарды болдырмайды.
- Мұрагерлік – нысандар класс иерархиясындағы мінез-құлықты мұраға алатын сипат.
- Полиморфизм – оны қолдануға болатын операцияның қасиетіәртүрлі нысандар түрлері.
- Операция интерфейсі немесе қолтаңбасы оның аргументтерінің немесе параметрлерінің атауы мен деректер түрлерін қамтиды.
- Операцияның орындалуы немесе әдісі бөлек көрсетіледі және интерфейске әсер етпестен өзгертуге болады. Пайдаланушы қолданбалары олардың қалай жүзеге асырылғанына қарамастан аттары мен дәлелдері арқылы көрсетілген операцияларды шақыру арқылы деректермен жұмыс істей алады.
Сыныптар мен функциялар
OODB-де сыныптар түсінігін қарастырған кезде «сынып» және «тип» терминдерін ажырату қажет. Түрі ұқсас мінез-құлықтағы нысандар жиынын сипаттау үшін пайдаланылады. Бұл мағынада объектіде қандай операцияларды шақыруға болатынына байланысты. Класс - бірдей ішкі құрылымды ортақ пайдаланатын нысандар жиынтығы, сондықтан ол іске асыруды анықтайды, ал түрі оны пайдалану жолын сипаттайды.
Инстанция термині сыныпты даназалауды сынып орнатқандай құрылымы мен мінез-құлқы бар нысандар жинағын жасау үшін пайдалануға болатынын білдіреді.
Нысандардың эволюциясы үшін өте маңызды мүмкіндік – ол сәйкестікті сақтай отырып, атрибуттар мен операцияларды қоса алғанда, сыныбын өзгерте алады. Бұл нәтиже семантикалық тұтастықты өңдеу механизмін қажет етеді.
Ұйымның нысанға бағытталған дерекқорын иелену сыныпты бұрыннан бар суперкласстың ішкі сыныбы ретінде анықтауға мүмкіндік береді. Ол соңғысының барлық атрибуттары мен әдістерін иеленеді және таңдау бойынша анықтауы мүмкінменшік. Бұл тұжырымдама қайта пайдалануды қолдаудың маңызды механизмі болып табылады. Екі түрлі класс құрылымының бірдей бөліктері жалпы суперкласста бір рет анықталуы мүмкін, сондықтан азырақ код жазылады. Кластың бірнеше суперкласстың қосалқы класы болуына мүмкіндік беретін кейбір жүйелер бар. Бұл мүмкіндік бір мұраға қарағанда бірнеше мұра деп аталады.
Объектіге бағытталған дерекқордың мысалы
Сурет және бейне сабақтарындағы мультимедиа суперклассының әртүрлі, бірақ ұқсас әдістері үшін бір атауды пайдалану жиі пайдалы. Көптеген файлдарды әртүрлі көрушілер көре алады. Олар көбінесе «көру» әдісін қолданып, барлық фотосуреттер мен бейнелерді көру керек және сәйкес бағдарламаны іске қосу керек. Функция шақырылғанда және бейнеге сілтеме берілгенде, медиа ойнатқыш іске қосылады. Бұл мүмкіндікті жүзеге асыру үшін, ең алдымен, сурет және бейне сыныптарынан жалпы медиа суперклассындағы «презентация» операциясын анықтау қажет. Ішкі сыныптардың әрқайсысы олардың нақты қажеттіліктері үшін іздеу әрекетін қайта анықтайды. Бұл бірдей операция атауына ие әртүрлі әдістерге әкеледі. Бұл жағдайда бұл функцияны пайдаланудың маңызды артықшылығы бар.
OODB құрылымы
Нысанға бағытталған парадигма бір модульдегі әрбір нысанға қатысты деректер мен кодты инкапсуляциялауға негізделген. Тұжырымдама бойынша оның және жүйенің қалған бөлігі арасындағы барлық өзара әрекеттесу хабарламалар арқылы жүзеге асырылады. Демек, интерфейсолардың арасындағы рұқсат етілген жиынтықпен анықталады.
Жалпы, әрбір нысан жиынмен байланысты:
- Нысан деректерін қамтитын және ER үлгісі төлсипаттарына сәйкес келетін айнымалылар.
- Ол жауап беретін хабарлар. Әрқайсысының бір немесе бірнеше параметрлері болуы немесе болмауы мүмкін.
- Әдістер, олардың әрқайсысы хабарларды орындайтын және оған жауап ретінде мәнді қайтаратын код.
OO ортасында хабар алмасу компьютерлік желілерде физикалық SMS пайдалануды білдірмейді. Керісінше, олардың орындалуының дұрыс егжей-тегжейлеріне қарамастан объектілер арасындағы сұраныстардың алмасуын білдіреді. Кейде өрнек нысанға хабарлама жіберілгенін іске қосу үшін әдісті шақырады және сәйкес әдістің орындалуын пайдаланады.
Нысан сәйкестендіру
Нысанға бағытталған дерекқор жүйесі дерекқорда сақталған әрбір тәуелсіз нысан үшін бірегей сәйкестендіруді қамтамасыз етеді. Ол әдетте жүйеде жасалған бірегей нысан идентификаторы немесе OID көмегімен жүзеге асырылады. OID мәні сыртқы пайдаланушыға көрінбейді, бірақ жүйе оны нысандар арасындағы сілтемелерді басқару үшін іштей пайдаланады.
OID негізгі қасиеті - өзгермейтін болу. Белгілі бір нысан үшін OID мәні ешқашан өзгермеуі керек. Бұл бейнеленетін нақты әлемнің сәйкестігін сақтайды. Сондай-ақ әрбір OID тек бір рет пайдаланылғаны жөн, тіпті ол дерекқордан жойылса да, оның OID басқасына тағайындалмауы керек. Сондай-ақ оны физикалық негізге салу жиі орынсыз деп саналадысақтаудағы нысанның мекенжайы, өйткені оларды дерекқорда қайта ұйымдастыру OID өзгерте алады. Дегенмен, кейбір жүйелер нысандарды шығарып алу тиімділігін арттыру үшін физикалық мекенжайды OID ретінде пайдаланады. Нысанға-бағытталған құрылым автоматты түрде реляциялық шектеулерді қояды, олар әдетте көбірек қолданылады: домен, кілт, нысан тұтастығы және сілтеме тұтастығы.
Үш негізгі конструктор
OODB-де күрделі нысандардың мәндері немесе күйлері белгілі бір типтегі конструкторларды пайдаланып басқалардан жасалуы мүмкін. Оларды көрсетудің бір жолы – әрқайсысын үштік (i, c, v) ретінде қарастыру, мұндағы i - нысанның бірегей идентификаторы (OID), c - конструктор, яғни объект мәні қалай болатынын көрсететін көрсеткіш. жасалған, және v - нысанның мәні немесе күйі. Деректер үлгісіне және OO жүйесіне байланысты бірнеше конструктор болуы мүмкін.
Үш негізгі нысанға бағытталған дерекқор конструкторы:
- атомдар;
- кортеждер;
- жинақтар.
Басқа жиірек пайдаланулар тізімдер мен диаграммалар болып табылады. Сондай-ақ жүйеде тікелей қол жетімді барлық негізгі атомдық мәндерді қамтитын D домені бар. Олар әдетте бүтін сандарды, нақты сандарды, таңбалар жолдарын, күндерді және жүйе тікелей өңдейтін деректердің кез келген басқа түрлерін қамтиды. Нысандардың құрылымы да, операциялар да сынып анықтамаларына кіреді.
Бағдарламалау тілдерімен үйлесімділік
Объектілі-бағытталған деректер қорының негізгі тұжырымдамалары пайдаланыладыдизайн құралдары ретінде және дерекқормен жұмыс істеу үшін кодталған.
Бұл ұғымдарды біріктіруге болатын бірнеше мүмкін тілдер бар:
- Күрделі түрлер мен OOP қосу арқылы SQL сияқты деректерді өңдеу тілін кеңейту. Жүйелер реляциялық жүйелерге объектіге бағытталған реляциялық жүйелер деп аталатын объектіге бағытталған кеңейтімдерді қамтамасыз етеді.
- Бар объектіге бағытталған бағдарламалау тілін пайдалану және оны дерекқорлармен жұмыс істеу үшін кеңейту. Олар тұрақты бағдарламалау тілдері деп аталады және әзірлеушілерге SQL сияқты деректерді өңдеу тілі арқылы өтпей-ақ деректермен тікелей жұмыс істеуге мүмкіндік береді. Деректер оны жасаған бағдарлама аяқталғаннан кейін де бар болатындықтан, олар тұрақты деп аталады.
Қай опцияны пайдалану керектігін шешкен кезде, тұрақты тілдердің күшті болатынын және дерекқорды зақымдайтын бағдарламалау қателерін жасау салыстырмалы түрде оңай екенін есте сақтаңыз. Тілдердің күрделілігі дискінің енгізу/шығаруын азайту сияқты жоғары деңгейлі автоматты оңтайландыруларды қиындатады. Көптеген қолданбаларда декларативті сұраулар жасау мүмкіндігі маңызды, бірақ тұрақты тілдер қазіргі уақытта мұндай сұрауларға қиындықсыз рұқсат бермейді.
Мұра түрлерінің иерархиясы
Нысанға бағытталған дерекқор схемалары әдетте сыныптардың көп санын талап етеді. Дегенмен, бірнеше сыныптар бір-біріне ұқсас. Олардың арасындағы ұқсастықтарды тікелей көрсетуге мүмкіндік беру үшіноларды мамандық иерархиясына бөледі. Бұл тұжырымдама ER үлгілеріне ұқсас. Класстың мамандануы ішкі сыныптар деп аталады, олар бар класс үшін қосымша атрибуттар мен әдістерді анықтайды. Ішкі сыныптармен жасалған нысандар ата-анадан барлығын мұра етеді. Осы тұқым қуалайтын сипаттамалардың кейбірі иерархияда жоғары тұрғандардан алынған болуы мүмкін.
Объектілер күрделі болып саналады, себебі олар үлкен көлемде сақтау орнын қажет етеді және әдетте Объектіге бағытталған дерекқорды басқару (OODBS) ұсынатын стандартты деректер түрлерінің бөлігі емес. Нысандардың өлшемі маңызды болғандықтан, SOOBMS объектінің бір бөлігін қабылдап, оны толық нысанды алудан бұрын қолданбаға бере алады. Ол сонымен қатар қолданба оларға қол жеткізе алмас бұрын нысанның бөліктерін алдын ала алу үшін буфер және кэш әдістерін пайдалана алады.
OODB пайдаланушыларға құрылымды да, операцияларды да қамтитын жаңа түрлерді, бұл жағдайда кеңейтілетін типті жүйені жасауға мүмкіндік береді. Жаңа типтердің кітапханаларын олардың құрылымы мен операцияларын анықтау арқылы жасауға болады. Олардың көпшілігі интерпретация үшін қолданбалы бағдарламаға "сол қалпында" жіберілетін жолдар мен таңбалар немесе биттер түріндегі үлкен құрылымдық нысанды сақтай және қабылдай алады.
Әдіс мақсатты нысанның атрибуттарына, соның ішінде ата-аналық сыныптардан мұраланған кез келген атрибуттарға тікелей қол жеткізе алады, бірақ қосымша сигналдары бар басқа нысандардың атрибуттарына қол жеткізуі керек. Тұжырымдама бір оператордың атын немесе символын байланыстыруға мүмкіндік бередіқолданылатын нысандар түріне байланысты оның екі немесе одан да көп әр түрлі іске асырылуы.
Қолданбаларды құрастыру
OO жүйелерін пайдаланатын көптеген дерекқор қолданбалары бір нысанның бірнеше нұсқасын қажет етеді. Әдетте, техникалық қызмет көрсету әрекеттері бағдарламалық жасақтама жүйесіне олардың талаптары өзгерген кезде қолданылады және кейбір әзірлеу және енгізу модульдерін өзгертуді қамтиды. Жүйе әлдеқашан жұмыс істеп тұрса және бір немесе бірнеше модульдерді өзгерту қажет болса, әзірлеуші өзгертулер енгізу арқылы олардың әрқайсысының жаңа нұсқасын жасауы керек.
Нысанның екіден көп нұсқасы болуы мүмкін екенін ескеріңіз, егер бастапқы модульге қосымша екеуі қажет болса. Бір бағдарламалық модульдің меншікті нұсқаларын бір уақытта жаңартуға болады. Бұл параллельді объектіге бағытталған мәліметтер базасын жобалау деп аталады. Дегенмен, гибридті OODB енгізілген өзгертулерді үйлесімді етіп қосу үшін оларды біріктіру қажет болатын кез әрқашан болады.
Нысанға бағытталған шарттар
Қарап алу үшін барлық компьютерлік жүйелердің архитектурасының қасиеттері болуы керек. Мысалы, реляциялық деп санау үшін жүйеде кестелер болуы керек. OODB ерекшелік емес және объект архитектурасының кейбір негізгі қасиеттерін қамтиды. Дегенмен, нақты әлемде бұл қасиеттердің көпшілігі талқыланады және кейбіреулері, мысалы, бірнеше мұрагерлік, объектіге бағытталған дерекқор үлгісінің жақсартулары болып саналады.негізгі бөлігі ретінде. Мысалы, Smalltalk нысанды-бағытталған тілінде бірнеше мұраға ол нысан архитектурасының бөлігі болып саналса да, қолдау көрсетілмейді.
Класқа арналған әдістер нысанда орындауға болатын әрекеттер жинағын анықтайды. Мысалы, ол нысанға қолданылғанда, ол мәнді қайтарады немесе мәндерді жаңарту үшін кейбір әрекеттерді орындайды. Кейде әдістер оны қайтармайды. Әдіс көлікке арналған жолаушылар санын жаңартуға арналған болса, ешқандай мән қайтарылмайды, бірақ мақсаттағы деректер элементі оны өзгертеді.
Объектілер OODB-дегі негізгі ұғым болып табылады. Негізінде, объектілер онда сақталған нақты дүниенің абстрактілі көрінісі болып табылады. Нысан оның анықтамасынан алынып тасталған мағынадағы класс данасы болып табылады.
Нысанды үш бөліктен тұратын дербес бума ретінде қарастыруға болады:
- Жеке жеке ақпарат, деректер мәндері.
- Сынып анықтамасы арқылы мәндерді басқаратын жеке процедуралар.
- Осы нысан басқалармен байланысуы үшін интерфейсті ашыңыз.
OODB мысалдары
OODB пайдалану тұжырымдаманы жеңілдетеді, себебі сақталуы қажет ақпаратты көрсету табиғирақ. Мәліметтер қорының құрылымын немесе логикасын модельдеу үшін класс диаграммаларын пайдалану олардың құрылымдық байланыстарымен және мұрагерлікпен класстарды енгізуге мүмкіндік береді. Динамиканың бір бөлігін модельдеу үшін өзара әрекеттесу жәненысандар арасындағы мінез-құлық, оқиға орын алғаннан кейін өзгертілген күйді ескере отырып, оларды табуға болатын ықтимал күйлерді сипаттайтын уақытша қатынаста орналасқан нысандар арасындағы өзара әрекетті көрсету үшін реттілік диаграммасы пайдаланылады.
Объектіге бағытталған деректер қорының мысалы төменде көрсетілген.
Олардың уақытша немесе тұрақты болуы мүмкін аты мен өмір сүру мерзімі бар. OODB кілті - олар әзірлеушіге қанша құрылымдар мен операциялар қолданылатынын көрсету мүмкіндігін береді. Күрделі деректер түрлерін өңдеу үшін икемділік пен қолдау бар. Сіз сыныптар мен ішкі сыныптарды жасай аласыз, мысалы, клиенттік базада осы клиенттің сілтемесінің қосалқы сыныбы болуы мүмкін және ол бастапқы сыныптың барлық атрибуттары мен сипаттамаларын иеленеді, бұл тәсіл күрделі деректерді жылдам және икемді өңдеуге мүмкіндік береді.