Diseño de Base de Datos: ¿Por Qué los Números de Teléfono Deben Almacenarse como Cadenas?
En prácticamente todos los sistemas de base de datos, un campo de número de teléfono debe usar un tipo de datos cadena (VARCHAR/TEXT) — nunca numérico (INT, BIGINT, DECIMAL).
Razones
- Caracteres de formato: Paréntesis, guiones, espacios, puntos, signos más — por ejemplo,
+1 (555) 123-4567,011-44-20-7123-4567. - Ceros iniciales importan: Muchos países tienen ceros iniciales significativos (por ejemplo, Reino Unido
020, Italia06). Los tipos numéricos los eliminan. - Códigos de país y extensiones:
+44 20 7123 4567 ext. 123— alfanumérico "ext." o "x". - Variabilidad de longitud: 4–15+ dígitos según ITU-T E.164; los límites numéricos (BIGINT máximo 19 dígitos) riesgan desbordamiento con formato.
- Códigos de marcado no dígitos: *, #, pausas (,), esperas (;) en cadenas de marcado.
- Búsqueda/Indexación: Patrones LIKE, coincidencias parciales, normalización E.164 — todas son operaciones de cadena.
Esquema de mejores prácticas
CREATE TABLE contacts (
id BIGSERIAL PRIMARY KEY,
phone_e164 VARCHAR(20) NOT NULL, -- normalizado: +15551234567
phone_display VARCHAR(30), -- formateado para UI: (555) 123-4567
phone_type VARCHAR(10), -- móvil, línea fija, voip, fax
extension VARCHAR(10), -- opcional
UNIQUE (phone_e164)
); Consejo de normalización
Almacena dos columnas: un phone_e164 canónico (solo dígitos, con + inicial) para indexación/búsquedas, y un phone_display para el formato visible al usuario. Elimina todos los no dígitos en la entrada; aplica libphonenumber (librería de Google) para validación/formato.
- ·Mejores Móviles para Usuarios de Audífonos (2024)
- ·Tecnología PABX (Centralita automática privada)
- ·Cómo encontrar un número de teléfono falsificado (spoofing)
- ·Cómo restaurar un iPhone desbloqueado de fábrica (reflash)
- ·Cómo desactivar SafeSearch en un teléfono LG Banter
- ·Cómo transferir un iPhone Cycorder
- ·Qué es un teléfono trimodal
- ·Por qué se retiró el LG VX9400
- Cómo encontrar números de teléfono: Métodos modernos de directorio y limitaciones
- Cómo solucionar problemas del Plantronics CS50
- Cómo cambiar el idioma en Samsung Instinct
- Instrucciones del teléfono inalámbrico BT Freelance XD500
- Señales telefónicas binarias: cómo los datos digitales viajaron sobre líneas analógicas
- Cómo restablecer el correo de voz en Merlin Mobile
