Mapeo objeto relacional

8

Click here to load reader

description

TODO ACERCA DE ORM

Transcript of Mapeo objeto relacional

Page 1: Mapeo objeto relacional

INTEGRANTE: CARHUAYAL PUENTE, ISABEL ALISSON

TEMA: ORM (MAPEO OBJETO – RELACIONAL)

Page 2: Mapeo objeto relacional

Mapeo objeto-relacional

Page 3: Mapeo objeto relacional

DEFINICIONES:

Es una técnica de programación para convertir datos entre ellenguaje de programación orientado a objetos utilizado y elsistema de base de datos relacional utilizado en el desarrollo denuestra aplicación.

Es un componente de software que me permite trabajar con losdatos persistidos como si ellos fueran parte de una base dedatos orientada a objetos (en este caso virtual). Debido a quelo standard es trabajar con BD relacionales, se deben realizaroperaciones que permitan transformar un registro en objeto yviceversa. A esta funcionalidad se la llama Mapeo objeto-relacional (ORM).

Page 4: Mapeo objeto relacional

EL PROBLEMAActualmente, las bases de datos relacionales solo pueden guardar datosprimitivos, por lo que no podemos guardar objetos que vayamos creando ennuestra aplicación, sino lo que hacemos es convertir los datos del objeto endatos primitivos que si podremos almacenar en las tablas correspondientesde nuestras bases de datos. Si luego necesitamos ese objeto en algunaparte de nuestra aplicación, debemos de recuperar los datos primitivos de labase de datos y volver a construir el objeto.

Page 5: Mapeo objeto relacional

SOLUCIÓN

El mapeo objeto-relacional lo que nos ayudará seráprecisamente a eso, a olvidarnos completamente decomo convertir los objetos en datos primitivos paraalmacenarlos y viceversa.

Page 6: Mapeo objeto relacional

VENTAJAS

• La mayoría de las herramientas actuales permiten la creación del modelo por medio del esquema de la base de datos, leyendo el esquema, nos crea el modelo adecuado.

Rapidez en el desarrollo

• Al utilizar un sistema ORM, lo que conseguidos es separarnos totalmente del sistema de Base de datos que utilicemos, y así si en un futuro debemos de cambiar de motor de bases de datos, tendremos la seguridad de que este cambio no nos afectará a nuestro sistema, siendo el cambio mas sencillo.

Abstracción de la base de datos

• Nos permite utilizar los métodos de un objeto de datos desde distintas zonas de la aplicación, incluso desde aplicaciones distintas.Reutilización

• Los ORM suelen implementar sistemas para evitar tipos de ataques como pueden ser los SQL injections.Seguridad

• Nos facilita el mantenimiento del código debido a la correctaordenación de la capa de datos, haciendo que el mantenimientodel código sea mucho mas sencillo.

Mantenimiento del código

•Estos sistemas de mapeo traen su propio lenguaje para hacer lasconsultas, lo que hace que los usuarios dejen de utilizar la sentenciasSQL para que pasen a utilizar el lenguaje propio de cada herramienta.

Lenguaje propio para realizar las consultas

Page 7: Mapeo objeto relacional

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

Sistemas Complejos

• Normalmente la utilidad de ORM desciende con la mayor complejidad del sistema relacional. Es decir, si tienes una base de datos compleja, ORM también se te hará más complejo y perderás más tiempo adaptando tus clases que en un sistema de menor complejidad.

Page 8: Mapeo objeto relacional

ALGUNOS DISTINTOS SISTEMAS ORM:

Hibernate

• Es una herramienta ORM para la tecnología JAVA y disponible también para la tecnología .NET con el nombre de Nhibernate.

• Es software libre bajo la licencia GNU LGPL.

• Para crear el modelo, Doctrine nos da dos alternativa, hacer una clase por tabla e indicarle mediante PHP el tipo de datos que almacenaremos. O bien utilizar un esquema en formato YAML (similar a XML, pero mas legible para las personas).

Linq

• Es un ORM desarrollado por Microsoft para el mapeo objeto-relacional para los lenguajes Visual Basic. Net y C#.

• Incluye una herramienta llamada SQLMetal que permite la generación automática de clases directamente desde una base de datos MS-SQL.

Doctrine

• Es un framework ORM para PHP 5.2 y posterior.

• Entre sus puntos fuertes destaca su lenguaje DQL (Doctrine Query Language) que está inspirado en el HQL de Hibernate.

• Para crear el modelo, Doctrine nos da dos alternativa, hacer una clase por tabla e indicarle mediante PHP el tipo de datos que almacenaremos.

Propel

• Es uno de los más antiguos framework ORM para PHP 5 y superior y que está respaldado por el framework Synfony.

• Podemos acceder y modificar los datos de la base de datos utilizando la lógica de programación orientada a objetos, en vez de utilizar los clásicos Select y Updates de SQL.

ADOdb Active Record

• Basado en la muy conocida librería de abstracción ADOdb.

• Funciona con PHP

4 y 5.