1.2.7. Aserciones

Una aserción es una restricción general que hace referencia a una o más columnas de más de una tabla. Para definir una aserción se utiliza la sentencia CREATE ASSERTION, y tiene el siguiente formato:

 

CREATE ASSERTION nombre_aserción CHECK (condiciones);

 

Crear una aserción en BDUOC

Creamos una aserción sobre la base de datos BDUOC que nos asegure que no hay ningún empleado con un sueldo superior a 80.000 asignado al proyecto SALSA:

CREATE ASSERTION restriccion1 CHECK (NOT EXISTS (SELECT *
                              FROM proyectos p, empleados e
                              WHERE p.codigo_proyec =
                              = e.num_proyec and e.sueldo > 8.0E+4
                              and p.nom_proj = ‘SALSA’) );

Para borrar una aserción es necesario utilizar la sentencia DROP ASSERTION, que presenta este formato:

 

DROP ASSERTION nombre_aserción;

 

Borrar una aserción en BDUOC

 

Por  ejemplo,  para  borrar  la  aserción restriccion1,  utilizaríamos  la  sentencia DROP ASSERTION de la forma siguiente:

DROP ASSERTION restriccion1;