🔢 Clase 048 - Tipos de Datos

Tipos de Datos en SAP HANA SQL

📊Clasificación de Tipos de Datos

🔢 Numéricos

Para almacenar números enteros y decimales

📝 Caracteres

Para almacenar texto y cadenas

💾 Binarios

Para almacenar datos binarios

🔢Tipos Numéricos

Tipo Bits Rango Uso
TINYINT 8 bits 0 a 255 Números pequeños sin signo
SMALLINT 16 bits -32,768 a 32,767 Números enteros medianos
INTEGER 32 bits -2,147M a 2,147M Estándar para enteros
BIGINT 64 bits Hasta 9 trillones Números muy grandes
DECIMAL(p,s) Variable Configurable Decimales de punto fijo
REAL 32 bits Punto flotante Decimales simple precisión
DOUBLE 64 bits Punto flotante Decimales doble precisión
💡 Precisión vs Escala en DECIMAL:
Precisión (P): Total de dígitos (1-38)
Escala (S): Dígitos decimales (0-P)
• Ejemplo: DECIMAL(6,2) → 2689.42 (6 dígitos total, 2 decimales)
⚠️ Cuidado con REAL y DOUBLE:
No usar para cálculos matemáticos precisos debido a redondeos. Usar DECIMAL para facturación y cálculos exactos.

📝Tipos de Caracteres

Tipos Disponibles:

  • VARCHAR(n): Longitud variable, formato ASCII
  • NVARCHAR(n): Longitud variable, formato Unicode
  • ALPHANUM(n): Solo números y letras
  • SHORTTEXT(n): Búsquedas full-text (máx. 5000)
🌍 VARCHAR vs NVARCHAR:
VARCHAR: ASCII - idiomas occidentales
NVARCHAR: Unicode - soporta chino, árabe, japonés, ruso, etc.
• Para empresas multinacionales: usar NVARCHAR
🔍 SHORTTEXT - Búsquedas Avanzadas:
Permite búsquedas difusas y full-text como Google. Ideal para aplicaciones que necesitan búsquedas aproximadas por nombre, dirección, etc.

💾Tipos Binarios

Para Datos Binarios:

  • VARBINARY(n): Datos binarios de longitud variable
  • BLOB: Objetos binarios grandes
  • CLOB: Caracteres ASCII grandes
  • NCLOB: Caracteres Unicode grandes
⚠️ Consideración Importante:
Almacenar imágenes/documentos en BD añade complejidad. Evaluar si es mejor guardar rutas de archivos en lugar de los archivos completos.

💡Consejos de Optimización

📈 Buenas Prácticas:
• Elegir el tipo de dato más pequeño que cubra nuestras necesidades
• Aunque el hardware actual es potente, mantener buenas costumbres
• Optimizar desde el diseño evita problemas de rendimiento futuros
• "Si puede tardar 5 segundos y ocupar 10 MB, no debe tardar 30 minutos y ocupar 2 GB"