Banco de dados Python SQL

Criar CRUD com Streamlit e o PostgreSQL

CRUD

Fala galera do mundo dos dados! Todo mundo bem? Espero que sim! Muitas saudades dos conteúdos ao Cubo?!?!?! Então o Dados ao Cubo mostra como criar um CRUD com Streamlit e o PostgreSQL. Vai estar nessa missão também as linguagens Python e SQL para construir uma aplicação Web e fazer ela se comunicar com o banco de dados.

O conteúdo completo vai estar dividido em temas para não ficar muito extenso, ao final de todos os posts, teremos uma aplicação Web integrada com um banco de dados executando todas as operações do CRUD, confere as divisões do conteúdo:

Então, chega de conversa fiada e vamos ao que interessa usar o Streamlit para construir um CRUD!

O que é CRUD?

O acrônimo CRUD é uma referência a Create, Read, Update e Delete, ou seja, criar, ler, atualizar e deletar. Essas são as operações básicas que uma aplicação faz em um banco de dados. Então um CRUD é uma aplicação que realiza essas funções.

Ferramentas para construir um CRUD?

Para construir o CRUD, utilizaremos a linguagem Python que vai estar tanto na aplicação WEB quanto na comunicação com o banco de dados. Já para manipular os dados no banco, teremos alguns scripts SQL. E para para facilitar a nossa vida, utilizaremos o Streamlit, um framework bem simples e prático para construção de aplicações WEB. Dessa forma, temos tudo que precisamos para construir o CRUD com Streamlit.

CRUD ao Cubo

Aqui construiremos toda a estrutura da nossa aplicação, que estará estruturada em módulos para facilitar a compreensão. Confere o detalhe de cada um desses módulos do CRUD com Streamlit.

Controller do CRUD

Primeiramente o nosso módulo de controle, nele cuidaremos da comunicação com o banco de dados. Então, teremos funções para cada uma das operações do CRUD. Fica tranquilo que o código de cada um dessas funções vão estar em detalhes conforme o objetivo de cada função.

Controller do CRUD

A comunicação do controller será com o serviço de banco de dados, e com as páginas da nossa aplicação web.

Page do CRUD

Falando em páginas, teremos uma página para cada função do crud, como pode ver no módulo page, na imagem abaixo

Page do CRUD

As páginas serão responsáveis pela exibição em tela da função respectiva e todo o seu funcionamento comunicando com o controller. Essa comunicação da página web com o banco de dados PostgreSQL vai ser suportada pelo serviço database.

Services do CRUD

Sendo assim, temos o módulo de serviço para a comunicação como banco. A lib psycopg2 vai se comunicar com o banco através da função connect e a função cursor vai permitir a execução de códigos SQL através da aplicação Python.

Services do CRUD

Todos esses módulos precisam ser reunidos na função principal da aplicação.

Main do CRUD

Finalmente já temos todos os módulos necessários, agora é possível configurar a interação do usuário com as páginas. A biblioteca Streamlit deixa todo esse processo bem simples, abstraindo bastante coisa para construção de uma aplicação web.

CRUD com Streamlit

O Streamlit é um framework muito bom, com ele é possível dar vida a aplicações web com Python de maneira simples e prática. Com poucas linhas de códigos temos uma aplicação no ar. Quando estiver tudo pronto utilizaremos o comando streamlit run main.py para rodar nossa aplicação.

CRUD com Streamlit ao Cubo

Portanto, montamos toda a estrutura para o CRUD com Streamlit e o PostgreSQL. Sendo assim, ao longo dos próximos conteúdos você vai ver como funciona cada parte. Além de entrar no detalhe de cada etapa do CRUD.

Então, até o próximo módulo, onde teremos os detalhes de como inserir dados no PostgreSQL com uma aplicação web construída com Python e o framework Streamlit.

Conteúdos ao Cubo

Se curtiu, lá no Dados ao Cubo tem muito mais. Então, deixo algumas sugestões de conteúdos que você pode encontrar por lá, sempre falando sobre o mundo dos dados.

Então, finalizo com um convite para você ser Parceiro de Publicação Dados ao Cubo e escrever o próximo artigo, compartilhando conhecimento para toda a comunidade de dados. Mas, não esqueça de assinar a nossa Newsletter para ficar por dentro de todas as novidades. 

Gostou? Compartilhe!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *