Pular para conteúdo

Aula 06: Bancos de Dados Relacionais 💾


🎯 Nossa Missão

  • Entender o modelo relacional.
  • Dominar a linguagem SQL básica.
  • Conhecer os principais SGBDs (Postgres, MySQL).
  • Usar ferramentas visuais (DBeaver).

🤔 O que é um Banco de Dados?

É um sistema organizado para armazenar, gerenciar e recuperar informações. * Persistent: Os dados ficam lá mesmo se desligar. * Seguro: Controle de quem pode ver ou mudar. * Escalável: Suporta de 10 a milhões de linhas.


🧩 O Modelo Relacional

Imagine uma coleção de planilhas Excel que se conversam. * Tabelas: Categorias de dados (ex: Usuarios). * Colunas: Atributos (ex: Nome, Email). * Linhas: Registros individuais (ex: O usuário João).


🏗️ Conceitos: Chaves

O segredo da organização. * Primary Key (PK): O RG da linha. Único e obrigatório. * Foreign Key (FK): O link para outra tabela. Cria a relação.


🗺️ Exemplo de Tabela

Tabela: Ferramentas | id (PK) | nome | categoria | | :--- | :--- | :--- | | 1 | VS Code | Editor | | 2 | Git | Versionador | | 3 | Postgres | Banco |


🗣️ SQL: Structured Query Language

A língua oficial dos bancos relacionais. * Não é uma linguagem de programação, é uma linguagem de consulta. * Padronizada, mas cada banco tem seu "sotaque".


🔍 SELECT: Buscando Dados

SELECT nome, email FROM usuarios;
* O * (asterisco) busca todas as colunas. * Sempre filtre o que você precisa para não pesar o banco!


🎯 WHERE: Filtrando Resultados

SELECT * FROM produtos 
WHERE preco > 100 AND categoria = 'Eletrônicos';
* Operadores: =, >, <, <>, LIKE, IN.


➕ INSERT: Inserindo Dados

INSERT INTO categorias (nome) 
VALUES ('Desenvolvimento');
* Lembre-se de respeitar os tipos de dados (Texto vs Número).


🔄 UPDATE: Alterando Dados

UPDATE usuarios 
SET nivel = 'Senior' 
WHERE id = 42;
* Atenção: Sempre use o WHERE ou você vai alterar a tabela inteira! 😱


❌ DELETE: Removendo Dados

DELETE FROM logs 
WHERE data < '2024-01-01';
* Atenção: Sem WHERE, você apaga tudo! Cuidado redobrado.


🐘 PostgreSQL: O Elefante Poderoso

  • Open Source e extremamente robusto.
  • Foco em conformidade com padrões e integridade.
  • Suporta tipos complexos (JSON, Geometria).
  • Queridinho das grandes empresas.

🐬 MySQL: A Rapidez da Web

  • Muito popular em sites e blogs (WordPress).
  • Simples de usar e configurar.
  • Atualmente pertence à Oracle, mas tem o fork livre MariaDB.

🦫 DBeaver: A Interface Universal

Por que usar um GUI Client? * Visualizar tabelas como se fossem planilhas. * Autocompletar comandos SQL. * Gerar diagramas (DER) automaticamente. * Exportar dados para Excel/CSV facilmente.


📐 Modelagem: Normalização

Organizar para não repetir. * Evite salvar o nome do país em cada usuário. * Crie uma tabela Paises e use uma ID (FK). * Isso economiza espaço e evita erros de digitação.


📉 Índices: Velocidade de Busca

  • Como o índice de um livro.
  • Acelera muito a busca em tabelas com milhões de linhas.
  • Custo: Deixa a inserção um pouco mais lenta.

🛡️ Transações: Tudo ou Nada (ACID)

Imagine uma transferência bancária: 1. Tira dinheiro da conta A. 2. Coloca dinheiro na conta B. * Se o passo 2 falhar, o passo 1 deve ser desfeito automaticamente.


🏆 Checklist de Banco Pro

  • Entende a diferença entre PK e FK.
  • Consegue fazer um SELECT com filtro.
  • Instalou e conectou o DBeaver.
  • Sabe que rodar DELETE sem WHERE é perigoso.

📝 Prática de Hoje

  1. Conectar ao banco via DBeaver.
  2. Criar uma tabela Ferramentas.
  3. Inserir 3 linhas e fazer um SELECT filtrado.

🏁 Dúvidas?

O banco de dados é o coração da aplicação! ❤️🚀