devlog.blog

Vamos para a parte avançada de banco de dados?

Se você já sabe criar tabelas, inserir e consultar dados, chegou a hora de dar um passo importante: estruturar bancos mais inteligentes, eficientes e escaláveis.

CREATE TABLE clientes (
  id INT AUTO_INCREMENT PRIMARY KEY,
  nome VARCHAR(100)
);

CREATE TABLE pedidos (
  id INT AUTO_INCREMENT PRIMARY KEY,
  cliente_id INT,
  produto VARCHAR(100),
  FOREIGN KEY (cliente_id) REFERENCES clientes(id)
);

🎯 Normalização

A normalização ajuda a evitar redundância e garantir integridade.

Exemplo de má prática (sem normalização):

nome_clientenome_produtopreco
JoãoNotebook Acer3200
JoãoMouse Logitech150

🔁 Nome do cliente se repete! Isso é ruim.

Corrigido com tabelas separadas (normalizado):

  • clientes: armazena dados dos clientes
  • produtos: armazena os produtos
  • pedidos: relaciona os dois

🔐 Resultado: menos repetição, mais performance e controle.

DELIMITER //
CREATE PROCEDURE listar_pedidos()
BEGIN
  SELECT * FROM pedidos;
END //
DELIMITER ;

CALL listar_pedidos();

👀 View (visão):

Uma consulta salva, como se fosse uma “tabela virtual”.

CREATE VIEW resumo_pedidos AS
SELECT c.nome, p.produto
FROM clientes c
JOIN pedidos p ON c.id = p.cliente_id;

Deixe um comentário

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