Object–relational mapping (ORM, O/RM, and O/R mapping tool) in computer science is a programming technique for converting data between incompatible type systems using object-oriented programming languages. This creates, in effect, a "virtual object database" that can be used from within the programming language. There are both free and commercial packages available that perform object–relational mapping, although some programmers opt to construct their own ORM tools. In object-oriented programming, data-management tasks act on objects that are almost always non-scalar values. For example, consider an address book entry that represents a single person along with zero or more phone numbers and zero or more addresses. This could be modeled in an object-oriented implementation by a "Person object" with an attribute/field to hold each data item that the entry comprises: the person's name, a list of phone numbers, and a list of addresses. The list of phone numbers would itself contain "PhoneNumber objects" and so on. Each such address-book entry is treated
El mapping objeto-relacional (ORM, O/RM, y O/R mapping tool) en ciencias de la computación es una técnica de programación para convertir datos entre sistemas de tipo incompatible utilizando lenguajes de programación orientados a objetos. Esto crea, en efecto, una "base de datos de objetos virtuales" que se puede utilizar desde dentro del lenguaje de programación. Hay paquetes libres y comerciales disponibles que realizan mapping objeto-relacional, aunque algunos programadores optan por construir sus propias herramientas ORM. En la programación orientada a objetos, las tareas de gestión de datos actúan sobre objetos que son casi siempre valores no escalares. Por ejemplo, considere una entrada en el libro de direcciones que representa a una sola persona junto con cero o más números de teléfono y cero o más direcciones. Esto podría ser modelado en una implementación orientada a objeto por un "objeto de persona" con un atributo/campo para mantener cada elemento de datos que la entrada incluye: el nombre de la persona, una lista de números de teléfono y una lista de direcciones.