Кіріспе

Бағдарламалау техникасы Объекті-реляциялық бейнелеу (ОРМ, О/РМ және О/Р бейнелеу құралы) – компьютерлік ғылымда деректерді реляциялық деректер базасы мен объектіге бағытталған бағдарламалау тілінің қалыптық жады арасында түрлендіруге арналған бағдарламалау техникасы. Бұл бағдарламалау тілінің ішінде пайдалануға болатын виртуалды нысандар базасын құрайды. Объектіге бағытталған бағдарламалауда деректерді басқару тапсырмалары скалярлық мәндерді нысандарға біріктіретін нысандарға әсер етеді. Мысалы, бір адамды көрсететін, сонымен қатар нөл немесе одан көп телефон нөмірлері мен нөл немесе одан көп мекенжайлары бар телефон кітабының жазбасын қарастырайық. Бұл нысанға бағытталған іске асыруда «Person object» арқылы атрибуты/өрісі бар әр дерек элементін: адамның аты-жөнін, телефон нөмірлерінің тізімін және мекенжайлар тізімін қамтитын модельдеуге болады. Телефон нөмірлерінің тізімі «PhoneNumber» нысандарын және т.б. қамтиды. Әрбір осындай телефон кітабының жазбасы бағдарламалау тілімен бір нысан ретінде қарастырылады (мысалы, оған нысанға сілтеме құрайтын бір айнымалы сілтеме жасай алады). Нысанмен әртүрлі әдістерді байланыстыруға болады, мысалы, таңдалған телефон нөмірін, үй мекенжайын және т.б. қайтару әдістері. Керісінше, SQL сияқты реляциялық деректер базасы скалярларды топтастырады, содан кейін кестеде тізімделеді. Туплдар мен нысандардың кейбір жалпы ұқсастықтары бар, өйткені олар екі жолы да атаулы өрістерге мәндерді жинаудың жолдары, сондықтан бүкіл жиынтықты бір құрамдас нысан ретінде өңдеуге болады. Олардың көптеген айырмашылықтары бар, бірақ, атап айтқанда: өмірлік циклді басқару (қатарларды енгізу және жою, қоқыс жинау немесе сілтемелерді санау), басқа нысандарға сілтемелер (нысан сілтемелер, шетелдік кілт сілтемелер) және мұрагерлік (реляциялық деректер базасында жоқ). Сонымен қатар, нысандар қалыптық жадыда басқарылады және бір процестің толық бақылауында болады, ал деректер базасының туплдары ортақ болады және құлыптау, біріктіру және қайталап талпынуды қамтуы керек. Объектінің реляциялық бейнелеуі осы айырмашылықтардың барлығын есепке ала отырып, туплдарды нысандарға және кері бейнелеу үшін автоматтандырылған қолдауды қамтамасыз етеді. Мәселе негізгісі – нысанның логикалық бейнелеуін, қажет болған кезде нысан ретінде қайта жүктелу үшін, нысанның қасиеттері мен олардың қатынастарын сақтай отырып, дерекқорда сақталуы мүмкін атомдалған нысанға аудару. Егер осы сақтау және алу функциясы іске асырылса, нысандар тұрақты деп аталады. ОРМ құралдарының кемшіліктері, әдетте, іске асыру кодында нақты не болып жатқанын жасыратын абстракцияның жоғары деңгейінен туындайды. Сонымен қатар, ОРМ бағдарламалық жасақтамасына үлкен сенім арту нашар жасалған деректер базаларын жасаудың басты факторы ретінде аталды.

Нысанға бағдарланған деректер қоры

Басқа тәсіл – объектіге бағытталған деректерді басқару жүйесін (OODBMS) немесе деректерді модельдеуде көбірек икемділікті қамтамасыз ететін, түпнұсқа XML деректер базалары сияқты құжатқа бағытталған деректер қорын пайдалану. OODBMS – объектіге бағытталған мәндермен жұмыс істеу үшін арнайы жасалған деректер қоры. OODBMS пайдалану деректерді SQL форматына және одан кері түрлендіру қажеттілігін жояды, себебі деректер бастапқы нысандық бейнеленген күйде сақталады және қатынастар тікелей көрсетіледі, қосымша кестелер/операциялар қажеттілігі болмайды. Құжатқа бағытталған деректер қоры үшін ORM-ға балама ретінде нысандық құжат карталары (ODM) қолданылады. Құжатқа бағытталған деректер қоры пайдаланушыға нысандарды кесте қатарларына "бөлуден" де сақтайды. Осы жүйелердің көптеген түрлері деректер жиынтығын алу үшін XQuery сұраныс тілін де қолдайды. Объектіге бағытталған деректер қоры көбінесе күрделі, тар мақсаттағы қолданбаларда қолданылады. OODBMS пайдалануға қарсы аргументтердің бірі – ол ad hoc, қолданбаға тәуелсіз сұраныстарды орындауға қабілетсіз болуы мүмкін. Осы себепті көптеген бағдарламашылар SQL сұраныстарын шектеулі деңгейде өңдей алатындықтан, нысандық SQL карталау жүйесімен жұмыс істеуге бейім. Басқа OODBMS жүйелері SQL деректер қорына көшірме жасау арқылы, белгілі сұраныс үлгілерін сақтай отырып, ad hoc сұраныстар қажеттілігін шешуге мүмкіндік береді.

Қиындықтар

Объектілік жүйені реляциялық деректер базасына бейімдеуді қарастырғанда түрлі қиындықтар туындайды. Бұл қиындықтар объекті-реляциялық үйлесімсіздік деп аталады. ORM-ді іске асырудың орнына, кез келген маңызды деректер базасымен бірге келетін түпкілікті процедуралық тілдерді пайдалануға болады. Оларды клиенттен SQL сұранымдарын қолдана отырып шақыруға болады. Деректерге қол жеткізу объектісі (DAO) жоба үлгісі осы сұранымдарды абстракциялау үшін қолданылады және қосымшаның қалған бөлігіне жеңіл салмақты, объектіге бағытталған интерфейс ұсынады.