Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

ORM Python

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

ORM

PYTHON

SQLALCHEMY

“Esta es la base del Funcionamiento del ORM.


El resultado es que se trabaja con código orientado a objetos, legible y
la representación textual de este código es el código SQL que se envía
al servidor”[1,pag 578]

SQLALCHEMY ¿Como funciona ORM?

SQLAlchemy es el kit de
herramientas SQL de Python Sea cual sea la base de datos
y el Mapeador relacional de utilizada, Basta con cambiar el
archivo de configuración para
objetos que ofrece a los pasar de SQLite A MySQL o
desarrolladores de PostgreSQL sin necesidad de
aplicaciones la máxima modificar el código.[1,pag89]
potencia y flexibilidad de
SQL[3].

The data mapper pattern

Es un patrón de diseño utilizado en el


desarrollo de software, especialmente en el
contexto de aplicaciones que interactúan con
bases de datos.
Consiste en mapear tablas de bases de
datos, vistas y otros objetos "selectables" a
"plain old Python objects" (POPOs) mediante
objetos "mapper". A diferencia del patrón
Active Record, donde los objetos mismos son
responsables de mapearse a las vistas de la
base de datos.[2,pag 93]
*Para la referencia 2, recomiendo descargar
el libro

The unit of work pattern

En este patrón, cuando realizas un cambio en


un objeto, la base de datos no se actualiza
inmediatamente. En su lugar, SQLAlchemy
realiza un seguimiento de los cambios en tus
objetos en un objeto de sesión y luego los
envía todos juntos en una única "unidad de
trabajo".
Cuando uses una sesión con autoflush y
ejecutes todas las consultas a través de la
sesión, generalmente no necesitas
preocuparte por inconsistencias entre tus
objetos en memoria y la base de datos en
disco.[2,pag94]
ORM
PYTHON

SQLALCHEMY

Para utilizar el ORM


SQLAlchemy, necesitamos
tres cosas:
Un esquema de base de
datos definido en un
objeto MetaData
Un modelo de objetos
Una configuración de
mapeo (mapper)[2,pag
95]

Ejemplo

Este fragmento de código


muestra cómo usar
SQLAlchemy para definir
un modelo de datos,
interactuar con una base
de datos y realizar
operaciones CRUD (Crear,
Leer, Actualizar, Borrar) en
ella.

Este fragmento de código


define cuatro funciones
que realizan operaciones
CRUD (Crear, Leer,
Actualizar, Borrar) en la
base de datos utilizando
SQLAlchemy
ORM
PYTHON

SQLALCHEMY

Este bloque de código muestra un ejemplo de uso de las funciones CRUD definidas
anteriormente para interactuar con la base de datos de productos:
1. Se crea un nuevo producto con el nombre "Laptop" y el precio 1500 utilizando la
función create_product().
2. Se crea otro producto con el nombre "Mouse" y el precio 30 utilizando la misma
función.
3. Se llama a la función read_products() para mostrar todos los productos en la base de
datos después de agregar los dos productos anteriores.
4. Se actualiza el producto con ID 1 (la Laptop) para cambiar su nombre a "Laptop
Lenovo" y su precio a 1600 utilizando la función update_product().
5. Se elimina el producto con ID 2 (el Mouse) utilizando la función delete_product().
6. Se llama nuevamente a la función read_products() para mostrar los productos restantes
después de la actualización y eliminación.
7. Por último, se cierra la sesión utilizando session.close() para liberar los recursos
después de realizar todas las operaciones.

*Genere un código para explicar como funciona, pues los ejemplos en libros y páginas web
no explican de forma concisa como se crea o utiliza.

CONCLUSIÓN
El ORM nos ayuda a tener un buen manejo de nuestra base de datos sin
depender del gestor de base de datos donde esté creada, pues una de sus
ventajas es que puede cambiarse de gestor y este no afecta al código ya
antes escrito.
De esta manera elegí SQLAlchemy , pues es del que encontré más
documentación y ejemplos en internet, puesto que también existen otras
como Django, cada una es elegida por sus distintas características y como se
utilizan dependiendo la situación; SQLAlchemy ofrece flexibilidad y potentes
capacidades de consulta, mientras que Django ORM proporciona una
estrecha integración con el marco web de Django.
De manera general no conocía que era ORM, pero ahora creo que es una
muy buena alternativa para poder crear y manejar una base de datos.
CONOCE EL

ORM
PYTHON

SQLALCHEMY

Fuentes
[1]S. Chazallet. “Python 3: los fundamentos del lenguaje”. Accedido el 29 de abril de
2024. [En línea]. Disponible: https://books.google.es/books?
hl=es&lr=&id=KRYyvKmZvpwC&oi=fnd&pg=PA81&dq=orm+
en+python+libros&ots=UH48BymfM3&sig=yfQzDFBq9u8h2M0mCYcEKiWb
kXQ#v=onepage&q=ORM&f=false
[2]J. Myers. “Essential SQLAlchemy”. Accedido el 29 de abril de 2024. [En línea].
Disponible: https://github.com/srabhimanyu/Python-
Books/blob/master/Essential%20SQLAlchemy.pdf
[3]“Aprende Frameworks de Desarrollo Web en Python”. Entrenamiento de frameworks
de Desarrollo Web en Python - Nivel básico. Accedido el 29 de abril de 2024. [En línea].
Disponible: https://entrenamiento-frameworks-web-
python.readthedocs.io/es/latest/leccion2/sqlalchemy.html
[4]L. Phillip. “SQL with Python”. hawaii.edu. Accedido el 30 de abril de 2024. [En línea].
Disponible: https://dspace.lib.hawaii.edu/items/e611cde7-906d-453b-89b6-
65ad8f81c245
[5]“Estudio Comparativo entre SQL Directo y un ORM.” DSpace Principal. Accedido el
30 de abril de 2024. [En línea]. Disponible:
http://dspace.utb.edu.ec/handle/49000/14779
[6]A. Scalas. “TinyKB: a dynamic class/object store and ORM for Python”. Home page.
Accedido el 30 de abril de 2024. [En línea]. Disponible:
https://iris.unica.it/handle/11584/75849?mode=complete
[7]“SQLAlchemy ORM — SQLAlchemy 2.0 Documentation”. SQLAlchemy
Documentation. Accedido el 30 de abril de 2024. [En línea]. Disponible:
https://docs.sqlalchemy.org/en/20/orm/
[8]M. Makai. “Object-relational Mappers (ORMs)”. Full Stack Python. Accedido el 30 de
abril de 2024. [En línea]. Disponible: https://www.fullstackpython.com/object-relational-
mappers-orms.html
[9]E. Garcia. “¿Qué ORM elegir? ¿Peewee o SQLAlchemy?” CódigoFacilito. Accedido el
30 de abril de 2024. [En línea]. Disponible: https://codigofacilito.com/articulos/peewee-
or-sqlalchemy
[10]“¿Cuáles son los mejores frameworks ORM para Python y Java?” LinkedIn.
Accedido el 30 de abril de 2024. [En línea]. Disponible:
https://www.linkedin.com/advice/1/what-best-orm-frameworks-python-java-skills-
software-development-tepac?
lang=es&originalSubdomain=es#:~:text=ORM%20significa%20mapeo%20relacio
nal%20de,sistemas%20de%20bases%20de%20datos.

También podría gustarte