in the 1990s, the object-oriented programming paradigm was applied to database technology, creating a new database model known as object databases. this aims to avoid the object-relational impedance mismatch - the overhead of converting information between its representation in the database (for example as rows in tables) and its representation in the application program (typically as objects). even further, the type system used in a particular application can be defined directly in the database, allowing the database to enforce the same data integrity invariants. object databases also introduce the key ideas of object programming, such as encapsulation and polymorphism, into the world of databases.