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