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:

TipoQué esColumnas
TEXTtextoname, category
INTEGERnúmero enterostock
SERIALnúmero entero: un contador automático que crece soloid
NUMERIC(10,2)número decimal: hasta 10 dígitos en total, 2 tras la coma, para dineroprice
BOOLEANsí/no (true/false)is_active
DATEuna fechacreated_at

Por qué importa

El tipo determina qué puedes hacer con un valor:

  • los números se pueden sumar y multiplicar: por ejemplo, price * stock da 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.

products id name category price stock is_active created_at INTEGER TEXT TEXT NUMERIC(10,2) INTEGER BOOLEAN DATE кожен стовпець має свій типeach column has its own type cada columna tiene su tipo

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 en NUMERIC.
  • Un tipo = qué valores se permiten + qué operaciones son posibles.