ORM (Object Relational Mapping)

Slides:



Advertisements
Presentaciones similares
Introducción a HIBERNATE
Advertisements

SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Proyecto Aula Virtual. Conceptos El Aula Virtual es una plataforma versátil que proporciona herramientas que facilitan la docencia presencial/semipresencial/virtual.
En bases de datos, una consulta es el método para acceder a los datos en las bases de datos. Con las consultas se puede modificar, borrar, mostrar y agregar.
-SON LOS ESTANDARES BASICOS DEL APRENDIZAJE MATRIZ DE REFERENCIA COMPETENCIA -SON LOS ESTANDARES BASICOS DEL APRENDIZAJE -LOS DBA COMPONENTE SON LAS.
Uso de TICs basadas en Software Libre. Objetivo Introducir al mundo del software libre Conocer proyectos y aplicaciones de software libre Realizar prácticas.
Introducción a la Orientación a Objetos Principios de la Tecnología de Objetos.
Universidad Pedagógica Francisco Morazán Tema: SISTEMA DE BASE DE DATOS Grupo: 5 Integrantes: Danilo Hernán Lagos Avilés Erlinda Yohanna Díaz Elvir Indira.
1 LENGUAJES DE PROGRAMACIÓN. Son aplicaciones específicas diseñadas para crear otras aplicaciones o programas. Son programas para crear programas. 2.
Conceptos generales de base de datos
Portales colaborativos
Búsqueda básica de EBSCOhost para bibliotecas académicas
Acceso a Bases de datos con ADO.NET
Introducción a la Programación Multimedial
PROGRAMACIÓN ORIENTADA A OBJETOS
SQL Prof. Martín Contreras.
BASE DE DATOS NOMBRE: Natali Jovana García Toro. GARDO:7.3
Uso de información estadística con valor agregado
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
WEBNODE Webnode es un sistema de creación de páginas web en línea desarrollado por Westcom s.r.o. La compañía tiene su centro de operaciones en Brno, República.
Conectividad de Bases de Datos
Lenguajes de programación
Sistema de Bases de Datos
Software de aplicación de escritorio y web
informática y convergencia
Introducción a Visual Studio .NET
CMS CMS son las siglas de Content Management System, o lo que viene a ser un sistema de gestión de contenidos. Un CMS es un programa desarrollado para.
METODOLOGIA DEL DESARROLLO DE SISTEMAS
Tema 4 Elementos para el Desarrollo de Algoritmos
Hibernate: Conociendo una herramienta ORM
PROVEEDOR DATA WAREHOUSE TERADATA
SISTEMA DE GESTIÓN DE BASES DE DATOS”.
Es un programa Sistema de gestión de base de datos relacional creado y modificado por Microsoft para uso personal de pequeñas organizaciones. Es un componente.
Las herramientas Case Julian madrigal.
Motores de busqueda.
Santana Mejía Andrea Michell Villarruel Miranda Alejandro Ernesto
APLICACIONES Y USO DE LAS TICS ¿Para qué cosas es bueno usar Tics?
Herramientas tecnológicas
Especificación de requerimientos por: Sonia Cristina Gamboa Sarmiento
QUE ES PROGRAMAR.
Análisis comparativo entre CMMI e ISO
UNIVERSIDAD TECNOLÓGICA EMILIANO ZAPATA
El botón office: están las tareas de nuevo documento, de crear un documento, así como la tarea de imprimir. También se muestras los documentos abiertos.
Proceso de Desarrollo de SW
Plataformas cliente-servidor
Qué son las Bases de Datos Relacionales
CC Bases de Datos Otoño Clase 3: Modelo Entidad-Relación (II)
SECAP F NOMBRE: J MICHAEL EDUARDO QUEVEDO H. CURSO: I INFORMATICA B
COFRE CON SISTEMA DE SEGURIDAD BLUETOOTH
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
1. WordPress                                      WordPress,     Esta página es la más popular de todas para escribir blogs en Internet. Según las estadísticas.
Fundamentos de la Programación I
Tema 1 El entorno de desarrollo de C#
Lucas Fernández Perona Nicolas Alberto Dughetti Gerardo Soula
Generaciones de Bases de Datos
Nombre del Docente: María Guadalupe Salazar Chapa
BASES DE DATOS II.
Electiva Tecnológica Herramientas Libres
Instituto Tecnológico de Zacatecas
Programación al lado del servidor
JDBC: comunicación Java-Base de Datos
SQL1 7/9 Baloian Acceso a Bases de Datos
Aidan Hogan CC Bases de Datos Otoño 2019 Clase 7: Actualizaciones, Restricciones, Formas Normales Aidan.
UNIDAD 2 MODELO DE DATOS.
Carlos Manuel Ortega Avila
AUTOR: SALGADO ESCOBAR STALIN SEBASTIAN DIRECTOR: ING. JOSE SANCHO
¡Bienvenido! “Ponemos la mejor Tecnología al alcance de TI”
2. PRINCIPIOS BASICOS DE MICROSOFT ACCESS. -Sistema que tiene la capacidad de realizar tareas de distinta índole utilizando herramientas que interactúan.
Macros EN EXCEL.
Base de datos años  En la década de los años 80’, se desarrolló el SQL, un lenguaje de consultas que permite consultar, valga la redundancia,
Transcripción de la presentación:

ORM (Object Relational Mapping) Jefatura de Sistemas

INTRODUCCION En junio de 2000, Microsoft anunció tanto la plataforma. NET y un nuevo lenguaje de programación llamado C #. C # es un objeto de tipado fuerte lenguaje orientado al objeto proporcionar a la mezcla óptima de la sencillez, la expresividad, y el rendimiento. La plataforma. NET se centra en torno a una de Common Language Runtime (similar a una JVM) y un conjunto de librerías que pueden ser explotados por una amplia variedad de lenguas que son capaces de trabajar juntos por todos los compilación a un lenguaje intermedio (IL). El lenguaje C # fue construido con la perspectiva de muchas lenguas, pero sobre todo de Java y C + +. Fue co-escrito por Anders Hejlsberg (que es famoso por el diseño del lenguaje Delphi), y Scott Wiltamuth.

PROGRAMACION Y BD Es de conocimiento que hay una incongruencia entre el mundo orientado a objetos y las base de datos relacionales. Para reducir ese incongruencia recurrimos a una capa auxiliar que mapeará entre los 2 mundos, adaptándolo según las especificaciones hechas. Esa capa auxiliar se denomina ORM, object relational mapping. Los ORM nacieron a mediados de la década del 90, se hicieron masivos a partir de la masificación de Java. Por esa razón, los frameworks más populares hoy en día en .Net son adaptaciones del modelo pensado para Java. Estudios muestran que aproximadamente, el 40% de desarrollo de software está dedicado al mapeo entre el modelo de objetos y su correspondiente modelo relacional.

QUE ES UN ORM Ayudan a reducir el tiempo de desarrollo de software. Object Relational Mapping (ORM) es la herramienta que nos sirve para transformar representaciones de datos de los Sistemas de Bases de Datos Relacionales, a representaciones (Modelos) de objetos. Las herramientas ORM actúan como un puente que conecta las ventajas de una Base de datos con la representación de estos en un lenguaje Orientado a Objetos, o, dicho en otras palabras, nos lleva de la base de datos al lenguaje de programación. En el modelo relacional, cada fila en la tabla se mapea a un objeto, y cada columna a una propiedad. Para acceder a las propiedades normalmente se usan métodos especiales llamados getters y setters, o accesores. Un ORM simplifica el acceso a una base de datos por parte del programador convirtiendo toda sentencia SQL a operaciones con objetos. Así por ejemplo añadir una fila a una tabla es tan fácil como crear un objeto. Ventajas de los ORM Ayudan a reducir el tiempo de desarrollo de software. Permiten la producción de mejor código. No hay necesidad de saber SQL. Incentivan la portabilidad y escalabilidad de los programas de software. Independencia de la Base de Datos Desventajas El desempeño esta ligado a la eficiencia del ORM.

ORM El ORM debería resolver la mayoría de las cargas. Un buen ORM permite: Mapear clases a tablas: propiedad a columna, clase a tabla. Persistir objetos. A través de un método Orm.Save(objeto). Encargándose de generar el SQL correspondiente. Recuperar objetos persistidos. A través de un método objeto =  Orm.Load(objeto.class, clave_primaria) Recuperar una lista de objetos a partir de un lenguaje de consulta especial. A través de un método. ListObjetos = Orm.Find(“Objeto FROM MyObject WHERE Objeto.Propiedad=5”), o algo más complejo ListObjetos = Orm.Find(“Objeto FROM MyObject WHERE Objeto.Relacion1.Relacion2.Propiedad2=5”), y el ORM transformará a través de varios joins de tablas.

BENEFICIOS DE UN ORM ORM tiene un larga historia, y no es específico de Java. Sin embargo, se ha vuelto particularmente popular entre los desarrolladores Java. ORM tiene tantos propósitos que juntos pueden añadir una enorme ganancia de productividad. Específicamente: ORM elimina el requerimiento de escribir SQL para cargar y persistir el estado de los objetos. Aunque aún se tiene que escribir consultas, una buena herramienta ORM debería hacerlo más sencillo. Y se verá liberado de la codificación asociada con JDBC u otros. ORM le permite crear un modelo de dominio apropiado sin muchos de los problemas asociados con el modelo relacional. Puede pensar en términos de objetos, en vez de en filas y columnas. ORM puede mejorar la portabilidad entre bases de datos reduciendo la dependencia del SQL específico de la base de datos, que se puede abstraer detrás de la herramienta ORM. El efecto de ORM sobre el rendimiento de una aplicación dependerá del escenario. Para operaciones de actualización basadas en set, el rendimiento de ORM será menor que el JDBC directo, pero en muchos casos ORM puede mejorar el rendimiento en comparación a la codificación manual de código JDBC, permitiendo el ajuste fino de estrategias como las relaciones que serían difíciles de codifica a mano.

ORM Cuándo y ccmo elegir ORM ORM tiene su escépticos. Especialmente en el espacio .NET ORM ha sido mirado con sospecha, y recientemente este escepticismo también se ha expresado en voz baja en el mundo Java. Las experiencias negativas con herramientas ORM suelen ser el resultado de intentar usarlo cuando no es apropiado. ORM produce buenos resultados siempre que no lo fuerce donde no cabe. Aquí tiene algunas guías básicas: No piense que usar ORM le permite ignorar el SQL y el modelo de búsquedas de su base datos. El mapeo Objeto- Relacional es una herramienta para hacer lo que usted quiera hacer más fácil; no le libera de la necesidad de entender qué es lo que usted quiere hacer. Cuando no utilizarlo: ORM no es siempre la mejor opción. No es apropiado para: Aplicaciones que realizan frecuentes actualizaciones de numerosos registros. sirven mejor con aproximaciones directas basadas en SQL, en dichas aplicaciones la lógica de negocio está codificada dentro de la base de datos, o forzadas por restricciones de integridad, y que le dan a los usuarios una "ventana de datos", permitiendo que el usuario los edite. En aplicaciones como éstas, ORM tiene menos que ofrecer porque los objetos en general, tienen menos que ofrecer; más allá de una ilusión de orientación a objetos, se puede ganar muy poco modelando las tablas de la base de datos como objetos de dominio.