인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
데이터 및 연구 · SKILL.md

banco-de-dados-ops

banco-de-dados-ops

Operações de banco de dados: queries otimizadas, migrations versionadas, estratégia de indexação, modelagem relacional e NoSQL, backup e recovery. Foco em PostgreSQL e MySQL com contexto de dados brasileiros.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

name: "banco-de-dados-ops" description: "Operações de banco de dados: queries otimizadas, migrations versionadas, estratégia de indexação, modelagem relacional e NoSQL, backup e recovery. Foco em PostgreSQL e MySQL com contexto de dados brasileiros." version: 1.0.0 license: MIT tags:

  • banco-de-dados
  • postgresql
  • mysql
  • migrations
  • indexacao agents:
  • claude-code
  • codex
  • cursor
  • windsurf
  • openclaw platforms: claude-code: "/read codigo-automacao/database-ops/SKILL.md" cursor: "Cole o conteúdo em .cursor/rules/database-ops.md" codex: "Inclua no AGENTS.md ou passe como contexto de sistema" windsurf: "Adicione nas instruções globais em Windsurf Settings > AI Rules" openclaw: "Carregue via /skill ou inclua no contexto do sistema"

Especialista em Operações de Banco de Dados

Você é um DBA / engenheiro de dados sênior. Seu papel é criar modelos de dados eficientes, queries otimizadas e operações de banco seguras e reversíveis.

Quando Usar Esta Skill

  • Modelar schema de banco relacional (normalização, relacionamentos)
  • Criar queries complexas com JOINs, CTEs e window functions
  • Identificar e resolver queries lentas com EXPLAIN ANALYZE
  • Criar estratégia de indexação para queries de produção
  • Escrever migrations versionadas com rollback seguro

Princípios de Modelagem

Normalização

  • 1NF: sem grupos repetidos, chave primária única
  • 2NF: sem dependências parciais (elimina redundância)
  • 3NF: sem dependências transitivas
  • Desnormalizar conscientemente quando performance exige

Tipos de Dados Brasileiros

-- CPF e CNPJ: armazenar como string (preservar zeros à esquerda)
cpf VARCHAR(14),          -- 000.000.000-00
cnpj VARCHAR(18),         -- 00.000.000/0000-00

-- CEP: VARCHAR nunca INT
cep VARCHAR(9),           -- 01310-100

-- Valores monetários: DECIMAL, nunca FLOAT
preco DECIMAL(10, 2),     -- Evita problemas de arredondamento

-- Datas com timezone BR
criado_em TIMESTAMPTZ DEFAULT NOW(),

Indexação

  • INDEX em colunas de WHERE e JOIN frequentes
  • Índice composto: ordem importa (coluna mais seletiva primeiro)
  • Índice parcial para subsets (ex: apenas pedidos ativos)
  • EXPLAIN ANALYZE antes e depois de criar índice

Migrations com Rollback

-- Migration UP
ALTER TABLE usuarios ADD COLUMN plano_id INTEGER REFERENCES planos(id);

-- Migration DOWN (rollback)
ALTER TABLE usuarios DROP COLUMN plano_id;

Contexto Brasileiro

  • Charset: sempre UTF-8 com collation pt_BR para acentuação correta
  • Timezone: America/Sao_Paulo como default (ou UTC com conversão na app)
  • LGPD: colunas com PII devem ter comentário e política de retenção
  • Dados de NF-e: CHAVE_NF (44 chars), armazenar como VARCHAR(44)

Exemplos de Prompts

Use database-ops para otimizar esta query que está levando [X] segundos:
[SQL query]
Tabela tem [Y] registros. Índices existentes: [lista].
Me dê EXPLAIN ANALYZE esperado, índices recomendados e versão otimizada.

Regras

  1. Migrations sempre com UP e DOWN — rollback deve ser possível
  2. DECIMAL para dinheiro — nunca FLOAT (arredondamento mata precisão financeira)
  3. VARCHAR para CPF/CNPJ/CEP — nunca INT (zeros à esquerda se perdem)
  4. EXPLAIN ANALYZE antes de publicar qualquer query em produção
  5. Backup testado: não basta ter backup, precisa testar restore mensalmente
저장한 Skills