Ligaduras de itegridad
6
INTEGRIDAD Y SEGURIDAD
L
as restricciones de integridad proporcionan un medio de asegurar que las modificaciones hechas a la base de datos por los usuarios autorizados no provoquen la pérdida de
la consistencia de los datos. Por tanto, las restricciones de integridad protegen a la base
de datos contra los daños accidentales.
En el Capítulo 2 ya se ha visto una modalidadde restricciones de integridad para el modelo E-R. Estas restricciones eran de los tipos siguientes:
• Declaración de claves – la estipulación de que ciertos atributos pueden formar una clave
para un conjunto de entidades determinado.
• Forma de la relación – de varios a varios, de uno a varios, de uno a uno.
En general, la restricción de integridad puede ser un predicado arbitrario referentea la base
de datos. Sin embargo, los predicados arbitrarios pueden resultar complicados de verificar. En
consecuencia, lo habitual es limitarse a restricciones de integridad que puedan verificarse con
una sobrecarga mínima. En los apartados 6.1 y 6.2 se estudian estas formas de restricciones de
integridad y una forma más compleja en el Apartado 6.3. En el Capítulo 7 se estudia otra forma derestricción de integridad, denominada «dependencia funcional», que se usa principalmente en el proceso del diseño de esquemas.
En el Apartado 6.4 se estudian los disparadores, que son instrucciones que el sistema ejecuta automáticamente como efecto colateral de una modificación de la base de datos. Los disparadores se usan para asegurar algunos tipos de integridad.
Además de la protección contrala introducción accidental de inconsistencia, puede ser necesario proteger los datos almacenados en la base de datos frente a accesos no autorizados y destrucción o alteración malintencionada. En los apartados 6.5 hasta el 6.7 se examinan formas en
que se puede hacer un mal uso de los datos o hacerlos intencionadamente inconsistentes, y se
presentan mecanismos de seguridad para protegerse contraello.
6.1. RESTRICCIONES DE LOS DOMINIOS
Se ha visto que hay que asociar a cada atributo un dominio de valores posibles. En el Capítulo 4 se vieron varios
tipos de dominios estándar, tales como los enteros, caracteres y fecha/tiempo en SQL. La declaración de que un
atributo pertenezca a un determinado dominio actúa
como una restricción sobre los valores que puede tomar.
Las restriccionesde los dominios son la forma más simple de restricción de integridad. El sistema las verifica
fácilmente siempre que se introduce en la base de datos
un nuevo elemento de datos.
Es posible que varios atributos tengan el mismo
dominio. Por ejemplo, los atributos nombre-cliente y
nombre-empleado pueden tener el mismo dominio: el
conjunto de los nombres de persona. Sin embargo, los
dominios desaldo y de nombre de la sucursal deben
ser, ciertamente, diferentes. Quizá resulte menos evidente si nombre-cliente y nombre-sucursal deben tener
el mismo dominio. En el nivel de implementación,
tanto los nombres de los clientes como los de las
sucursales son cadenas de caracteres. Sin embargo,
normalmente no se considerará que la consulta «Hallar
todos los clientes que tengan el nombre deuna sucursal» tenga sentido. Por tanto, si se considera la base
de datos desde el punto de vista teórico, en vez
de hacerlo desde el punto de vista físico, nombrecliente y nombre-sucursal deben tener dominios diferentes.
De la discusión anterior se puede deducir que una
definición adecuada de las restricciones de los dominios no sólo permite verificar los valores introducidos en la base dedatos, sino también examinar las
consultas para asegurarse de que tengan sentido las
comparaciones que hagan. El principio subyacente a
los dominios de los atributos es parecido al de los tipos
de las variables en los lenguajes de programación. Los
lenguajes de programación con tipos estrictos permiten al compilador examinar el programa con mayor
detalle.
141
FUNDAMENTOS DE BASES DE...
Regístrate para leer el documento completo.