4 usuarios conectados

Desarrollo web con Python. Bases de datos en aplicaciones web

Comparte esto

Ahora vamos a explorar el crucial tema de las bases de datos en aplicaciones web. La mayoría de las aplicaciones web modernas necesitan almacenar y gestionar datos de manera persistente, y las bases de datos son la solución fundamental para esta necesidad.

¿Por Qué las Bases de Datos son Esenciales para Aplicaciones Web?

Tipos de Bases de Datos Comunes en Aplicaciones Web:

Existen principalmente dos categorías de bases de datos utilizadas en aplicaciones web:

  1. Bases de Datos Relacionales (SQL):

  2. Bases de Datos No Relacionales (NoSQL):

Integración con Frameworks Web Python:

Los frameworks web Python como Flask y Django facilitan la interacción con las bases de datos de diversas maneras:

Flask:

Django:

Conceptos Clave en la Interacción con Bases de Datos en Aplicaciones Web:

Ejemplo Simplificado con Flask y SQLAlchemy:

Python
 
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'  # Usando SQLite para este ejemplo
db = SQLAlchemy(app)

class Usuario(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nombre = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)

    def __repr__(self):
        return f"<Usuario {self.nombre}>"

# Crear la base de datos (solo necesario la primera vez)
with app.app_context():
    db.create_all()

# Ejemplo de cómo crear un nuevo usuario
with app.app_context():
    nuevo_usuario = Usuario(nombre='Juan', email='juan@ejemplo.com')
    db.session.add(nuevo_usuario)
    db.session.commit()

# Ejemplo de cómo consultar usuarios
with app.app_context():
    usuarios = Usuario.query.all()
    for usuario in usuarios:
        print(usuario)

if __name__ == '__main__':
    app.run(debug=True)

En este ejemplo, Flask-SQLAlchemy se utiliza para definir un modelo Usuario que se mapea a una tabla en una base de datos SQLite. Se muestran ejemplos de cómo crear y consultar registros.

En resumen, las bases de datos son un componente fundamental de la mayoría de las aplicaciones web. La elección del tipo de base de datos (SQL o NoSQL) depende de las necesidades específicas del proyecto. Los frameworks web Python proporcionan herramientas y abstracciones (como los ORMs) para facilitar la interacción con las bases de datos, permitiendo a los desarrolladores centrarse en la lógica de la aplicación en lugar de los detalles de la gestión de la base de datos.