integridad de datos;base de datos

21
FACULTAD DE CIENCIAS DE LA COMPUTACIÓN ESCUELA DE COMPUTACIÓN BASE DE DATOS IV Trabajo N° 2 Integridad de datos Alumno: Gilberto Da Silva C.I: 18.003.880 Caracas, 27 de abril del 2015

Upload: gilberto-da-silva

Post on 19-Dec-2015

84 views

Category:

Documents


8 download

DESCRIPTION

Breve reseña de la integridad de datos en un una base de datos y sus manejadores

TRANSCRIPT

Page 1: Integridad de Datos;Base de datos

FACULTAD DE CIENCIAS DE LA COMPUTACIÓN

ESCUELA DE COMPUTACIÓN

BASE DE DATOS IV

Trabajo N° 2

Integridad de datos

Alumno:

Gilberto Da Silva

C.I: 18.003.880

Caracas, 27 de abril del 2015

Page 2: Integridad de Datos;Base de datos

1  

Índice

Introducción 03

Reglas de Integridad 04

Regla de integridad de unicidad de la clave primaria 04

Regla de integridad de entidad de la clave primaria 04

Regla de integridad referencial 04

Restricción 05

Actualización en cascada 05

Anulación 05

Regla de integridad de dominio 06

Integridad definida por el usuario 06

Propiedades de las tablas que permiten asegurar la integridad de datos 07

Tipos de Dato 08

Definiciones NOT NULL 08

Definiciones DEFAULT 08

Propiedades IDENTITY 09

Restricciones (constraints) 09

Reglas (rules) 09

Desencadenadores 10

Índices 10

Métodos para conseguir la integridad de datos 11

Page 3: Integridad de Datos;Base de datos

2  

Integridad de datos declarativa 11

Integridad de datos procedimental 11

Función que cumplen las restricciones 12

Tipos de restricciones 12

Restricciones de las tablas con la cláusula sql y su respectiva descripción 14

Acrónimo crud y sus políticas de garantía de integridad referencial 18

Conclusión 19

Bibliografía 20

Page 4: Integridad de Datos;Base de datos

3  

Introducción

El término integridad de datos se refiere a la corrección y complementación 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 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. Los cambios en la base de datos pueden

perderse debido a un error del sistema o a un fallo en el suministro de energía. Los cambios

pueden ser aplicados parcialmente, como por ejemplo si se añade 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.

Page 5: Integridad de Datos;Base de datos

4  

Reglas de Integridad

Regla de integridad de unicidad de la clave primaria

La regla de integridad de unicidad está relacionada con la definición de clave primaria

que establece que toda clave primaria que se elija para una relación no debe tener valores

repetidos por lo que el conjunto de atributos CP es la clave primaria de una relación R,

entonces la extensión de R no puede tener en ningún momento dos tuplas con la misma

combinación deRegla de integridad de entidad de la clave primaria

Regla de integridad de entidad de la clave primaria

La regla de integridad de entidad de la clave primaria dispone que los atributos de la

clave primaria de una relación no pueden tener valores nulos. Esta regla es necesaria para

que los valores de las claves primarias puedan identificar las tuplas individuales de las

relaciones. Si las claves primarias tuviesen valores nulos, es posible que algunas tuplas no se

pudieran distinguir. Un SGBD relacional tendrá que garantizar el cumplimiento de esta regla

de integridad en todas las inserciones y en todas las modificaciones que afecten a atributos

que pertenecen a la clave primaria de la relación.

Regla de integridad referencial

La regla de integridad referencial está relacionada con el concepto de clave foránea,

lo que determina que todos los valores que toma una clave foránea deben ser valores nulos o

valores que existen en la clave primaria que referencia. La necesidad de esta regla es debido

a que las claves foráneas tienen por objetivo establecer una conexión con la clave primaria

que referencian. Si un valor de una clave foránea no estuviese presente.

Page 6: Integridad de Datos;Base de datos

5  

Restricción

La restricción en caso de borrado, consiste en no permitir borrar una tupla si tiene una

clave primaria referenciada por alguna clave foránea y la restricción en caso de modificación

consiste en no permitir modificar ningún atributo de la clave primaria de una tupla si tiene

una clave primaria referenciada por alguna clave foránea.

Actualización en cascada

La actualización en cascada consiste en permitir la operación de actualización de la

tupla, y en efectuar operaciones compensatorias que propaguen en cascada la actualización a

las tuplas que la referenciaban; se actúa de este modo para mantener la integridad referencial.

La actualización en cascada en caso de borrado consiste en permitir el borrado de una tupla

t que tiene una clave primaria referenciada, y borrar también todas las tuplas que referencian

t y la actualización en cascada en caso de modificación consiste en permitir la modificación

de atributos de la clave primaria de una tupla t que tiene una clave primaria referenciada, y

modificar del mismo modo todas las tuplas que referencian t.

Anulación

La anulación consiste en permitir la operación de actualización de la tupla y en

efectuar operaciones compensatorias que pongan valores nulos a los atributos de la clave

foránea de las tuplas que la referencian; esta acción se lleva a cabo para mantener la

integridad referencial. Los SGBD relacionales permiten establecer que un determinado

atributo de una relación no admite valores nulos, sólo se puede aplicar la política de anulación

si los atributos de la clave foránea sí los admiten. Más concretamente, la anulación en caso

de borrado consiste en permitir el borrado de una tupla t que tiene una clave referenciada y,

además, modificar todas las tuplas que referencian t, de modo que los atributos de la clave

foránea correspondiente tomen valores nulos y la anulación en caso de modificación consiste

en permitir la modificación de atributos de la clave primaria de una tupla t que tiene una clave

Page 7: Integridad de Datos;Base de datos

6  

referenciada y, además, modificar todas las tuplas que referencian t, de modo que los

atributos de la clave foránea correspondiente tomen valores nulos.

Regla de integridad de dominio

La regla de integridad de dominio está relacionada con la noción de dominio. Esta

regla establece dos condiciones.

La primera condición consiste en que un valor no nulo de un atributo Ai debe

pertenecer al dominio del atributo Ai; es decir, debe pertenecer a dominio(Ai). Esta

condición implica que todos los valores no nulos que contiene la base de datos para

un determinado atributo deben ser del dominio declarado para dicho atributo.

La segunda condición sirve para establecer que los operadores que pueden aplicarse

sobre los valores dependen de los dominios de estos valores; es decir, un operador

determinado sólo se puede aplicar sobre valores que tengan dominios que le sean

adecuados. valores para los atributos de CP.

Integridad definida por el usuario

La integridad definida por el usuario permite definir reglas de empresa específicas

que no pertenecen a ninguna otra categoría de integridad. Todas las categorías de integridad

admiten la integridad definida por el usuario. Esto incluye todas las restricciones de nivel de

columna y nivel de tabla en CREATE TABLE, procedimientos almacenados y

desencadenadores.

Las condiciones que garantizan la integridad de los datos pueden ser de dos tipos:

1. Las restricciones de integridad de usuario: son condiciones específicas de una base

de datos concreta; son las que se deben cumplir en una base de datos articular con

unos usuarios concretos, pero que no son necesariamente relevantes en otra Base de

Datos.

Page 8: Integridad de Datos;Base de datos

7  

2. Las reglas de integridad de modelo: son condiciones propias de un modelo de datos,

y se deben cumplir en toda base de datos que siga dicho modelo.

Los SGBD deben proporcionar la forma de definir las restricciones de integridad de

usuario de una base de datos y una vez definida, debe velar por su cumplimiento. Las reglas

de integridad del modelo, en cambio, no se deben definir para cada base de datos concreta,

porque se consideran preestablecidas para todas las base de datos de un modelo. Un SGBD

de un modelo determinado debe velar por el cumplimiento de las reglas de integridad

preestablecidas por su modelo.

Propiedades de las tablas que permiten asegurar la integridad de datos

Asegurar la integridad de los datos garantiza la calidad de los datos. Por ejemplo, suponga

que Ud. crea la tabla Clientes en su base de datos. Los valores en la columna Cliente_ID

deberían identificar unívocamente a cada cliente que es ingresado a la tabla. Como resultado,

si un cliente tiene un Cliente_ID de 438, ningún otro cliente debería tener el valor Cliente_ID

en 438. Luego, suponga que se ha creado una columna Cliente_Eval que es utilizada para

evaluar a cada cliente con una calificación de 1 a 8. En este caso, la columna Cliente_Eval

no deberá aceptar un valor de 9 o cualquier otro valor que no esté entre 1 y 8. En ambos

casos, se deben usar métodos soportados por SQL Server para asegurar la integridad de los

datos.

SQL Server soporta varios métodos para asegurar la integridad de los datos, que incluyen:

tipos de dato, definiciones NOT NULL, definiciones DEFAULT, propiedades IDENTITY,

restricciones, reglas, desencadenadores e índices. Ya se han visto algunos de estos métodos.

Un breve resumen de ellos es incluido aquí a fin de mostrar una visión comprehensiva de los

distintos modos de asegurar la integridad de los datos. Algunas de esta propiedades de la

tablas, tales como las definiciones NOT NULL y DEFAULT, son a veces consideradas tipos

de restricciones. Para los propósitos de este Kit, sin embargo, son tratadas de forma separada.

Page 9: Integridad de Datos;Base de datos

8  

Tipos de Dato

Un tipo de dato es un atributo que especifica el tipo de dato (carácter, entero, binario,

etc.) que puede ser almacenado en una columna, parámetro o variable. SQL Server provee

de un conjunto de tipos de dato, aún cuando se pueden crear tipos de dato definidos por el

usuario que se crean sobre la base de tipos de dato provisto por el SQL Server. Los tipos de

dato provistos por el sistema definen todos los tipos de dato que se pueden usar en SQL

Server. Los tipos de dato pueden ser utilizados para asegurar la integridad de los datos porque

los datos ingresados o modificados deben cumplir con el tipo de dato especificado para el

objeto correspondiente. Por ejemplo, no se puede almacenar el nombre de alguien en una

columna con un tipo de dato datetime, ya que esta columna solo aceptará valores válidos de

fecha y hora.

Definiciones NOT NULL

La anulabilidad de una columna determina si las filas en la tabla pueden contener valores

nulos para esa columna. Un valor nulo no es lo mismo que un cero, un blanco o una cadena

de caracteres de longitud cero. Un valor nulo significa que no se ha ingresado ningún valor

para esa columna o que el valor es desconocido o indefinido. La anulabilidad de una columna

se define cuando se crea o se modifica una tabla. Si se usan columnas que permiten o no

valores nulos, se debería usar siempre las cláusula NULL y NOT NULL dada la complejidad

que tiene el SQL Server para manejar los valores nulos y no prestarse a confusión. La cláusula

NULL se usa si se permiten valores nulos en la columna y la cláusula NOT NULL si no.

Definiciones DEFAULT

Los valores por defecto indican que valor será guardado en una columna si no se

especifica un valor para la columna cuando se inserta una fila. Las definiciones DEFAULT

pueden ser creadas cuando la tabla es creada (como parte de la definición de la tabla) o

pueden ser agregadas a una tabla existente. Cada columna en una tabla puede contener una

sola definición DEFAULT.

Page 10: Integridad de Datos;Base de datos

9  

Propiedades IDENTITY

Cada tabla puede tener sólo una columna de identificación, la que contendrá una

secuencia de valores generados por el sistema que unívocamente identifican a cada fila de la

tabla. Las columnas de identificación contienen valores únicos dentro de la tabla para la cual

son definidas, no así con relación a otras tablas que pueden contener esos valores en sus

propias columnas de identificación. Esta situación no es generalmente un problema, pero en

los casos que así lo sea (por ejemplo cuando diferentes tablas referidas a una misma entidad

conceptual, como ser clientes, son cargadas en diferentes servidores distribuidos en el mundo

y existe la posibilidad que en algún momento para generar reporte o consolidación de

información sean unidas) se pueden utilizar columnas ROWGUIDCOL como se vio

anteriormente.

Restricciones (constraints)

Las restricciones permiten definir el modo en que SQL Server automáticamente fuerza la

integridad de la base de datos. Las restricciones definen reglas indicando los valores

permitidos en las columnas y son el mecanismo estándar para asegurar integridad. Usar

restricciones es preferible a usar desencadenadores, reglas o valores por defecto. El query

optimizer (optimizador de consultas) de SQL Server utiliza definiciones de restricciones para

construir planes de ejecución de consultas de alto rendimiento.

Reglas (rules)

Las reglas son capacidades mantenidas por compatibilidad con versiones anteriores de

SQL Server, que realizan algunas de las mismas funcionalidades que las restricciones

CHECK. Las restricciones CHECK son el modo preferido y estándar de restringir valores

para una columna. Las restricciones CHECK, por otro lado, son mas concisas que las reglas;

se puede aplicar solo una regla por columna mientras que se pueden aplicar múltiples

restricciones CHECK. Las restricciones CHECK son especificadas como parte del comando

Page 11: Integridad de Datos;Base de datos

10  

CREATE TABLE, mientras que las reglas son creadas como objetos separados y luego

vinculadas a la columna.

Se utiliza el comando CREATE RULE para crear una regla, y luego se debe utilizar el

procedimiento almacenado sp_bindrule para vincular la regla a una columna o a un tipo de

dato definido por el usuario.

Desencadenadores

Los desencadenadores son una clase especial de procedimientos almacenados que son

definidos para ser ejecutados automáticamente cuando es ejecutado un comando UPDATE,

INSERT o DELETE sobre una tabla o una vista. Los desencadenadores son poderosas

herramientas que pueden ser utilizados para aplicar las reglas de negocio de manera

automática en el momento en que los datos son modificados. Los desencadenadores pueden

comprender el control lógico que realizan loas restricciones, valores por defecto, y reglas de

SQL Server (aún cuando es recomendable usar restricciones y valores por defecto antes que

desencadenadores en la medida que respondan a todas las necesidades de control de

integridad de datos).

Índices

Un índice es una estructura que ordena los datos de una o más columnas en una tabla de

base de datos. Un índice provee de punteros a los valores de los datos almacenados en

columnas especificadas de una tabla y luego ordena esos punteros de acuerdo al orden que

se especifique. Las bases de datos utilizan los índices del mismos modo que se utilizan los

índices de un libro: se busca en el índice para encontrar un determinado valor y luego se sigue

un puntero a la fila que contiene ese valor. Un índice con clave única asegura la unicidad en

la columna.

Page 12: Integridad de Datos;Base de datos

11  

Métodos para conseguir la integridad de datos

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.

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:

Page 13: Integridad de Datos;Base de datos

12  

o La integridad procedimental se puede implementar en el cliente o en el

servidor mediante otros lenguajes y herramientas de programación.

o Implemente la integridad procedimental utilizando desencadenadores y

procedimientos almacenados.

Función que cumplen las restricciones

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.

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.

Page 14: Integridad de Datos;Base de datos

13  

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.

Page 15: Integridad de Datos;Base de datos

14  

Restricciones de las tablas con la cláusula sql y su respectiva descripción

Page 16: Integridad de Datos;Base de datos

15  

Page 17: Integridad de Datos;Base de datos

16  

Page 18: Integridad de Datos;Base de datos

17  

Page 19: Integridad de Datos;Base de datos

18  

Acrónimo crud y sus políticas de garantía de integridad referencial

CRUD es el acrónimo de Crear, Obtener, Actualizar y Borrar (Create, Retrieve,

Update y Delete en inglés). Es usado para referirse a las funciones básicas en bases de datos

o la capa de persistencia en un sistema de software.

En las políticas de integridad referencial se encuentran las opciones de:

Anular: Los valores de clave ajena afectados.

Propagar: La operación completa.

Rechazar: La operación a las referencias afectadas.

Page 20: Integridad de Datos;Base de datos

19  

Conclusión

La integridad de base de datos se refiere a la corrección 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 añadirse datos no válidos a la base de datos, tales como un pedido que

especifica un producto no existente.

Los SGBD relacional deben encargarse de mantener la integridad de los datos

almacenados en una base de datos con respecto a las reglas predefinidas o restricciones. La

integridad también puede verificarse inmediatamente antes del momento de introducir los

datos a la base de datos (por ejemplo, en un formulario empleando validación de datos).

Un claro ejemplo de error de integridad es el ingreso de un tipo de dato incorrecto

dentro de un campo. Por ejemplo, ingresar un texto cuando se espera un número entero.

Una de las funciones importantes de un DBMS relacional es preservar la integridad

de sus datos almacenados en la mayor medida posible.

Page 21: Integridad de Datos;Base de datos

20  

Bibliografía

1. https://technet.microsoft.com/es-es/library/ms184276(v=sql.105).aspx

2. https://msdn.microsoft.com/es-es/library/aa291812(v=vs.71).aspx

3. https://technet.microsoft.com/es-es/library/ms184276(v=sql.105).aspx

4. http://www.monografias.com/trabajos19/administracion-base-datos/administracion-

base-datos.shtml