Módulo 00 · lección 5
Tipos de datos: por qué importan
El fundador quiere calcular por cuánto valor hay mercancía en el almacén: el precio multiplicado por la cantidad. Pero ¿funcionará esa multiplicación? Depende del tipo de dato, y de tipos va precisamente esta lección.
Cada columna tiene un tipo
Un tipo de dato son las reglas de una columna: qué se puede guardar en ella y qué se puede hacer con eso. Estos son los tipos de nuestra products:
| Tipo | Qué es | Columnas |
|---|---|---|
TEXT | texto | name, category |
INTEGER | número entero | stock |
SERIAL | número entero: un contador automático que crece solo | id |
NUMERIC(10,2) | número decimal: hasta 10 dígitos en total, 2 tras la coma, para dinero | price |
BOOLEAN | sí/no (true/false) | is_active |
DATE | una fecha | created_at |
Por qué importa
El tipo determina qué puedes hacer con un valor:
- los números se pueden sumar y multiplicar: por ejemplo,
price * stockda el valor del stock de un producto; - el texto solo se puede concatenar, no calcular;
- las fechas saben contar los días que hay entre ellas.
Si el precio se guardara como texto, multiplicarlo sería imposible. Por eso el dinero siempre se guarda en NUMERIC: preciso y seguro.
id es de tipo SERIAL: la propia base asigna un número a cada producto nuevo (1, 2, 3…), así que nunca lo escribes a mano. En el fondo es un INTEGER que se asigna solo; más sobre id en la siguiente lección.
Compruébalo tú mismo
En el ejercicio hay una consulta que calcula el valor del stock de cada producto (price * stock). Funciona solo porque price y stock son números, no texto. Ejecútala y observa el resultado (no cambies la consulta, solo ejecútala).
A la nueva columna la llamamos total_value (eso lo hace la palabra AS, a la que volveremos más adelante).
Resumen
- El tipo de dato fija las reglas de una columna. Solo se puede calcular (
price * stock) con números; el dinero va enNUMERIC. - Un tipo = qué valores se permiten + qué operaciones son posibles.