Es muy importante, al diseñar una base de datos y las tablas que contendrá, tener en cuenta la integridad de los datos, èsto significa que la información almacenada en las tablas debe ser válida, coherente y exacta.
Las restricciones (constraints) son un método para mantener la integridad de los datos, asegurando que los valores ingresados sean válidos y que las relaciones entre las tablas se mantenga. Se establecen a los campos y las tablas.
Pueden definirse al crear la tabla ("create table") o agregarse a una tabla existente (empleando "alter table") y se pueden aplicar a un campo o a varios. Se aconseja crear las tablas y luego agregar las restricciones.
Se pueden crear, modificar y eliminar las restricciones sin eliminar la tabla y volver a crearla.
Podemos una restricción de integridad a una llave primaria con la siguiente sintaxis básica:
alter table NOMBRETABLA
ADD CONSTRAINT NOMBRECONSTRAINT
primary key(CAMPOS,....);
Y como ejemplo:
alter table libros
add constraint PK_libros_codigo
primary key(codigo);
Con esta restricción, si intentamos ingresar un registro con un valor para el campo "codigo" que ya existe o el valor "null", aparece un mensaje de error, porque no se permiten valores duplicados ni nulos. Igualmente, si actualizamos.