SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
MAPEO DE OBJETO RELACIONAL (ORM)
Angy Alexandra Borja Villa
Universidad Autónoma Latinoamericana -Colombia (Medellín- Antioquia)
alexa1518@hotmail.com, alexandra.borja@unaula.edu.co
Versión final 24 septiembre del 2010
Resumen- En este artículo se presenta el concepto de
ORM como una técnica de programación para convertir
datos entre el lenguaje P.O.O y el sistema de bases de
datos relacional utilizado en el desarrollo de
aplicaciones. A lo largo del contenido de este artículo,
se verá la importancia del tema, sus ventajas y
desventajas, por último se terminara dando a conocer el
nombre de algunos de los framework mas usados en el
mapeo de objeto relacional.
Palabras claves: persistencia, bases de datos
relacionales, lenguaje de programación orientada a
objetos, hibertane, Linq.
I. INTRODUCCION
En este artículo se presenta de forma
breve y general la aplicación y los
conceptos necesarios para comprender
de forma rápida el significado de ORM,
sus problemas actuales, importancia,
beneficios y desventajas.
II. ORM es el mapeo objeto-relacional (más
conocido por su nombre en inglés, Object-
Relational mapping), consiste en una técnica
de programación para convertir datos entre
el lenguaje de programación orientado a
objetos utilizado y el sistema de base de
datos relacional utilizado en el desarrollo de
aplicaciones.
Esto posibilita el uso de las características
propias de la orientación a objetos
(básicamente herencia y polimorfismo). Hay
paquetes comerciales y de uso libre
disponibles que desarrollan el mapeo
relacional de objetos, aunque algunos
programadores prefieren crear sus propias
herramientas ORM.
Entre estos paquetes comerciales tenemos
una lista alfabética de los principales
motores de mapeo objeto relacional, tales
como:
ColdFusion, Common Lisp, Java, JavaScript,
.NET, Perl, PHP, Python, Ruby, Smalltalk, C++
El problema que surge, porque hoy en día
prácticamente todas las aplicaciones están
diseñadas para usar la Programación
Orientación a Objetos (POO), mientras que
las bases de datos más extendidas son del
tipo relacional y estas solo permiten guardar
tipos de datos primitivos (enteros, cadenas
de texto) por lo que no se puede guardar de
forma directa los objetos de la aplicación en
las tablas, sino que estos se deben de
convertir antes en registros, que por lo
general afectan a varias tablas. En el
momento de volver a recuperar los datos,
hay que hacer el proceso contrario, se deben
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Convertir los registros en objetos.
En este punto es que se muestra la
importancia del ORM, ya que este se
encarga de forma automática, de convertir
los objetos en registros y viceversa,
simulando así tener una base de datos
orientada a objetos.
Algunas de las ventajas del ORM consiste en:
• Rapidez en el desarrollo.
• Abstracción de la base de datos.
• Reutilización.
• seguridad.
• Mantenimiento del código.
• lenguaje propio para realizar las
consultas.
Así como ventajas, también tiene sus puntos
débiles, aquí están algunas de sus
desventajas:
• Tiempo utilizado en el
aprendizaje. Este tipo de
herramientas suelen ser
complejas por lo que su correcta
utilización lleva un tiempo que
hay que emplear en ver el
funcionamiento correcto y ver
todo el partido que se le puede
sacar.
• Aplicaciones algo más lentas.
Esto es debido a que todas las
consultas que se hagan sobre la
base de datos, el sistema
primero deberá de
transformarlas al lenguaje propio
de la herramienta, luego leer los
registros y por último crear los
objetos.
por último se nombrara algunos framework
que nos devuelven el mapeo objeto-
relacional, según el lenguaje que estemos
utilizando :
• Doctrine
• Propel
• Hibernate
• LINQ
III. CONCLUSION
En este articulo se ha mostrado la
importancia de trabajar con ORM y por esto
se concluye que es mucho mejor que los
programadores de hoy utilicen este método
que da más rapidez y eficiencia a la
construcción de bases de datos y
aplicaciones.
REFERENCIAS
http://web.ontuts.com/tutoriales/introducci
on-a-object-relational-mapping-orm/
http://www.programacion.com/articulo/con
ceptos_basicos_de_orm_object_relational_
mapping_349
http://es.wikipedia.org/wiki/Mapeo_objeto-
relacional
http://rvillahermosa.blogspot.com/2007/10/
herramientas-orm.html
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

Más contenido relacionado

La actualidad más candente

Base de datos nativas para xml
Base de datos nativas para xmlBase de datos nativas para xml
Base de datos nativas para xml
38005607
 
Parte 2. web semantica eva mendez - argentina - 301009
Parte 2. web semantica   eva mendez - argentina - 301009Parte 2. web semantica   eva mendez - argentina - 301009
Parte 2. web semantica eva mendez - argentina - 301009
izrxrzi
 
Caso practico de base de datos orientada a objetos
Caso practico de base de datos orientada a objetosCaso practico de base de datos orientada a objetos
Caso practico de base de datos orientada a objetos
Miguel Martinez
 
Diferencias entre html y xml
Diferencias entre html y xmlDiferencias entre html y xml
Diferencias entre html y xml
Rafael Peralta
 

La actualidad más candente (20)

Ontologías
OntologíasOntologías
Ontologías
 
Base de datos nativas para xml
Base de datos nativas para xmlBase de datos nativas para xml
Base de datos nativas para xml
 
Sql
SqlSql
Sql
 
Parte 2. web semantica eva mendez - argentina - 301009
Parte 2. web semantica   eva mendez - argentina - 301009Parte 2. web semantica   eva mendez - argentina - 301009
Parte 2. web semantica eva mendez - argentina - 301009
 
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
 
Web semantic
Web semanticWeb semantic
Web semantic
 
Tecnologías de la web semántica
Tecnologías de la web semánticaTecnologías de la web semántica
Tecnologías de la web semántica
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Datos semiestructurados Xml
Datos semiestructurados XmlDatos semiestructurados Xml
Datos semiestructurados Xml
 
Bases de datos orientados a objetos
Bases de datos orientados a objetosBases de datos orientados a objetos
Bases de datos orientados a objetos
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5
 
Caso practico de base de datos orientada a objetos
Caso practico de base de datos orientada a objetosCaso practico de base de datos orientada a objetos
Caso practico de base de datos orientada a objetos
 
Archivo xml
Archivo xmlArchivo xml
Archivo xml
 
Lenguaje de Consulta Estructurado (SQL)
Lenguaje de Consulta Estructurado (SQL)Lenguaje de Consulta Estructurado (SQL)
Lenguaje de Consulta Estructurado (SQL)
 
Estructura de datos y almacenamiento
Estructura de datos y almacenamientoEstructura de datos y almacenamiento
Estructura de datos y almacenamiento
 
Base de datos rosario armenta
Base de datos rosario armentaBase de datos rosario armenta
Base de datos rosario armenta
 
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
 
Websemantica
WebsemanticaWebsemantica
Websemantica
 
Diferencias entre html y xml
Diferencias entre html y xmlDiferencias entre html y xml
Diferencias entre html y xml
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 

Destacado (8)

Diagrama de Clases y de BD
Diagrama de Clases y de BDDiagrama de Clases y de BD
Diagrama de Clases y de BD
 
Clase 1 Introduccion A Base De Datos
Clase 1   Introduccion A Base De DatosClase 1   Introduccion A Base De Datos
Clase 1 Introduccion A Base De Datos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOS
 
Modelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosModelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetos
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 

Similar a Mapeo de objeto relacional

presentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxpresentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptx
ssuser948499
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
Jonathan Hidalgo Nolasco
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
glfloresgilberto
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
winny_arias
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructurada
Kurt_williams
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A Objetos
Andrés
 

Similar a Mapeo de objeto relacional (20)

Orm final
Orm finalOrm final
Orm final
 
presentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxpresentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptx
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
 
Mapeo objeto relacional
Mapeo objeto relacionalMapeo objeto relacional
Mapeo objeto relacional
 
Introducción a ORMs
Introducción a ORMsIntroducción a ORMs
Introducción a ORMs
 
LIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBM
LIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBMLIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBM
LIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBM
 
Tarea 5. investigacion
Tarea 5. investigacionTarea 5. investigacion
Tarea 5. investigacion
 
Nhibernate
NhibernateNhibernate
Nhibernate
 
Conceptos de hibernate
Conceptos de hibernateConceptos de hibernate
Conceptos de hibernate
 
Plataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones webPlataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones web
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructurada
 
Programación
ProgramaciónProgramación
Programación
 
1-Unidad 1. Paradigma de la Programación-Orientación a Objetos
1-Unidad 1. Paradigma de la Programación-Orientación a Objetos1-Unidad 1. Paradigma de la Programación-Orientación a Objetos
1-Unidad 1. Paradigma de la Programación-Orientación a Objetos
 
Django
DjangoDjango
Django
 
POO
POOPOO
POO
 
SEBASTIAN QUINTO TORRES.pptx
SEBASTIAN QUINTO TORRES.pptxSEBASTIAN QUINTO TORRES.pptx
SEBASTIAN QUINTO TORRES.pptx
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A Objetos
 
Programacion o.o.
Programacion o.o.Programacion o.o.
Programacion o.o.
 

Más de Inspirate Unaula

Más de Inspirate Unaula (13)

Linq
LinqLinq
Linq
 
Bases de datos de grafos
Bases de datos de grafosBases de datos de grafos
Bases de datos de grafos
 
Bases de datos embebidas
Bases de datos embebidasBases de datos embebidas
Bases de datos embebidas
 
Jdbc
JdbcJdbc
Jdbc
 
Odbc
OdbcOdbc
Odbc
 
Odbc
OdbcOdbc
Odbc
 
Jdbc
JdbcJdbc
Jdbc
 
Discos de estado solido
Discos de estado solidoDiscos de estado solido
Discos de estado solido
 
Articulo redes san y nas
Articulo redes san y nasArticulo redes san y nas
Articulo redes san y nas
 
Linq
LinqLinq
Linq
 
Bases multimedia
Bases multimediaBases multimedia
Bases multimedia
 
Bases de datos embebidas
Bases de datos embebidasBases de datos embebidas
Bases de datos embebidas
 
Bases de datos de grafos
Bases de datos de grafosBases de datos de grafos
Bases de datos de grafos
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (15)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Mapeo de objeto relacional

  • 1. MAPEO DE OBJETO RELACIONAL (ORM) Angy Alexandra Borja Villa Universidad Autónoma Latinoamericana -Colombia (Medellín- Antioquia) alexa1518@hotmail.com, alexandra.borja@unaula.edu.co Versión final 24 septiembre del 2010 Resumen- En este artículo se presenta el concepto de ORM como una técnica de programación para convertir datos entre el lenguaje P.O.O y el sistema de bases de datos relacional utilizado en el desarrollo de aplicaciones. A lo largo del contenido de este artículo, se verá la importancia del tema, sus ventajas y desventajas, por último se terminara dando a conocer el nombre de algunos de los framework mas usados en el mapeo de objeto relacional. Palabras claves: persistencia, bases de datos relacionales, lenguaje de programación orientada a objetos, hibertane, Linq. I. INTRODUCCION En este artículo se presenta de forma breve y general la aplicación y los conceptos necesarios para comprender de forma rápida el significado de ORM, sus problemas actuales, importancia, beneficios y desventajas. II. ORM es el mapeo objeto-relacional (más conocido por su nombre en inglés, Object- Relational mapping), consiste en una técnica de programación para convertir datos entre el lenguaje de programación orientado a objetos utilizado y el sistema de base de datos relacional utilizado en el desarrollo de aplicaciones. Esto posibilita el uso de las características propias de la orientación a objetos (básicamente herencia y polimorfismo). Hay paquetes comerciales y de uso libre disponibles que desarrollan el mapeo relacional de objetos, aunque algunos programadores prefieren crear sus propias herramientas ORM. Entre estos paquetes comerciales tenemos una lista alfabética de los principales motores de mapeo objeto relacional, tales como: ColdFusion, Common Lisp, Java, JavaScript, .NET, Perl, PHP, Python, Ruby, Smalltalk, C++ El problema que surge, porque hoy en día prácticamente todas las aplicaciones están diseñadas para usar la Programación Orientación a Objetos (POO), mientras que las bases de datos más extendidas son del tipo relacional y estas solo permiten guardar tipos de datos primitivos (enteros, cadenas de texto) por lo que no se puede guardar de forma directa los objetos de la aplicación en las tablas, sino que estos se deben de convertir antes en registros, que por lo general afectan a varias tablas. En el momento de volver a recuperar los datos, hay que hacer el proceso contrario, se deben Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.
  • 2. Convertir los registros en objetos. En este punto es que se muestra la importancia del ORM, ya que este se encarga de forma automática, de convertir los objetos en registros y viceversa, simulando así tener una base de datos orientada a objetos. Algunas de las ventajas del ORM consiste en: • Rapidez en el desarrollo. • Abstracción de la base de datos. • Reutilización. • seguridad. • Mantenimiento del código. • lenguaje propio para realizar las consultas. Así como ventajas, también tiene sus puntos débiles, aquí están algunas de sus desventajas: • Tiempo utilizado en el aprendizaje. Este tipo de herramientas suelen ser complejas por lo que su correcta utilización lleva un tiempo que hay que emplear en ver el funcionamiento correcto y ver todo el partido que se le puede sacar. • Aplicaciones algo más lentas. Esto es debido a que todas las consultas que se hagan sobre la base de datos, el sistema primero deberá de transformarlas al lenguaje propio de la herramienta, luego leer los registros y por último crear los objetos. por último se nombrara algunos framework que nos devuelven el mapeo objeto- relacional, según el lenguaje que estemos utilizando : • Doctrine • Propel • Hibernate • LINQ III. CONCLUSION En este articulo se ha mostrado la importancia de trabajar con ORM y por esto se concluye que es mucho mejor que los programadores de hoy utilicen este método que da más rapidez y eficiencia a la construcción de bases de datos y aplicaciones. REFERENCIAS http://web.ontuts.com/tutoriales/introducci on-a-object-relational-mapping-orm/ http://www.programacion.com/articulo/con ceptos_basicos_de_orm_object_relational_ mapping_349 http://es.wikipedia.org/wiki/Mapeo_objeto- relacional http://rvillahermosa.blogspot.com/2007/10/ herramientas-orm.html Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.