El origen de las Bases de datos orientadas a objetos (en adelante: BDOO) se debe básicamente a las siguientes razones:
- La existencia de problemas al representar cierta información y modelar ciertos aspectos del mundo real. Los modelos clásicos permiten representar gran cantidad de datos, pero las operaciones y representaciones que se pueden realizar sobre ellos son bastante simples.
- Pasar del modelo de objetos al modelo relacional, para almacenar la información, genera dificultades que en el caso de las BDOO no surgen, ya que el modelo es el mismo. Es decir, los datos de los programas escritos en lenguaje orientado a objetos se pueden almacenar directamente, sin conversión alguna, en las BDOO.
Los sistemas de bases de datos orientadas a objetos soportan un modelo de objetos puro, ya que no están basados en extensiones de otros modelos más clásicos como el relacional.
Por ello, una característica general es que el lenguaje de programación y el esquema de la base de datos utilizan las mismas definiciones de tipos.