📊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)
• 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.
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
• 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.
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.
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"
• 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"