Las restricciones no nula y única

Introducción a las bases de datos relacionales en SQL

Timo Grossenbacher

Data Journalist

La restricción no nula

  • No permitir valores NULL en una columna determinada.
  • Debe ser válido para el estado actual.
  • Debe ser válido para cualquier estado futuro.
Introducción a las bases de datos relacionales en SQL

¿Qué significa NULL?

  • desconocido
  • no existe
  • no se aplica
  • ...
Introducción a las bases de datos relacionales en SQL

¿Qué significa NULL? Un ejemplo

CREATE TABLE students (
 ssn integer not null,
 lastname varchar(64) not null,
 home_phone integer,
 office_phone integer
);
NULL != NULL
Introducción a las bases de datos relacionales en SQL

Cómo añadir o eliminar una restricción no nula

Al crear una tabla...

CREATE TABLE students (
 ssn integer not null,
 lastname varchar(64) not null,
 home_phone integer,
 office_phone integer
);

Una vez creada la tabla...

ALTER TABLE students 
ALTER COLUMN home_phone 
SET NOT NULL;
ALTER TABLE students 
ALTER COLUMN ssn 
DROP NOT NULL;
Introducción a las bases de datos relacionales en SQL

La restricción única

  • No permitir valores duplicados en una columna
  • Debe ser válido para el estado actual.
  • Debe ser válido para cualquier estado futuro.

Introducción a las bases de datos relacionales en SQL

Añadir restricciones únicas

CREATE TABLE table_name (
 column_name UNIQUE
);
ALTER TABLE table_name
ADD CONSTRAINT some_name UNIQUE(column_name);
Introducción a las bases de datos relacionales en SQL

¡Apliquemos esto a la base de datos!

Introducción a las bases de datos relacionales en SQL

Preparing Video For Download...