DDL - Data Definition Language
¿Estoy cambiando la ESTRUCTURA?
- ❓ ¿Agregué/eliminé COLUMNAS?
- ❓ ¿Cambié TIPOS DE DATOS?
- ❓ ¿Creé/modifiqué TABLAS?
- ❓ ¿Creé/modifiqué VISTAS?
- ❓ ¿Creé/eliminé ÍNDICES?
- ❓ ¿Cambié PARTICIONES?
✅ SI respondiste SÍ a alguna → NECESITAS DDL
DML - Data Manipulation Language
¿Estoy cambiando solo los DATOS?
- ❓ ¿Solo modifico cómo INSERTO datos?
- ❓ ¿Solo cambio cómo ACTUALIZO datos?
- ❓ ¿Solo cambio FILTROS/WHERE?
- ❓ ¿Solo cambio CÁLCULOS?
- ❓ ¿Solo cambio JOINS?
- ❓ ¿Solo cambio fuentes de datos?
✅ SI respondiste SÍ a alguna → SOLO DML
📊 Matriz de Decisión Práctica
Mi Cambio | ¿DDL? | ¿DML? | Ejemplo |
---|---|---|---|
Agregar campo | ✅ SÍ | ✅ SÍ | ALTER TABLE + SELECT nuevo_campo |
Eliminar campo | ✅ SÍ | ✅ SÍ | ALTER TABLE DROP + quitar del SELECT |
Cambiar tipo | ✅ SÍ | ⚠️ Tal vez | ALTER COLUMN TYPE |
Cambiar cálculo | ❌ NO | ✅ SÍ | Solo cambiar CAST(campo*2) |
Cambiar filtro | ❌ NO | ✅ SÍ | Solo cambiar WHERE |
Cambiar JOIN | ❌ NO | ✅ SÍ | Solo cambiar FROM tabla_nueva |
Crear vista | ✅ SÍ | ❌ NO | CREATE VIEW |
Crear índice | ✅ SÍ | ❌ NO | CREATE INDEX |
🚀 Proceso Rápido de 10 Segundos
1️⃣ Estructura
¿Cambié cuántos/qué campos tiene la tabla?
SÍ → Necesito DDL2️⃣ Procesamiento
¿Cambié cómo proceso/calculo los datos?
SÍ → Necesito DML3️⃣ Ambos
¿Cambié estructura Y procesamiento?
SÍ → Necesito DDL + DML💡 Ejemplos Prácticos
🔄 CASO A: Solo DML
# ANTES
SELECT campo1, CAST(campo2 AS INT) FROM tabla
# DESPUÉS
SELECT campo1, CAST(campo2 AS DECIMAL) FROM tabla
📊 Solo cambio el cálculo → Solo DML
🆕 CASO B: DDL + DML
# ANTES
SELECT campo1, campo2 FROM tabla
# DESPUÉS
SELECT campo1, campo2, campo_nuevo FROM tabla
🏗️ Nuevo campo → DDL + DML
⚡ CASO C: Solo DDL
-- Agregar índice para performance
CREATE INDEX idx_fecha ON tabla(fecha);
🏗️ Solo estructura → Solo DDL
🎯 Preguntas Master
🏗️ DDL
"¿Estoy cambiando QUÉ CAMPOS tiene la tabla/vista?"
✅ SÍ → DDL📊 DML
"¿Estoy cambiando CÓMO se llenan los campos existentes?"
✅ SÍ → DML