Inicio > Cursos > SQL y Bases de Datos > Tipos de Datos y Constraints
SQL y Bases de DatosFundamentos SQLLección 4 de 20

Tipos de Datos y Constraints

Elegir el tipo de dato correcto es crucial para el rendimiento y la integridad de los datos. Los constraints (restricciones) aseguran que los datos cumplan reglas de negocio directamente en la base de datos, sin depender de la aplicación.

-- Crear una tabla con tipos y constraints bien definidos
CREATE TABLE usuarios (
  -- SERIAL: auto-incremento (equivale a INTEGER + secuencia)
  id          SERIAL PRIMARY KEY,

  -- VARCHAR(n): texto de hasta n caracteres
  nombre      VARCHAR(100) NOT NULL,
  email       VARCHAR(255) NOT NULL UNIQUE,

  -- TEXT: texto de longitud ilimitada
  biografia   TEXT,

  -- INTEGER: número entero
  edad        INTEGER CHECK (edad >= 0 AND edad <= 120),

  -- DECIMAL(precision, escala): números exactos
  -- Para dinero: DECIMAL(10,2) = hasta 99999999.99
  saldo       DECIMAL(12, 2) DEFAULT 0.00,

  -- BOOLEAN: true/false
  activo      BOOLEAN DEFAULT TRUE,

  -- DATE: solo fecha ('2024-01-15')
  fecha_nacimiento DATE,

  -- TIMESTAMP WITH TIME ZONE: fecha + hora + zona horaria
  creado_en   TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
  actualizado_en TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- Tipos de constraints:
-- PRIMARY KEY  : identificador único, NOT NULL implícito
-- NOT NULL     : el campo es obligatorio
-- UNIQUE       : no puede repetirse en la tabla
-- DEFAULT      : valor cuando no se especifica
-- CHECK        : condición que debe cumplirse
-- FOREIGN KEY  : referencia a otra tabla

-- Agregar constraint después de crear la tabla
ALTER TABLE usuarios
ADD CONSTRAINT chk_email CHECK (email LIKE '%@%');

-- Ver la estructura de una tabla en PostgreSQL
\d usuarios
ConsejoPara almacenar dinero, usa DECIMAL(10,2) o INTEGER (guardando centavos). NUNCA uses FLOAT o REAL para dinero: los errores de punto flotante pueden hacer que 0.1 + 0.2 no sea exactamente 0.3.
← WHERE y FiltrosINSERT, UPDATE y DELETE →

Practica esta lección

Resuelve los ejercicios del curso de SQL y Bases de Datos en la app, gratis y con corrección automática.

Empezar a practicar