Restricciones De Bases De Datos
Enviado por miguels69 • 27 de Septiembre de 2012 • 4.212 Palabras (17 Páginas) • 665 Visitas
Tema 6. Restricciones a la Base de Datos:
Integridad y seguridad
Juan Ignacio Rodr´ıguez de Le´on
Resumen
Las restricciones desde el punto de vista de integridad de bases
de datos. se presentan dependencias funcionales, integridad referencial
y otros mecanismos para mantenimiento de integridad, tales
como disparadores y afirmaciones. El objetivo es la protecci ´on de la
base de datos de accidentes. Restricciones de los dominios. Integridad
referencial. Asertos (asserts). Disparadores (triggers). Seguridad
y autorizaci´on. Autorizaci´on en SQL. Cifrado y autenticaci ´on
´Indice
1. Restricciones de los dominios 3
2. Integridad referencial 4
2.1. Integridad referencial en el modelo E-R . . . . . . . . . . . . 4
2.2. Modificaci´on de la base de datos . . . . . . . . . . . . . . . . 4
2.3. Integridad referencial en SQL . . . . . . . . . . . . . . . . . . 5
3. Asertos 6
4. Disparadores (triggers) 7
4.1. Necesidad de los disparadores . . . . . . . . . . . . . . . . . 7
4.2. Disparadores en SQL . . . . . . . . . . . . . . . . . . . . . . . 7
4.3. Cuando no deben usarse disparadores . . . . . . . . . . . . . 8
5. Seguridad y autorizaci´on 8
5.1. Violaciones de la seguridad . . . . . . . . . . . . . . . . . . . 8
5.2. Autorizaciones . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.3. Autorizaciones y vistas . . . . . . . . . . . . . . . . . . . . . . 9
5.4. Concesi´on de privilegios . . . . . . . . . . . . . . . . . . . . . 10
5.5. El concepto de papel (rol) . . . . . . . . . . . . . . . . . . . . . 10
5.6. Trazas de auditor´ıa . . . . . . . . . . . . . . . . . . . . . . . . 10
1
´INDICE 2
6. Autorizaci´on en SQL 11
6.1. privilegios en SQL . . . . . . . . . . . . . . . . . . . . . . . . 11
6.1.1. Papeles o roles . . . . . . . . . . . . . . . . . . . . . . 12
6.1.2. El privilegio de conceder privilegios . . . . . . . . . . 12
6.1.3. Otras caracter´ısticas . . . . . . . . . . . . . . . . . . . 12
7. Cifrado y autenticaci´on 13
7.1. T´ecnicas de cifrado . . . . . . . . . . . . . . . . . . . . . . . . 13
7.2. Autenticaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1 RESTRICCIONES DE LOS DOMINIOS 3
En este tema se tratar´an las restricciones a la base de datos. Las restricciones
son limitaciones que deseamos imponer en nuestra sistema, de forma
que sea imposible almacenar datos incorrectos.
Algunas de las restricciones ya se han visto, por ejemplo, la limitaci ´on de
los valores posibles de los atributos a un subconjunto, lo que denomin´abamos
dominio del atributo.
1. Restricciones de los dominios
Las restricciones de los dominios son la formam´as simple de restricci ´on
de integridad. El sistema las verifica f´acilmente siempre que se introduce
en la base de datos un nuevo elemento de datos.
La cl´ausula create domain se puede usar para definir nuevos dominios.
Por ejemplo, las instrucciones:
create domain Euros numeric(12,2)
create domain D´olares numeric(12,2)
Un intento de asignar un valor de tipo D´olares a una variable de tipo
Euros resultar´ıa en un error sint´actico, aunque ambos tengan el mismo tipo
num´erico.
SQL tambi´en proporciona las cl´ausulas drop domain y alter domain para
borrar o modificar dominios que se hayan declarado anteriormente.
La cl´ausula check de SQL permite restringir aunm´as los dominios; permite
al dise ˜nador del esquema especificar un predicado que debe satisfacer
cualquier valor para poder pertenecer al dominio. V´ease, como ejemplo:
create domain sueldo-por-hora numeric(5,2)
constraint comprobaci´on-valor-sueldo
check (value 4.00)
El dominio sueldo-por-hora tiene una restricci ´on que asegura que el
sueldo por hora sea mayor que 4,00.
Tambi´en puede utilizarse para restringir un dominio para que no contenga
valores nulos, o se puede limitar para que contenga s ´olo un conjunto
especificado de valores usando la cl´ausula in.
las condiciones check permiten subconsultas que se refieren a otras relaciones.
Por ejemplo, esta restricci ´on se podr´ıa especificar sobre la relaci ´on
pr´estamo:
check (nombre-sucursal in
(select nombre-sucursal from sucursal))
2 INTEGRIDAD REFERENCIAL 4
La condici´on
...