COMPARTE ESTE ARTÍCULO

Introducción

Cuando diseñas una base de datos, una de las primeras metas es impedir que entren valores incoherentes.
Oracle SQL te lo pone fácil con las CHECK constraints: reglas que se ejecutan automáticamente cada vez que insertas o actualizas filas.

En este artículo aprenderás a:

  1. Qué es un CHECK y por qué usarlo.
  2. Añadirlo con ALTER TABLE.
  3. Probar que funciona (inserciones válidas e inválidas).
  4. Buenas prácticas para nombrar y mantener las restricciones.

El ejemplo completo

-- Check del tipo
ALTER TABLE propiedades
  ADD CONSTRAINT ck_prop_tipo
  CHECK (tipo IN ('V','L','A','T'));
ParteSignificado
ALTER TABLE propiedadesVamos a modificar la estructura de la tabla PROPIEDADES.
ADD CONSTRAINT ck_prop_tipoCreamos una restricción nueva y le damos un nombre descriptivo (ck_…).
CHECK (tipo IN ('V','L','A','T'))Regla: la columna TIPO solo admite los valores 'V' (Vivienda), 'L' (Local), 'A' (Almacén) o 'T' (Trastero).

1. ¿Por qué es importante un CHECK?

  • Integridad: tus aplicaciones no tienen que recordar los códigos válidos; la BD los valida por ti.
  • Mantenimiento: si haces un UPDATE … SET tipo = 'X', Oracle lo bloqueará si el valor no figura en la lista.
  • Rendimiento: al estar dentro del motor, la comprobación es casi instantánea y se aplica a todas las sesiones.

2. Añadir la restricción paso a paso

  1. Conéctate a tu esquema desde SQL Developer / TOAD / SQL*Plus.
  2. Abre un Worksheet y pega el bloque anterior.
  3. Ejecuta (Ctrl+Enter) → Oracle responde Table altered.
  4. ¡Listo! El CHECK ya está activo.

3. Pruebas rápidas

-- ✅ Inserción correcta
INSERT INTO propiedades (codigo, descripcion, tipo)
VALUES (101, 'Ático 3ºA', 'V');

-- ❌ Inserción incorrecta
INSERT INTO propiedades (codigo, descripcion, tipo)
VALUES (102, 'Local esquina', 'B');  -- ORA-02290: check constraint violated

Tip: el mensaje ORA-02290 indica que la fila viola la restricción CK_PROP_TIPO.


4. Deshabilitar / habilitar temporalmente

-- Deshabilitar
ALTER TABLE propiedades DISABLE CONSTRAINT ck_prop_tipo;

-- Volver a habilitar
ALTER TABLE propiedades ENABLE CONSTRAINT ck_prop_tipo;

Útil durante migraciones masivas, aunque solo si estás seguro de los datos que vas a cargar.


5. Buenas prácticas

RecomendaciónMotivo
Prefijo del nombre (ck_)Distinguir de pk_ (primary), fk_ (foreign), uk_ (unique).
Valores cortos ('V','L','A','T')Ocupan menos y se comparan más rápido.
Columna TIPO en CHAR(1)Evitas espacios en blanco accidentales; perfecto para códigos fijos.
Documentar en el diccionario (COMMENT ON COLUMN)Queda claro para el equipo qué significa cada letra.

6. Conclusión

Las CHECK constraints son una herramienta sencilla y potentísima para mantener la calidad de tu información sin depender del código de la aplicación. Bastan tres líneas de SQL para blindar una columna entera.

¿Te quedaste con dudas? Déjalas en los comentarios y las resolvemos juntos. ¡Feliz modelado!


¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.


¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos. 

 

 


NUESTRAS ÚLTIMAS PUBLICACIONES

INSTAGRAM

TIKTOK


 …Y PRONTO MUCHAS MÁS

AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.

Contenido restringido

Acceso de usuarios existentes
   
Registro de un nuevo usuario
*Campo necesario

Categories:

Tags:

Comments are closed

Estado de acceso
ESTADO DE ACCESO
TRADUCTORES
COMPARTENOS
error: CONTENIDO PROTEGIDO