Integridad y consistencia de los datos.

El término integridad de datos se refiere la correctitud y completitud de la informacion en una base de datos.

Cuando los contenidos se modifican con sentencias INSERT,
DELETE o UPDATE. La integridad de los datos almacenados puede perderse de muchas maneras diferentes.

Pueden añadirse datos no válidos a la base de datos, tales como un pedido que especifica un producto no existente.

Pueden modificarse datos existentes tomando un valor incorrecto, como por ejemplo si se reasigna un vendedor a una oficina no existente.

Tipos de integridades y controles

Integridad de dominio

La integridad de dominio es la validez de las restricciones que debe cumplir una determinada columna de la tabla.

  • Datos Requeridos: establece que una columna tenga un valor no NULL. Se define efectuando la declaración de una columna como NOT NULL cuando al crear la tabla, como parte de la sentencia CREATE TABLE.
  • Chequeo de Validez: cuando se crea una tabla cada columna tiene un tipo de datos y el DBMS asegura que solamente los datos del tipo especificado sean ingresados en la tabla.

Integridad de entidad

Establece que la clave primaria de una tabla debe tener un valor único para cada fila de la tabla; si no, la base de datos perderá su integridad.

Se especifica en la sentencia CREATE TABLE.

El DBMS comprueba automáticamente la unicidad del valor de la clave primaria con cada sentencia INSERT Y UPDATE.

Un intento de insertar o actualizar una fila con un valor de la clave primaria ya existente fallará.

Integridad referencial

Asegura la integridad entre las llaves foráneas y primarias (relaciones padre/hijo).

Existen cuatro actualizaciones de la base de datos que pueden corromper la integridad referencial:

  • Insertar una fila hijo cuya llave foránea no coincide con la llave primaria del padre.
  • Actualizar la clave ajena de la fila hijo con una sentencia UPDATE y que esta no coincida con ninguna llave primaria del padre.
  • Eliminar una fila padre que deje huérfanas a sus filas hijas.
  • Actualizar la clave primaria de una fila padre, donde si en una fila padre (dejaría huerfanas a sus fijas hijas).