SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
MAPEO
OBJETO
RELACIONAL

 En este trabajo 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 y un ejemplo practico y , por
último se terminara dando a conocer el nombre de algunos de los framework mas
usados en el mapeo de objeto relacionales




PROFESOR : M.C. C.VALENTIN ROLDAN
ALUMNO: EDUARDO CABRAL MENDOZA
INTRODUCCION



En el siguiente trabajo trato de exponer los puntos mas relevantes sobre ORM, cabe
mencionar desde un principio que a pesar de que es una técnica que es básica para nuestra
formación específicamente en el area de informática,es valido aclarar que es una técnica un
tanto confusa y que puede ser interpreta de distintos puntos de vista pero la finalidad es la
misma y que debemos elegir nosotros la herramienta que mas se adapte a nuestras
necesidades y sobre todo con la que sintamos mayor conformidad en su funcionamiento.

En el trabajo pondré algunos ejemplos de manera grafica para lograr la interpretación de los
abstraismos que se mencionaran y que cada uno pueda dar interpretarlos de manera
semenjante que es la finalidad de estos mapeos.




ORM                                                                                  Página 1
Mapeo Objeto-Relacional


Es una técnica de programación muy utilizada en paradigmas orientados a objetos, que te
permite 'mapear' (es decir, emparejar un par de entidades de tu programa): por un lado una
base de datos relacional y por otro lado objetos.




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 de los principales motores de mapeo
objeto relacional, tales como:



  ColdFusion, Common Lisp, Java, JavaScript, .NET, Perl, PHP, Python, Ruby, Smalltalk, C++.




ORM                                                                                  Página 2
VENTAJAS

      Rapidez en el desarrollo.

      Abstracción de la base de datos.

      Reutilización.

      seguridad.

      Mantenimiento del código.

      lenguaje propio para realizar las consultas.




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. }




Las bases de datos relacionales solo permiten guardar tipos de datos primitvos (enteros,
cadenas de texto,etc…) 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 convertir los registros en objetos.

Es entonces cuando ORM cobra importancia, ya que se encarga de forma automática de
convertir los objetos en registros y viceversa, simulando así tener una base de datos
orientada a objetos.




ORM                                                                                 Página 3
EJEMPLO PRACTICO

   Una agenda con personas / direcciones y teléfonos. En la base de datos relacional, pueden haber
   tablas para:



1. Las personas, con datos como su nombre completo, edad, género
2. Los teléfonos, con el dato del número telefónico y relacionados con las personas a través
   de una llave foránea (si la relación es 1-N) o una tabla de rompimiento (si la relación es N-
   M)
3. Las direcciones, con datos para calle, número exterior e interior, colonia, etc. y
   relacionados con las personas, también a través de una llave foránea.




                                         Tablas_de_BD.gif




   ORM                                                                                   Página 4
Por otro lado, en tu programa podrías tener los siguientes objetos:


1. Un objeto persona, con una propiedad cadena para el nombre, una propiedad entera para
   la edad, una propiedad de una enumeración para el género.
2. Un objeto telefono, con una propiedad cadena para el número telefónico.
3. Un objeto direccion, con una propiedad cadena para cada campo de la misma tabla




                                               Mapeo1




   Pero además, en tu objeto persona podrías tener lo siguiente:

1. Una propiedad lista de objetos telefono
2. Una propiedad de objeto direccion


   Y de esta manera, una persona tiene uno o mas números telefónicos, y una dirección
   asociada.




   ORM                                                                            Página 5
Ahora bien, el ORM, además de permitirte modelar tu información de manera que utilices
    objetos para representar las relaciones de la base de datos, también puede permitirte la
    llamada persistencia.




                                           Mapeo2.gif




    Esta propiedad se refiere al hecho de que, a través del motor del ORM y gracias al mapeo
    establecido (por ejemplo en un archivo de configuración XML) entre los objetos y las tablas
    de la base de datos, se consigue que los datos manipulados en los objetos se reflejen en
    la base de datos, y que cualquier cambio en los objetos mismos dentro del programa
    permita que el mapeo, además de ser declarativo (que establece el mapeo en sí entre
    objeto y relación), sea también del contenido.



    En cuanto a los frameworks existentes, y que pueden usarse para desarrollar sistemas con
    un ORM, se encuentran por ejemplo:



   Hibernate, para el lenguaje Java
   Propel, para el lenguaje PHP
   SQLAlchemy, para el lenguaje Python
   Doctrine, también para PHP
   etc...




    .




    ORM                                                                               Página 6

Weitere ähnliche Inhalte

Was ist angesagt?

Programacion estructurada en objetos
Programacion estructurada en objetosProgramacion estructurada en objetos
Programacion estructurada en objetosAngel Ordoñez
 
Diseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesDiseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesRobert Rodriguez
 
Los tipos de usuarios en una base de datos
Los tipos de usuarios en una base de datosLos tipos de usuarios en una base de datos
Los tipos de usuarios en una base de datosMaikol Ales
 
FORMATO PARA DICCIONARIO DE DATOS
FORMATO PARA DICCIONARIO DE DATOSFORMATO PARA DICCIONARIO DE DATOS
FORMATO PARA DICCIONARIO DE DATOSPilar Pardo Hidalgo
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasgrupo niche ortega
 
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)Enzo D'Amario
 
Levantamiento de requerimientos de una tienda abarrotera
Levantamiento de requerimientos de una tienda abarroteraLevantamiento de requerimientos de una tienda abarrotera
Levantamiento de requerimientos de una tienda abarroteraUlises Flores Viveros
 
Introduction to Databases
Introduction to DatabasesIntroduction to Databases
Introduction to DatabasesRam Kedem
 
Tipos de datos definidos por el programador en pseudocódigo
Tipos de datos definidos por el programador en pseudocódigoTipos de datos definidos por el programador en pseudocódigo
Tipos de datos definidos por el programador en pseudocódigoAbrirllave
 
Lenguaje de consulta de datos
Lenguaje de consulta de datosLenguaje de consulta de datos
Lenguaje de consulta de datosFrancis Xavier
 
sistemas de cifrado clasicos
sistemas de cifrado clasicossistemas de cifrado clasicos
sistemas de cifrado clasicosHeyOS RA
 
Unidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e rUnidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e rSebastian Perez
 
Base de datos access
Base de datos accessBase de datos access
Base de datos accessmfdacv
 
Presentacion grupo 4 - Analisis de sistemas
Presentacion grupo 4 - Analisis de sistemasPresentacion grupo 4 - Analisis de sistemas
Presentacion grupo 4 - Analisis de sistemasClaudia Patricia Mateus
 

Was ist angesagt? (20)

Programacion estructurada en objetos
Programacion estructurada en objetosProgramacion estructurada en objetos
Programacion estructurada en objetos
 
Diseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesDiseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos Relacionales
 
Los tipos de usuarios en una base de datos
Los tipos de usuarios en una base de datosLos tipos de usuarios en una base de datos
Los tipos de usuarios en una base de datos
 
FORMATO PARA DICCIONARIO DE DATOS
FORMATO PARA DICCIONARIO DE DATOSFORMATO PARA DICCIONARIO DE DATOS
FORMATO PARA DICCIONARIO DE DATOS
 
Pt7seccion2
Pt7seccion2Pt7seccion2
Pt7seccion2
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivas
 
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)
Normalización de Bases de Datos Relacionales y Primera Forma Normal (1NF)
 
Levantamiento de requerimientos de una tienda abarrotera
Levantamiento de requerimientos de una tienda abarroteraLevantamiento de requerimientos de una tienda abarrotera
Levantamiento de requerimientos de una tienda abarrotera
 
Modelo implementacion
Modelo implementacionModelo implementacion
Modelo implementacion
 
Introduction to Databases
Introduction to DatabasesIntroduction to Databases
Introduction to Databases
 
Tipos de datos definidos por el programador en pseudocódigo
Tipos de datos definidos por el programador en pseudocódigoTipos de datos definidos por el programador en pseudocódigo
Tipos de datos definidos por el programador en pseudocódigo
 
Ti036 Caso Práctico
Ti036 Caso PrácticoTi036 Caso Práctico
Ti036 Caso Práctico
 
XML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNticaXML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNtica
 
Lenguaje de consulta de datos
Lenguaje de consulta de datosLenguaje de consulta de datos
Lenguaje de consulta de datos
 
sistemas de cifrado clasicos
sistemas de cifrado clasicossistemas de cifrado clasicos
sistemas de cifrado clasicos
 
Unidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e rUnidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e r
 
Base de datos access
Base de datos accessBase de datos access
Base de datos access
 
Presentacion grupo 4 - Analisis de sistemas
Presentacion grupo 4 - Analisis de sistemasPresentacion grupo 4 - Analisis de sistemas
Presentacion grupo 4 - Analisis de sistemas
 
Como Documentar Casos De Uso
Como Documentar Casos De UsoComo Documentar Casos De Uso
Como Documentar Casos De Uso
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 

Andere mochten auch

Los modelos de datos y el modelo objeto relacional
Los modelos de datos y el modelo objeto relacionalLos modelos de datos y el modelo objeto relacional
Los modelos de datos y el modelo objeto relacionalomarib
 
Mapeo de objeto relacional
Mapeo de objeto relacionalMapeo de objeto relacional
Mapeo de objeto relacionalInspirate Unaula
 
Residencia profesional saga medica
Residencia profesional saga medicaResidencia profesional saga medica
Residencia profesional saga medicaIndustria Web
 
Java Persistence Api (Jpa)
Java Persistence Api (Jpa)Java Persistence Api (Jpa)
Java Persistence Api (Jpa)Ronald Cuello
 
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 Datososwchavez
 
Overview of JPA (Java Persistence API) v2.0
Overview of JPA (Java Persistence API) v2.0Overview of JPA (Java Persistence API) v2.0
Overview of JPA (Java Persistence API) v2.0Bryan Basham
 
BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSmigmorbus1
 
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 objetosarmin tilano
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacionalomarzon
 

Andere mochten auch (20)

Diagrama de Clases y de BD
Diagrama de Clases y de BDDiagrama de Clases y de BD
Diagrama de Clases y de BD
 
Los modelos de datos y el modelo objeto relacional
Los modelos de datos y el modelo objeto relacionalLos modelos de datos y el modelo objeto relacional
Los modelos de datos y el modelo objeto relacional
 
Reconocimiento óptico de marcas
Reconocimiento óptico de marcasReconocimiento óptico de marcas
Reconocimiento óptico de marcas
 
Modelo de base de datos relacional
Modelo de base de datos relacionalModelo de base de datos relacional
Modelo de base de datos relacional
 
Mapeo de objeto relacional
Mapeo de objeto relacionalMapeo de objeto relacional
Mapeo de objeto relacional
 
Jpa
JpaJpa
Jpa
 
Buenas Prácticas para el uso de una Base de Datos
Buenas Prácticas para el uso de una Base de DatosBuenas Prácticas para el uso de una Base de Datos
Buenas Prácticas para el uso de una Base de Datos
 
Residencia profesional saga medica
Residencia profesional saga medicaResidencia profesional saga medica
Residencia profesional saga medica
 
Clases poo
Clases pooClases poo
Clases poo
 
Java Persistence Api (Jpa)
Java Persistence Api (Jpa)Java Persistence Api (Jpa)
Java Persistence Api (Jpa)
 
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
 
JPA and Hibernate
JPA and HibernateJPA and Hibernate
JPA and Hibernate
 
Overview of JPA (Java Persistence API) v2.0
Overview of JPA (Java Persistence API) v2.0Overview of JPA (Java Persistence API) v2.0
Overview of JPA (Java Persistence API) v2.0
 
JPA Best Practices
JPA Best PracticesJPA Best Practices
JPA Best Practices
 
Casos de pruebas
Casos de pruebasCasos de pruebas
Casos de pruebas
 
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
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada 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
 

Ähnlich wie MAPEO OBJETO RELACIONAL

Ähnlich wie MAPEO OBJETO RELACIONAL (20)

Mapeo de objeto relacional
Mapeo de objeto relacionalMapeo de objeto relacional
Mapeo de objeto relacional
 
Informatica
InformaticaInformatica
Informatica
 
Orm final
Orm finalOrm final
Orm final
 
Bases de datos orientados a objetos
Bases de datos orientados a objetosBases de datos orientados a objetos
Bases de datos orientados a objetos
 
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
 
Lumisaca hector 6_s_ti_1.pdf
Lumisaca hector 6_s_ti_1.pdfLumisaca hector 6_s_ti_1.pdf
Lumisaca hector 6_s_ti_1.pdf
 
Nhibernate
NhibernateNhibernate
Nhibernate
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
 
Web semantica con Jena
Web semantica con JenaWeb semantica con Jena
Web semantica con Jena
 
Bases de Datos: Conceptos y Generalidades
Bases de Datos: Conceptos y GeneralidadesBases de Datos: Conceptos y Generalidades
Bases de Datos: Conceptos y Generalidades
 
Trabajo bdoo
Trabajo bdooTrabajo bdoo
Trabajo bdoo
 
Tema 2. bases de datos orientadas a objetos
Tema 2. bases de datos orientadas a objetosTema 2. bases de datos orientadas a objetos
Tema 2. bases de datos orientadas a objetos
 
La web semantica
La web semanticaLa web semantica
La web semantica
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Basededatos.pdf
Basededatos.pdfBasededatos.pdf
Basededatos.pdf
 
Ed java
Ed javaEd java
Ed java
 
Ed java
Ed javaEd java
Ed java
 
Base de datos
Base de datosBase de datos
Base de datos
 
1365
13651365
1365
 

MAPEO OBJETO RELACIONAL

  • 1. MAPEO OBJETO RELACIONAL En este trabajo 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 y un ejemplo practico y , por último se terminara dando a conocer el nombre de algunos de los framework mas usados en el mapeo de objeto relacionales PROFESOR : M.C. C.VALENTIN ROLDAN ALUMNO: EDUARDO CABRAL MENDOZA
  • 2. INTRODUCCION En el siguiente trabajo trato de exponer los puntos mas relevantes sobre ORM, cabe mencionar desde un principio que a pesar de que es una técnica que es básica para nuestra formación específicamente en el area de informática,es valido aclarar que es una técnica un tanto confusa y que puede ser interpreta de distintos puntos de vista pero la finalidad es la misma y que debemos elegir nosotros la herramienta que mas se adapte a nuestras necesidades y sobre todo con la que sintamos mayor conformidad en su funcionamiento. En el trabajo pondré algunos ejemplos de manera grafica para lograr la interpretación de los abstraismos que se mencionaran y que cada uno pueda dar interpretarlos de manera semenjante que es la finalidad de estos mapeos. ORM Página 1
  • 3. Mapeo Objeto-Relacional Es una técnica de programación muy utilizada en paradigmas orientados a objetos, que te permite 'mapear' (es decir, emparejar un par de entidades de tu programa): por un lado una base de datos relacional y por otro lado objetos. 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 de los principales motores de mapeo objeto relacional, tales como: ColdFusion, Common Lisp, Java, JavaScript, .NET, Perl, PHP, Python, Ruby, Smalltalk, C++. ORM Página 2
  • 4. VENTAJAS  Rapidez en el desarrollo.  Abstracción de la base de datos.  Reutilización.  seguridad.  Mantenimiento del código.  lenguaje propio para realizar las consultas. 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. } Las bases de datos relacionales solo permiten guardar tipos de datos primitvos (enteros, cadenas de texto,etc…) 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 convertir los registros en objetos. Es entonces cuando ORM cobra importancia, ya que se encarga de forma automática de convertir los objetos en registros y viceversa, simulando así tener una base de datos orientada a objetos. ORM Página 3
  • 5. EJEMPLO PRACTICO Una agenda con personas / direcciones y teléfonos. En la base de datos relacional, pueden haber tablas para: 1. Las personas, con datos como su nombre completo, edad, género 2. Los teléfonos, con el dato del número telefónico y relacionados con las personas a través de una llave foránea (si la relación es 1-N) o una tabla de rompimiento (si la relación es N- M) 3. Las direcciones, con datos para calle, número exterior e interior, colonia, etc. y relacionados con las personas, también a través de una llave foránea. Tablas_de_BD.gif ORM Página 4
  • 6. Por otro lado, en tu programa podrías tener los siguientes objetos: 1. Un objeto persona, con una propiedad cadena para el nombre, una propiedad entera para la edad, una propiedad de una enumeración para el género. 2. Un objeto telefono, con una propiedad cadena para el número telefónico. 3. Un objeto direccion, con una propiedad cadena para cada campo de la misma tabla Mapeo1 Pero además, en tu objeto persona podrías tener lo siguiente: 1. Una propiedad lista de objetos telefono 2. Una propiedad de objeto direccion Y de esta manera, una persona tiene uno o mas números telefónicos, y una dirección asociada. ORM Página 5
  • 7. Ahora bien, el ORM, además de permitirte modelar tu información de manera que utilices objetos para representar las relaciones de la base de datos, también puede permitirte la llamada persistencia. Mapeo2.gif Esta propiedad se refiere al hecho de que, a través del motor del ORM y gracias al mapeo establecido (por ejemplo en un archivo de configuración XML) entre los objetos y las tablas de la base de datos, se consigue que los datos manipulados en los objetos se reflejen en la base de datos, y que cualquier cambio en los objetos mismos dentro del programa permita que el mapeo, además de ser declarativo (que establece el mapeo en sí entre objeto y relación), sea también del contenido. En cuanto a los frameworks existentes, y que pueden usarse para desarrollar sistemas con un ORM, se encuentran por ejemplo:  Hibernate, para el lenguaje Java  Propel, para el lenguaje PHP  SQLAlchemy, para el lenguaje Python  Doctrine, también para PHP  etc... . ORM Página 6