You are on page 1of 9

1.

Integridad de los datos

http://www.sqlmax.com/centro/moduloII_4.asp?MX=

JUSTIFICACION:

Cuando se trabaja con bases de datos, generalmente los datos se reparten entre varios
ficheros. Si la base de datos está disponible para varios usuarios de forma simultánea,
deben existir mecanismos que aseguren que las interrelaciones entre registros se
mantienen coherentes, que se respetan las dependencias de existencia y que las claves
únicas no se repitan.
Por ejemplo, un usuario no debe poder borrar una entidad de una base de datos, si otro
usuario está usando los datos de esa entidad. Este tipo de situaciones son potencialmente
peligrosas, ya que provocan situaciones con frecuencia imprevistas. Ciertos errores de
integridad pueden provocar que una base de datos deje de ser usable.
Los problemas de integridad se suelen producir cuando varios usuarios están editando
datos de la misma base de datos de forma simultánea. Por ejemplo, un usuario crea un
nuevo registro, miestras otro edita uno de los existentes, y un tercero borra otro. El
DBMS debe asegurar que se pueden realizar estas tareas sin que se produzcan errores
que afecten a la integridad de la base de datos.

http://www.alegsa.com.ar/Dic/integridad%20de%20datos.php

Por tanto, un paso importante en el diseño de una base de datos es decidir la mejor
forma de implementar la integridad de los datos. La integridad de los datos hace
referencia a la coherencia y la precisión de los datos que están almacenados en una base
de datos.

Las Propiedades de las Tablas que aseguran la Integridad de Datos son: Tipos de
Datos, Definiciones NOT NULL , Definiciones DEFAULT , Propiedades IDENTITY ,
Restricciones , Reglas , Desencadenadores , Índices.

Para su definición:

http://www.sqlmax.com/centro/moduloII_4.asp?MX=

______________________________________________________________________
______________________________________________________________________

Métodos para conseguir la Integridad de los Datos:

Puede conseguir la integridad de los datos mediante dos métodos: integridad de datos
declarativa o integridad de datos procedimental.
Integridad de datos declarativa

Con la integridad declarativa, se definen los criterios que los datos tienen que cumplir
como parte de la definición de un objeto y, después, Microsoft® SQL Server™ versión
2000 asegura automáticamente que los datos cumplan dichos criterios. El método
preferido para implementar la integridad de datos básica es la integridad declarativa.
Tenga en cuenta los hechos siguientes acerca del método declarativo:
 La integridad declarativa se declara como parte de la definición de la base de
datos, mediante el uso de restricciones declarativas que se definen directamente
en las tablas y las columnas.
 Implemente la integridad declarativa mediante la utilización de restricciones,
valores predeterminados y reglas.

Tipos de restricciones

Las restricciones son un método estándar ANSI para implementar la integridad de los
datos. Cada tipo de integridad de datos (dominio, entidad y referencial) se implementa
con tipos de restricciones diferentes. Las restricciones aseguran que los datos que se
escriben en las columnas sean válidos y que se mantengan las relaciones entre las tablas.

La tabla siguiente describe los diferentes tipos de restricciones.

Tipo de integridad Tipo de restricción Descripción


Dominio DEFAULT Especifica el valor que se
proporciona para la columna
cuando no se especifica
explícitamente en una instrucción
INSERT.

CHECK Especifica los valores de los datos


que se aceptan en una columna.

REFERENTIAL Especifica los valores de datos que


se aceptan como actualización en
función de los valores de una
columna de otra tabla.

Entidad PRIMARY KEY Identifica de forma exclusiva cada


una de las filas; asegura que los
usuarios no escriban valores
duplicados y que se cree un índice
para aumentar el rendimiento. No
se permiten valores nulos.

UNIQUE Impide la duplicación de claves


alternativas (no principales) y
asegura que se cree un índice para
aumentar el rendimiento. Se
permiten valores nulos.

Referencial FOREIGN KEY Define una columna o


combinación de columnas cuyos
valores coinciden con la clave
principal de la misma u otra tabla.

CHECK Especifica los valores de los datos


que se aceptan en una columna en
función de los valores de otras
columnas de la misma tabla.

Integridad de datos procedimental

Con la integridad procedimental se escriben secuencias de comandos que definen los


criterios que los datos tienen que cumplir y que aseguran que dichos criterios se
cumplen. Debe limitar el uso de la integridad procedimental a situaciones excepcionales
y a aquellas con una lógica complicada. Por ejemplo, utilice la integridad procedimental
cuando desee implementar una eliminación en cascada. Los hechos siguientes se aplican
a la integridad procedimental:
 La integridad procedimental se puede implementar en el cliente o en el servidor
mediante otros lenguajes y herramientas de programación.
 Implemente la integridad procedimental utilizando desencadenadores y
procedimientos almacenados.

Los diferentes tipos de integridad de datos son los siguientes:

 Integridad de Entidad

La integridad de entidad (o tabla) requiere que todas las filas de una tabla tengan un
identificador exclusivo, conocido como clave principal. El que se pueda modificar el
valor de la clave principal o eliminar la fila entera depende del nivel de integridad
requerido entre la clave principal y cualquier otra tabla.
Aportar un ejemplo con la base de datos Northwind.

 Integridad de Dominio

La integridad de dominio (o columna) especifica un conjunto de valores de datos que


son válidos para una columna y determina si se permiten valores nulos. La integridad de
dominio se suele implementar mediante el uso de comprobaciones de validez y,
también, mediante la restricción del tipo de datos, el formato o el intervalo de los
valores posibles permitidos en una columna.

Aportar un ejemplo con la base de datos Northwind.

 Integridad Referencial

La integridad referencial asegura que siempre se mantienen las relaciones entre las
claves principales (en la tabla a la que se hace referencia) y las claves externas (en las
tablas que hacen referencia). No se puede eliminar una fila de una tabla a la que se hace
referencia, ni se puede modificar la clave principal, si una clave externa hace referencia
a la fila, salvo que se permita la acción en cascada. Puede definir relaciones de
integridad referencial dentro de la misma tabla o entre tablas diferentes.

Para la explicación de los siguientes ejercicios se debe tener en cuenta que en las
operaciones CRUD, Modificar (Update), Borrar (Delete) se pueden presentar las
opciones de Rechazar, Anular ó Propagar. Los efectos de cada una de estas opciones en
la Integridad Referencial se observan en los siguientes ejercicios.

EJERCICIOS DE MUESTRA PARA EL TUTOR (6)

http://www.youtube.com/watch?v=kNLuLoAjWKg

Aportar un ejemplo con la base de datos Northwind.

 Integridad de Transición.

Expresan propiedades que se deben cumplir en cada par de estados consecutivos. “la
edad de una persona no debe decrecer”.

Restricciones de integridad de transición (Disparadores)

Define los estados por lo que debe pasar una “tupla”. Ejemplo: Solicitado, Autorizado,
procesado.
 Integridad de Transacción

Para el concepto de “Integridad de Transacción” es necesario comprender conceptos


como “Transacción” y “ACID”

Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto


de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma
indivisible o atómica.

Un SGBD se dice transaccional, si es capaz de mantener la integridad de los datos,


haciendo que estas transacciones no puedan finalizar en un estado intermedio. Cuando
por alguna causa el sistema debe cancelar la transacción, empieza a deshacer las órdenes
ejecutadas hasta dejar la base de datos en su estado inicial (llamado punto de
integridad), como si la orden de la transacción nunca se hubiese realizado.
Para esto, el lenguaje de consulta de datos SQL (Structured Query Language), provee
los mecanismos para especificar que un conjunto de acciones deben constituir una
transacción.
BEGIN TRAN: Especifica que va a empezar una transacción.
COMMIT TRAN: Le indica al motor que puede considerar la transacción completada
con éxito.
ROLLBACK TRAN: Indica que se ha alcanzado un fallo y que debe restablecer la base
al punto de integridad.
En un sistema ideal, las transacciones deberían garantizar todas las propiedades ACID;
en la práctica, a veces alguna de estas propiedades se simplifica o debilita con vistas a
obtener un mejor rendimiento.
[editar]Un ejemplo de transacción

Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre


cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la
que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo
de la cuenta destino. Para garantizar la consistencia del sistema (es decir, para que no
aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el
sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del
sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no
se ha realizado ninguna.

TEST ACID : http://www.osmosislatina.com/aplicaciones/bases_de_datos.htm

NOTA: ACID

En bases de datos se denomina ACID a un conjunto de características necesarias para


que una serie de instrucciones puedan ser consideradas como una transacción. Así pues,
si un sistema de gestión de bases de datos es ACID compliant quiere decir que el mismo
cuenta con las funcionalidades necesarias para que sus transacciones tengan las
características ACID.

En concreto ACID es un acrónimo de Atomicity, Consistency, Isolation and Durability:


Atomicidad, Consistencia, Aislamiento y Durabilidad en español.
Atomicidad: es la propiedad que asegura que la operación se ha realizado o no, y por lo
tanto ante un fallo del sistema no puede quedar a medias.

Consistencia: es la propiedad que asegura que sólo se empieza aquello que se puede
acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper la reglas y
directrices de integridad de la base de datos.

Aislamiento: es la propiedad que asegura que una operación no puede afectar a otras.
Esto asegura que la realización de dos transacciones sobre la misma información sean
independientes y no generen ningún tipo de error.

Durabilidad: es la propiedad que asegura que una vez realizada la operación, ésta
persistirá y no se podrá deshacer aunque falle el sistema.

Cumpliendo estas 4 condiciones se considera ACID Compliant.

Cuando se necesita una integridad de transacción, se utiliza el commit/rollback.

Expresiones Rollback , Commit

 Integridad definida por el usuario

La integridad definida por el usuario permite definir reglas de negocios específicas que
no caigan dentro de alguna de las categorías anteriores. Todas las categorías soportan
integridad definida por el usuario (todas las restricciones a nivel columna y a nivel tabla
en el comando CREATE TABLE, procedimientos almacenados y desencadenadores)

Actividades y productos sugeridos para el instructor

 Expone sobre la integridad de los datos y presenta ejemplos prácticos.

Actividades y productos sugeridos para el aprendiz

 Identifica la integridad asociada al modelo de datos de su proyecto, presentando


un informe con la especificación sobre el modelo de datos.

You might also like