Las bases de datos orientadas a objetos surgieron para trabajar con lenguajes de programación orientados a objetos como Java y C++, ya que el modelo relacional tenía limitaciones para aplicaciones más complejas. Las BDOO almacenan datos en objetos en lugar de tablas y usan conceptos como encapsulamiento, herencia y polimorfismo. También proveen una identidad única a cada objeto para referenciarlo y hacerlo persistente en la base de datos.