Skip to content

MiquelMontero02/ORM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

ORM Project with SQLAlchemy and Flask

Primer proyecto trabajando con SQLAlchemy y Flask para entender cómo funciona un ORM.

First project working with SQLAlchemy and Flask to understand how ORM works.

¿Qué veremos en este proyecto?

Este proyecto busca explicar los fundamentos del ORM de Python SQLAlchemy.
Contempla la creación de una base de datos mediante el uso del ORM, junto con dos secciones para realizar operaciones CRUD y aplicar funciones de agregación.

Además, utiliza Alembic, una herramienta de migraciones para bases de datos en Python diseñada para usarse con SQLAlchemy.
Alembic facilita gestionar y versionar cambios en el esquema de la base de datos (crear, modificar o eliminar tablas y columnas) de forma controlada y automatizada, apoyando la evolución del esquema durante el desarrollo.

This project aims to explain the fundamentals of the Python ORM SQLAlchemy.
It includes creating a database with the ORM and two sections for CRUD operations and aggregation functions.

Additionally, it uses Alembic, a migration tool for Python databases designed to work with SQLAlchemy.
Alembic helps manage and version changes in the database schema (create, modify, or drop tables and columns) in a controlled and automated way, supporting schema evolution during development.

¿Qué es un ORM?

Un Object-Relational Mapping (ORM) permite trabajar con bases de datos relacionales usando conceptos y estructuras de la Programación Orientada a Objetos (POO).

Su objetivo es crear un vínculo entre las tablas y relaciones de bases de datos SQL y las clases y objetos definidos en POO.

An Object-Relational Mapping (ORM) allows working with relational databases using concepts and structures from Object-Oriented Programming (OOP).

Its goal is to create a link between tables and relationships in SQL databases and the classes and objects defined in OOP.

Ventajas

  • Abstracción: Evita mezclar sentencias SQL puras con el código de la aplicación.
  • Seguridad: Añade una capa para evitar ataques de SQL Injection.
  • Portabilidad: Permite cambiar de base de datos fácilmente.

Advantages

  • Abstraction: Avoids mixing raw SQL statements with application code.
  • Security: Adds a layer to prevent SQL Injection attacks.
  • Portability: Allows easy switching between databases.

¿Se puede usar un ORM sin conocimientos de SQL?

Aunque el ORM facilita la interacción con bases de datos, es importante conocer su funcionamiento para optimizar su uso.
Conceptos como las relaciones entre clases, optimización de consultas y funciones de agregación son esenciales para sacarle el máximo provecho.

También es indispensable dominar las operaciones CRUD (Create, Read, Update, Delete), básicas en cualquier base de datos relacional.

Can you use an ORM without SQL knowledge?

While the ORM makes database interaction easier, understanding how it works is important for optimization.
Concepts such as class relationships, query optimization, and aggregation functions are essential to fully benefit from an ORM.

It is also crucial to master CRUD operations (Create, Read, Update, Delete), fundamental in any relational database.


Tecnologías usadas


About

First proyect working with SQLAlchemist with Flask to undesrtand how ORM works

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published