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
* O* (asterisco) busca todas as colunas. * Sempre filtre o que você precisa para não pesar o banco! 🎯 WHERE: Filtrando Resultados
* Operadores:=, >, <, <>, LIKE, IN. ➕ INSERT: Inserindo Dados
* Lembre-se de respeitar os tipos de dados (Texto vs Número).🔄 UPDATE: Alterando Dados
* Atenção: Sempre use oWHERE ou você vai alterar a tabela inteira! 😱 ❌ DELETE: Removendo Dados
* Atenção: SemWHERE, 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
- Conectar ao banco via DBeaver.
- Criar uma tabela
Ferramentas. - Inserir 3 linhas e fazer um SELECT filtrado.
🏁 Dúvidas?
O banco de dados é o coração da aplicação! ❤️🚀