Sei sulla pagina 1di 4

Integridad de datos El trmino integridad de datos se refiere a la correccin y completitud de los datos 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 aadirse datos no vlidos 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. Los cambios en la base de datos pueden perderse debido a un error del sistema o a un fallo en el suministro de energa. Los cambios pueden ser aplicados parcialmente, como por ejemplo si se aade un pedido de un producto sin ajustar la cantidad disponible para vender. Una de las funciones importantes de un DBMS relacional es preservar la integridad de sus datos almacenados en la mayor medida posible. Tipos de restricciones de integridad

Datos Requeridos: establece que una columna tenga un valor no NULL. Se define efectuando la declaracin de una columna es NOT NULL cuando la tabla que contiene las columnas se crea por primera vez, 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 automticamente 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 forneas y primarias (relaciones padre/hijo). Existen cuatro actualizaciones de la base de datos que pueden corromper la integridad referencial:

La insercin de una fila hijo se produce cuando no coincide la llave fornea con la llave primaria del padre. La actualizacin en la llave fornea de la fila hijo, donde se produce una actualizacin en la clave ajena de la fila hijo con una sentencia UPDATE y la misma no coincide con ninguna llave primaria.

La supresin de una fila padre, con la que, si una fila padre -que tiene uno o ms hijos- se suprime, las filas hijos quedarn hurfanas. La actualizacin de la llave primaria de una fila padre, donde si en una fila padre, que tiene uno o ms hijos se actualiza su llave primaria, las filas hijos quedarn hurfanas.

Las restricciones (constraints)

Las restricciones son un metodo declarativo de definicion de la integridad de datos ya que ellas se definen al momento de crear la tabla (con la sentencia CREATE TABLE), o al momento de modificar la definicion de la tabla(con la sentencia ALTER TABLE). En otras palabras , una restriccion forma parte de la definicion de la tabla. Las restricciones son el metodo preferido para dar fuerza a la integridad de los datos. La tabla siguiente describe los diferentes tipos de restricciones : Tipo de restriccion DEFAULT CHECK PRIMARY KEY Descripcion Especifica el valor que se mantendra para la columna cuando un valor no se ha ingresado explicitamente en una sentencia INSERT. Especifica los valores de los datos que son aceptables en la columna. Identifica cada registro o fila como unica. Se crea un indice para mejorar el rendimiento. Los valores nulos no son permitidos. Previene la duplicacion de las llaves alternas y se asegura que un indice se crea para que mejore el rendimiento. Se permiten valores nulos. Define la columna o combinacion de columnas de una tabla secundaria, cuyos valores dependen de la llave primaria de una tabla primaria.

UNIQUE

FOREIGN KEY

Las restricciones se definen al momento de definir la tabla con las sentencias CREATE TABLE o ALTER TABLE. CREATE TABLE nombre_tabla ( columna1 tipo_dato propiedades CONSTRAINT nombre_restriccion...., columna2 tipo_dato propiedades CONSTRAINT nombre_restriccion...,...) ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_restriccion.... La restriccion DEFAULT (valor predeterminado) Define cual es el valor por defecto de una columna cuando al ejecutar INSERT no se especifica el valor de dicha columna. Ejemplo : Use biblioteca ALTER TABLE prestamo ADD CONSTRAINT df_fecha_sal DEFAULT getdate() FOT pre_fec_sal

Establece que el valor predeterminado de la columna pre_fec_sal de la tabla prestamo es la fecha del sistema. La restriccion CHECK(regla de validacion) Define la regla que debe cumplir el valor a ingresar a una columna. Se verifica durante la ejecucion de INSERT y UPDATE. Ejemplo : ALTER TABLE ejemplar ADD CONSTRAINT chk_disponibilidad CHECK (eje_dis LIKE '[SN]') El contenido de la columna eje_dis de la tabla ejemplar debe ser 'S' o 'N'.

La restriccion PRIMARY KEY (llave primaria) Define cual es la llave primaria de una tabla. La columna o combinacion de columnas no debe tener valores duplicados ni nulos. Ejemplo : ALTER TABLE publicacion ADD CONSTRAINT pk_publicacion PRIMARY KEY CLUSTERED (pub_cod)

La restriccion UNIQUE (valores no duplicados) Define que mas de una fila no pueden tener el mismo valor en una columna. Permite nulo. Ejemplo : ALTER TABLE tema ADD CONSTRAINT u_descripcion UNIQUE NONCLUSTERED(tem_des)

Establece que la columna tem_des de la tabla tema no puede tener descripciones iguales. Crea un indice unico de nombre u_descripcion. La restriccion FOREIGN KEY (llave foranea)

Define la integridad referencial. La restriccion FOREIGN KEY se define sobre la columna llave fornea de la tabla secundaria. La tabla primaria debe tener definida su restriccion PRIMARY KEY o UNIQUE. Ejemplo : ALTER TABLE ejemplar ADD CONSTRAINT fk_ejemplar_publicacion FOREIGN KEY(pub_cod) REFERENCES publicacion (pub_cod) Establece la relacion entre las tablas publicacion y ejemplar.

Potrebbero piacerti anche