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