100 likes | 455 Views
Reglas de Integridad. Bases de Datos Relacionales Doc. Ing.Marleny Soria M. Que es la integridad de BD?. La integridad tiene como función proteger la BD contra operaciones que introduzcan inconsistencias en los datos.
E N D
Reglas de Integridad Bases de Datos Relacionales Doc. Ing.Marleny Soria M.
Que es la integridad de BD? • La integridad tiene como función proteger la BD contra operaciones que introduzcan inconsistencias en los datos. • Se habla de integridad en el sentido de corrección, validez o precisión de los datos.
Una base de datos contiene datos que deben reflejar la realidad. • En las bases de datos relacionales, significa que las tuplas que contienen las relaciones deben tener valores que reflejen la realidad. Por ej: Un sueldo negativo EMPLEADOS(cod_e,nombre,apellido,sueldo) Si existe una tupla que tiene un valor de -1000 para el sueldo no tiene sentido, porque los sueldos no pueden ser negativos.
Restricciones de dominio • Las reglas de integridad que los datos almacenados en dicha estructura deben cumplir para garantizar que son correctos. • Al definir cada atributo sobre un dominio se impone una restricción sobre el conjunto de valores permitidos para cada atributo. • A este tipo de restricciones se les denomina restricciones de dominios.
Tipos de Reglas de Integridad • En toda base de datos relacional existen dos reglas de integridad que son restricciones que se deben cumplir. • Regla de integridad de entidades • Regla de integridad referencial
Regla de integridad de entidades • Se aplica a las claves primarias de las relaciones base y menciona lo siguiente: “Ninguno de los atributos que componen la clave primaria puede ser nulo”
Regla de integridad Referencial • Esta regla se aplica a las claves ajenas o foráneas y menciona lo siguiente: “si en una relación hay alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la que hace referencia
Regla de integridad Referencial • Por lo tanto para cada clave ajena de la BD habrá que contestar a tres preguntas: • Regla de Nulos: Tiene sentido que la clave ajena acepte nulo? • Regla de Borrado: Qué ocurre si se intenta borrar la tupla referenciada por la clave ajena? • Restringir: No se permite borrar la tupla referenciada • Propagar: Se borra la tupla referenciada y se propaga el borrado a las tuplas que la referencian mediante la clave ajena. • Anular: Se borra la tupla referenciada y las tuplas que la referenciaban ponen a nulo la clave ajena (sólo si acepta nulos)
Regla de integridad Referencial • Regla de Modificación: qué ocurre si se intenta modificar el valor de la clave primaria de la tupla referenciada por la clave ajena? • Restringir: No se permite modificar el valor de la clave primaria de la tupla referenciada. • Propagar: Se modifica el valor de la clave primaria de la tupla referenciada y se propaga la modificación a las tuplas que la referencian mediante la clave ajena. • Anular: Se modifica la tupla referenciada y las tuplas que la referencian ponen a nulo la clave ajena (solo si acepta nulos)