Об'єктно-орієнтовані СКБД

Об'єктно-орієнтована база даних (ООБД) дозволяє програмістам, що працюють із мовами третього покоління, інтерпретувати всі свої інформаційні сутності як об'єкти, що зберігаються в оперативній пам'яті. Додатковий інтерфейсний рівень абстракції забезпечує перехоплення запитів, що звертаються до тих частин бази даних, які перебувають у постійному сховищі на диску. Зміни, внесені в об'єкти, оптимальним образом переносяться з пам'яті на диск.

Приклади ООСУБД ред.

У даний час[коли?] налічується понад 300 об'єктно-орієнтованих СУБД (ООСУБД), дані деяких наведено в табл. 1

Таблиця 1

Фірма виробник Назва ООСУБД Засоби розробки Підхід до розробки
Objectivity Objectivity / DB C, C ++, SQL, Java Розширення об'єктно-орієнтованих бібліотек класів
Poet Software Poet C, C ++, ODBC, Java
Object Design Object Store C, C ++, Java
Ontos Inc. C ++, Java
Versant Object Technology Ontos DB, Versant C ++, Java
Computer Associate Jasmine C ++, Java
НГШ «Інтелтек Плюс» ODB-Jupiter C ++
02 Technology 02 C ++, Java Вставка об'єктно орієнтованої мови БД н звичайний базова мова
GemStone Inc. GemStone C ++, Java Розширення мови (С ++) можливостями роботи з БД
I nterSystems CACHE Semantic Information Manager, Cache Object Script Нова мова бази даних або моделі даних

Переваги ред.

Перевагою об'єктно-орієнтованих баз даних є спрощений код. Додатки одержують можливість інтерпретувати дані в контексті тієї мови програмування, на якому вони написані. Реляційна база даних повертає значення всіх полів у текстовому виді, а потім вони приводяться до локальних типів даних. В об'єктно-орієнтованих базах даних цей етап ліквідований. Методи маніпулювання даними завжди залишаються однаковими незалежно від того, перебувають дані на диску або в пам'яті.

Структури даних ред.

Дані в об'єктно-орієнтованих базах даних здатні прийняти вид будь-якої структури, яку можна виразити використовуваною мовою програмування. Відносини між сутностями також можуть бути довільно складними. Об'єктно-орієнтована база даних управляє кеш-буфером об'єктів, переміщаючи об'єкти між буфером і дисковим сховищем у міру необхідності.

За допомогою об'єктно-орієнтованих баз даних вирішуються дві проблеми. По-перше, складні інформаційні структури виражаються в них краще, ніж у реляційних базах даних, а по-друге, усувається необхідність транслювати дані з того формату, що підтримується в СКБД. Наприклад, у реляційній СКБД розмірність цілих чисел може становити 11 цифр, а у використовуваній мові програмування — 16. Програмістові прийде враховувати цю ситуацію.

Додаткові функції ред.

Об'єктно-орієнтовані СКБД виконують багато додаткових функцій. Це окупається сповна, якщо відносини між даними дуже складні. У такому випадку продуктивність об'єктно-орієнтованих баз даних виявляється вище, ніж у реляційних СКБД. Якщо ж дані менш складні, додаткові функції виявляються надлишковими. В об'єктній моделі даних підтримуються нерегламентовані запити, але мовою їхнього складання не обов'язково є SQL. Логічне подання даних може не відповідати реляційній моделі, тому застосування мови SQL стане безглуздим. Найчастіше зручніше обробляти об'єкти в пам'яті, виконуючи відповідні види пошуку.

Недоліки ред.

Великим недоліком об'єктно-орієнтованих баз даних є їхні тісні зв'язки із застосовуваною мовою програмування. До даних, що зберігаються в реляційній СКБД, можуть звертатися будь-які додатки, тоді як, приміром, Java-об'єкт, поміщений в об'єктно-орієнтовану базу даних, буде становити інтерес лише для додатків, написаних на Java.

Джерела ред.