image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
JULIO OKUDA
JULIO OKUDA25/09/2023 18:45
Compartilhe

Banco de Dados Relacionais com Python

    Uma Visão Geral

    Um banco de dados relacional é um sistema que organiza dados em tabelas com linhas e colunas. Essas tabelas são chamadas de "relações", daí o nome "Banco de dados relacional". Cada linha em uma tabela representa uma entrada de dados única e é chamada de "registro". Cada coluna, por outro lado, representa um atributo ou campo de dados específico compartilhado com todos os registros.

    SQL (Structured Query Language)

    O SQL é uma linguagem de programação usada para gerenciar e consultar banco de dados relacionais. Com o Python, você pode se conectar a banco de dados SQL, como MySQL, PostgreSQL e SQLite, e executar operações SQL diretamente em seu código.

    Chave Primária

    Uma chave primária é um campo ou conjunto de campos que identifica exclusivamente cada registro em uma tabela. Isso é fundamental para garantir a integridade dos dados e possibilitar a recuperação eficiente de informações.

    Relacionamentos

    Nos banco de dados relacionais, você pode criar relacionamentos entre tabelas. O relacionamento mais comum é o "chave estrangeira", que permite vincular registros de uma tabela a registros de outra.

    Python e Banco de Dados Relacionais

    Agora que temos uma compreensão básica de banco de dados relacionais, vamos explorar como Python pode ser usado para trabalhar com eles.

    Bibliotecas Python para Banco de Dados Relacionais

    Existem várias bibliotecas Python populares para interagir com banco de dados relacionais. Duas das mais comuns são:

    • SQLite3: É uma biblioteca embutida no Python que permite criar banco de dados leves diretamente em arquivos locais. É uma ótima escolha para projetos menores.
    • SQLAlchemy: É uma biblioteca SQL de alto desempenho que fornece uma camada de abstração sobre banco de dados relacionais. Ela suporta vários sistemas de gerenciamento de banco de dados e oferece uma maneira mais flexível de trabalhar com SQL em Python.

    Exemplo de Uso de SQLite3 em Python

    import sqlite3
    
    
    # Conectar-se ao banco de dados (ou criá-lo se não existir)
    conn = sqlite3.connect('exemplo.db')
    
    
    # Criar uma tabela
    conn.execute('''CREATE TABLE IF NOT EXISTS clientes
          (id INT PRIMARY KEY NOT NULL,
          nome TEXT NOT NULL,
          email TEXT NOT NULL);''')
    
    
    # Inserir dados
    conn.execute("INSERT INTO clientes (id, nome, email) VALUES (1, 'João', 'joao@email.com')")
    
    
    # Consultar dados
    cursor = conn.execute("SELECT id, nome, email FROM clientes")
    for row in cursor:
    print("ID:", row[0])
    print("Nome:", row[1])
    print("Email:", row[2])
    
    
    # Fechar a conexão
    conn.close()
    
    -----------------------------------
    ID: 1
    Nome: João
    Email: joao@email.com
    

    Gerenciamento de Banco de Dados com SQLAlchemy

    O SQLAlchemy oferece uma abordagem mais flexível e poderosa para trabalhar com banco de dados relacionais. Ele permite definir modelos de dados em Python e, em seguida, mapeá-los para tabelas SQL.

    from sqlalchemy import create_engine, Column, Integer, String
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy.orm import sessionmaker
    
    
    Base = declarative_base()
    
    
    class Cliente(Base):
    __tablename__ = 'clientes'
    id = Column(Integer, primary_key=True)
    nome = Column(String)
    email = Column(String)
    
    
    engine = create_engine('sqlite:///exemplo.db')
    Base.metadata.create_all(engine)
    
    
    Session = sessionmaker(bind=engine)
    session = Session()
    
    
    # Inserir dados
    cliente = Cliente(id=2, nome='Maria', email='maria@email.com')
    session.add(cliente)
    session.commit()
    
    
    # Consultar dados
    clientes = session.query(Cliente).all()
    for cliente in clientes:
    print("ID:", cliente.id)
    print("Nome:", cliente.nome)
    print("Email:", cliente.email)
    
    -------------------------------------------
    
    ID: 2
    Nome: Maria
    Email: maria@email.com
    

    Conclusão

    Neste artigo, exploramos o mundo dos banco de dados relacionais e como Python pode ser usado para interagir com eles. A capacidade de armazenar e recuperar dados de maneira estruturada é essencial em muitos aplicativos, desde sistemas de gerenciamento de inventário até aplicativos da web em escala empresarial.

    Compartilhe
    Comentários (1)
    Murilo Lima
    Murilo Lima - 26/09/2023 07:42

    Ótima explicação me ajudou muito cara, obrigado por compartilhar.