Кіріспе
Деректер қорын басқару жүйесі
Объекті-реляциялық деректер қоры (ORD) немесе объекті-реляциялық деректер қорын басқару жүйесі (ORDBMS) – бұл деректер қорын басқару жүйесі (DBMS), реляциялық деректер қорына ұқсас, бірақ объектіге бағытталған деректер қоры моделімен: объектілер, кластар және мұрагерлік деректер қоры схемаларында және сұраныс тілінде тікелей қолдау табады. Сонымен қатар, таза реляциялық жүйелер сияқты, ол деректер моделін қолданушы деректер түрлері мен әдістерімен кеңейтуді қолдайды. Объекті-реляциялық деректер қоры реляциялық деректер қоры мен объектіге бағытталған деректер қоры арасындағы орталық нүкте болып саналады. Объекті-реляциялық деректер қорындағы тәсіл негізінен реляциялық деректер қорына ұқсас: деректер деректер қорында сақталады және сұрау тіліндегі сұранымдармен бірге өңделеді; ал екінші жағынан, OODBMS деректер қоры объектіге бағытталған бағдарламалау тілінде жазылған бағдарламалық жасақтама үшін тұрақты объект сақтау орны болып табылады, объектілерді сақтау және алу үшін бағдарламалау API-сімен жабдықталған, ал сұрау салуға арналған арнайы қолдау шектеулі немесе жоқ.
Шолу
Объектілік-реляциялық деректер базасының негізгі қажеттілігі – реляциялық және объектілік деректер базасының әрқайсысының жеке артықшылықтары мен кемшіліктерінің болуымен байланысты. Реляциялық деректер базасының математикалық қатынаспен изоморфизмі жиын теориясының көптеген пайдалы әдістері мен теоремаларын қолдануға мүмкіндік береді. Бірақ бұл деректер базасының түрлері кейбір қолданбалар үшін оптималды емес. Объектіге бағытталған деректер базасының моделі жиынтықтар мен тізімдер, пайдаланушы анықтаған кез келген дерек түрлері, сондай-ақ ішкі объектілер сияқты контейнерлерді қамтиды. Бұл қолданба типтері жүйелері мен деректер базасы типтері жүйелерінің ұқсастығын қамтамасыз етеді, бұл кедергілердің сәйкессіздігі мәселесін жояды. Бірақ объектілік деректер базасы, реляциялық деректер базасынан айырмашылығы, терең талдау үшін математикалық негізді ұсырмайды. Объектілік-реляциялық деректер базасының негізгі мақсаты – реляциялық деректер базасы мен Java, C++, Visual Basic NET немесе C# сияқты бағдарламалау тілдерінде қолданылатын объектіге бағытталған модельдеу техникалары арасындағы алшақтықты қысқарту. Дегенмен, мұндай байланысты қамтамасыз етудің көбірек танымал тәсілі – стандартты реляциялық деректер базасы жүйелерін объектілік-реляциялық бейнелеу (ORM) бағдарламалық құралымен пайдалану. Дәстүрлі RDBMS немесе SQL DBMS өнімдері шектеулі дерек түрлерінен (тиісті тілдік стандарттармен анықталған) алынған деректерді тиімді басқаруға бағытталған болса, объектілік-реляциялық DBMS бағдарламалық жасақтаманы әзірлеушілерге өздерінің түрлерін және оларға қолданылатын әдістерді DBMS-ке интеграциялауға мүмкіндік береді. ORDBMS (ODBMS немесе OODBMS сияқты) объектіге бағытталған бағдарламалау тілімен интеграцияланған. ORDBMS-тің ерекше қасиеттері: 1) күрделі деректер, 2) типтік мұрагерлік және 3) объектінің мінез-құлқы. Көптеген SQL ORDBMS-терде күрделі деректерді құру пайдаланушы анықтаған тип (UDT) арқылы алдын ала схеманы анықтау негізінде жүзеге асырылады. Құрылымдалған күрделі деректердегі иерархия қосымша қасиет – типтік мұрагерлікті ұсынады. Яғни, құрылымдалған типте барлық атрибуттарын қайта пайдаланатын және қосымша атрибуттарды қамтитын кіші типтер болуы мүмкін. Тағы бір артықшылық – объектінің мінез-құлқы, бағдарлама объектілеріне қол жеткізумен байланысты. Мұндай бағдарламалық объектілер деректер базасын өңдеу үшін сақталуы және тасымалдануы керек, сондықтан олар әдетте тұрақты объектілер деп аталады. Деректер базасының ішінде тұрақты бағдарламалық объектімен барлық қатынастар оның объектінің идентификаторымен (OID) қатынастар болып табылады. Бұл мәселелердің бәрін дұрыс реляциялық жүйеде шешуге болады, бірақ SQL стандарты мен оның іске асырылуы кездейсоқ шектеулер мен қосымша күрделілікті енгізеді.
Объектіге бағытталған бағдарламалауда (OOP) объектінің мінез-құлқы әдістер арқылы сипатталады (объектілік функциялар). Бір атаумен белгіленген әдістер олардың параметрлерінің түрімен және оларға тіркелген объектілердің түрімен (әдіс қолтаңбасы) ажыратылады. OOP тілдері мұны полиморфизм принципі деп атайды, ол қысқаша "бір интерфейс, көптеген іске асырулар" деп анықталады. Басқа OOP принциптері – мұрагерлік және инкапсуляция әдістер мен атрибуттарға қатысты. Әдіс мұрагерлігі типтік мұрагерлікке кіреді. OOP-те инкапсуляция – бұл көріну дәрежесі, мысалы, қоғамдық, жеке және қорғалған кіру модификаторлары арқылы жарияланады.
Тарих
Объектілік-реляциялық деректер қорын басқару жүйелері 1990 жылдардың басында жүргізілген зерттеулердің нәтижесінде пайда болды. Бұл зерттеулер объектілік тұжырымдамаларды қосу арқылы қолданыстағы реляциялық деректер базасының тұжырымдамаларын кеңейтті. Зерттеушілер архитектураның орталық компоненті ретінде предикаттық есептеуге негізделген декларативтік сұраныс тілін сақтап қалуды мақсат етті. Ең танымал зерттеу жобасы – Postgres (UC Berkeley) осы зерттеуге қатысты екі өнімді тудырды: Illustra және PostgreSQL. 1990 жылдардың ортасында алғашқы коммерциялық өнімдер пайда болды. Оларға Illustra (Illustra Information Systems, Informix Software сатып алды, кейін IBM сатып алды), Omniscience (Omniscience Corporation, Oracle Corporation сатып алды және түпнұсқа Oracle Lite аталды) және UniSQL (UniSQL, Inc., KCOMS сатып алды) кірді. Paradigma Software, Inc. негізін қалаушы, украиндық әзірлеуші Руслан Засухин 1990 жылдардың ортасында Valentina деректер қорының алғашқы нұсқасын C++ SDK ретінде әзірлеп, шығарды. Келесі онжылдықта PostgreSQL коммерциялық тұрғыдан тиімді деректер базасына айналды және қазіргі бірнеше өнімнің негізі болып табылады, олар оның ORDBMS мүмкіндіктерін сақтайды. Компьютер ғалымдары осы өнімдерді «объектілік-реляциялық деректер қорын басқару жүйелері» немесе ORDBMS деп атады. Алғашқы объектілік-реляциялық деректер базасының көптеген идеялары SQL:1999 стандартына құрылымды типтер арқылы енгізілді. Шындығында, SQL:1999 стандартының объектіге бағытталған аспектілеріне сәйкес келетін кез келген өнімді объектілік-реляциялық деректер қорын басқару өнімі деп санауға болады. Мысалы, IBM Db2, Oracle деректер қоры және Microsoft SQL Server осы технологияны қолдайтындарын мәлімдейді және оны әртүрлі деңгейде іске асырады.