Bases de Datos I. Tema IV. Integridad de Datos Relacional

15

Click here to load reader

description

Trabajo hecho por la M.C. Remedios Fabián Velasco, docente de la Universidad del Mar, campus Puerto Escondido.

Transcript of Bases de Datos I. Tema IV. Integridad de Datos Relacional

Page 1: Bases de Datos I. Tema IV. Integridad de Datos Relacional

::Universidad del Mar:: ::Universidad del Mar:: ::Campus Puerto Escondido ::::Campus Puerto Escondido ::

Tema IV. Tema IV. Integridad de Datos Integridad de Datos RelacionalesRelacionales

Bases de Datos IBases de Datos IMTI Remedios Fabián VelascoMTI Remedios Fabián Velasco

Ver. 1.1Ver. 1.1Cuarto SemestreCuarto Semestre

Licenciatura en InformáticaLicenciatura en Informática

Bases de Datos IBases de Datos IMTI Remedios Fabián VelascoMTI Remedios Fabián Velasco

Ver. 1.1Ver. 1.1Cuarto SemestreCuarto Semestre

Licenciatura en InformáticaLicenciatura en Informática

Page 2: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

TemarioTemario

4 Integridad de datos relacional: llaves 4 Integridad de datos relacional: llaves candidatas y temas relacionados. candidatas y temas relacionados. 4.1 Introducción.4.1 Introducción.4.2 Llaves candidatas.4.2 Llaves candidatas.4.3 Llaves primarias y llaves alternas.4.3 Llaves primarias y llaves alternas.4.4 Llaves foráneas.4.4 Llaves foráneas.4.5 Reglas de llaves foráneas.4.5 Reglas de llaves foráneas.4.6 Valores nulos.4.6 Valores nulos.4.7 Llaves candidatas y nulas.4.7 Llaves candidatas y nulas.4.8 Llaves foráneas y nulas.4.8 Llaves foráneas y nulas.

Page 3: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

4.1 Introducción.4.1 Introducción.

Consiste en conservar la seguridad en un sistema, Consiste en conservar la seguridad en un sistema, donde se permite a múltiples usuarios el acceso al donde se permite a múltiples usuarios el acceso al mismo para compartir la base de datos. mismo para compartir la base de datos. La integridad tiene como función proteger la base La integridad tiene como función proteger la base de datos contra operaciones que introduzcan de datos contra operaciones que introduzcan inconsistencias en los datos. Se habla de inconsistencias en los datos. Se habla de integridad en el sentido de integridad en el sentido de corrección, validez y corrección, validez y precisiónprecisión de los datos. de los datos. Un control de integridad o restricciones es aquel Un control de integridad o restricciones es aquel que nos permite definir con precisión el rango de que nos permite definir con precisión el rango de valores validos para un elemento y/o las valores validos para un elemento y/o las operaciones que serán consideraciones validas en operaciones que serán consideraciones validas en la relación de tale elementos.la relación de tale elementos.

El objetivo primordial de un control de integridad es El objetivo primordial de un control de integridad es la reducción de la inconsistencia en la BD.la reducción de la inconsistencia en la BD.

Page 4: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Las restricciones de integridad Las restricciones de integridad normalmente se aplican en tres normalmente se aplican en tres niveles:niveles:

Un Atributo Simple:Un Atributo Simple: Se define un dominio del Se define un dominio del atributo que es totalmente independiente del resto del atributo que es totalmente independiente del resto del entorno de la Base de Datos. Es un atributo que tiene entorno de la Base de Datos. Es un atributo que tiene un solo componente, que no se puede dividir en partes un solo componente, que no se puede dividir en partes mas pequeñas que tengan un significado propio (valor mas pequeñas que tengan un significado propio (valor único).único).Un Atributo Dependiente de Otro:Un Atributo Dependiente de Otro: Se definen Se definen subconjuntos de dominios posibles para un atributo X subconjuntos de dominios posibles para un atributo X según el valor que previamente a sido asignado al según el valor que previamente a sido asignado al atributo W. También es conocido como atributo W. También es conocido como atributos de atributos de grupogrupo..Relaciones entre Tuplas de una o varias Tablas:Relaciones entre Tuplas de una o varias Tablas: Se especifican valores posibles para registros Se especifican valores posibles para registros completos según los valores acumulados registros completos según los valores acumulados registros previos o por valores existentes en registros de otras previos o por valores existentes en registros de otras tablas. También es conocido como tablas. También es conocido como objeto simétricoobjeto simétrico . .

Page 5: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

4.2 Llaves candidatas.4.2 Llaves candidatas.

SuperllaveSuperllaveUn atributo o conjunto de atributos que identifica Un atributo o conjunto de atributos que identifica de forma inequívoca cada tupla dentro de una de forma inequívoca cada tupla dentro de una relación.relación.

Por ejemplo, el atributo id-cliente del Por ejemplo, el atributo id-cliente del conjunto de entidades cliente es conjunto de entidades cliente es suficiente para distinguir una entidad suficiente para distinguir una entidad cliente de las otras.cliente de las otras.Si Si K K es una superllave, entonces es una superllave, entonces también lo es cualquier superconjunto también lo es cualquier superconjunto de de KK..

Page 6: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

4.2 Llaves candidatas.4.2 Llaves candidatas.

Una superllave tal que ningún subconjunto de la misma es Una superllave tal que ningún subconjunto de la misma es una superllave de la relación. una superllave de la relación.

Conjuntos distintos de atributos pueden servir como Conjuntos distintos de atributos pueden servir como llave candidata. llave candidata.

Supóngase que una combinación de nombre-cliente Supóngase que una combinación de nombre-cliente y calle-cliente es suficiente para distinguir entre los y calle-cliente es suficiente para distinguir entre los miembros del conjunto de entidades cliente. miembros del conjunto de entidades cliente. Entonces, los conjuntos {id-cliente} y {nombre-Entonces, los conjuntos {id-cliente} y {nombre-cliente, calle-cliente} son llaves candidatas.cliente, calle-cliente} son llaves candidatas.Aunque los atributos id-cliente y nombre-cliente Aunque los atributos id-cliente y nombre-cliente juntos puedan distinguir entidades cliente, su juntos puedan distinguir entidades cliente, su combinación no forma una llave candidata, ya que el combinación no forma una llave candidata, ya que el atributo id-cliente por sí solo es una llave candidata.atributo id-cliente por sí solo es una llave candidata.

Page 7: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Llaves candidatasLlaves candidatas

Una llave candidata, Una llave candidata, KK, para una relación , para una relación RR tiene dos tiene dos propiedades:propiedades:

Unicidad: En cada tupla Unicidad: En cada tupla RR, los valores de , los valores de KK identifican univocamente a la tupla. identifican univocamente a la tupla. Irreducibilidad: Ningún subconjunto de Irreducibilidad: Ningún subconjunto de KK presenta presenta la propiedad de unicidad.la propiedad de unicidad.

Se usará el término Se usará el término llave primariallave primaria para denotar para denotar una llave candidata que es elegida por el diseñador una llave candidata que es elegida por el diseñador de la base de datos como elemento principal para de la base de datos como elemento principal para identificar las entidades dentro de un conjunto de identificar las entidades dentro de un conjunto de entidades. Las llaves candidatas no elegidas como entidades. Las llaves candidatas no elegidas como llave principal se llama llave o llave principal se llama llave o llave secundariallave secundaria..

Page 8: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

4.3 Llaves primarias .4.3 Llaves primarias .Llave candidata seleccionada para identificar las Llave candidata seleccionada para identificar las tuplas de manera unívoca dentro de la relación.tuplas de manera unívoca dentro de la relación.

La llave primaria de un conjunto de entidades La llave primaria de un conjunto de entidades permite distinguir entre las diferentes entidades permite distinguir entre las diferentes entidades del conjunto. Se necesita un mecanismo similar del conjunto. Se necesita un mecanismo similar para distinguir entre las diferentes relaciones de para distinguir entre las diferentes relaciones de un conjunto de relaciones. Sea R un conjunto de un conjunto de relaciones. Sea R un conjunto de relaciones que involucra los conjuntos de relaciones que involucra los conjuntos de entidadesentidades EE11, E, E22,,……, En, En. . Sea Sea llave-primaria(Ei) llave-primaria(Ei) el el conjunto de atributos que forma la llave primaria conjunto de atributos que forma la llave primaria para el conjunto de entidades para el conjunto de entidades EiEi..Si el conjunto de relaciones Si el conjunto de relaciones R R no tiene atributos no tiene atributos asociados, entonces el conjunto de atributos:asociados, entonces el conjunto de atributos:

llave-primaria(Ellave-primaria(E11) ) ƱƱ llave-primaria(Ellave-primaria(E22) ) ƱƱ ……ƱƱ llave-primaria(En)llave-primaria(En)

describe una relación individual en el conjunto describe una relación individual en el conjunto RR..

Page 9: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Llaves primariasLlaves primarias

Si el conjunto de relaciones Si el conjunto de relaciones R R tiene atributos tiene atributos aa11, , aa22,,……,a,am asociados a él, entonces el conjunto de m asociados a él, entonces el conjunto de atributosatributos

llave-primaria(Ellave-primaria(E11) ) ƱƱ llave-primaria(Ellave-primaria(E22) ) ƱƱ … …ƱƱ llave-primaria(En) llave-primaria(En) ƱƱ { {aa11, a, a22,,……,am,am}}

describe una relación individual en el conjunto describe una relación individual en el conjunto RR..En ambos casos, el conjunto de atributosEn ambos casos, el conjunto de atributos

llave-primaria(Ellave-primaria(E11) ) ƱƱ llave-primaria(Ellave-primaria(E22) ) ƱƱ … …ƱƱ llave-primaria(En)llave-primaria(En)

forma una superllaveforma una superllave para el conjunto de relaciones. para el conjunto de relaciones.

Page 10: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

4.4 Llaves foráneas y llaves 4.4 Llaves foráneas y llaves alternasalternas

Llave alternativaLlave alternativaLlaves candidatas que no se seleccionan para ser Llaves candidatas que no se seleccionan para ser llaves primarias.llaves primarias.

Llave foráneaLlave foráneaUn atributo o conjunto de atributos, dentro de una Un atributo o conjunto de atributos, dentro de una relación que se corresponde con la llave candidata relación que se corresponde con la llave candidata de alguna (posiblemente la misma) relación.de alguna (posiblemente la misma) relación.

Atributo que hace referencia a una llave primaria de otra Atributo que hace referencia a una llave primaria de otra relación; esto da pie a que una relación pueda tener relación; esto da pie a que una relación pueda tener varias llaves foráneas.varias llaves foráneas.

Page 11: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

4.5 Reglas de llaves foráneas.4.5 Reglas de llaves foráneas.

Reglas de los nulos: Reglas de los nulos: ¿tiene sentido que la llave ajena ¿tiene sentido que la llave ajena acepte nulos?acepte nulos?Regla de borrado: Regla de borrado: ¿Qué ocurre si se intenta borrar la tupla ¿Qué ocurre si se intenta borrar la tupla referenciada por la llave ajena?referenciada por la llave ajena?

RestringirRestringir: : no se permite borrar la tupla referenciada.no se permite borrar la tupla referenciada.PropagarPropagar: : se borra la tupla referenciada y se propaga el borrado se borra la tupla referenciada y se propaga el borrado a las tuplas la referencia mediante la llave ajena.a las tuplas la referencia mediante la llave ajena.Anular: Anular: se borra la tupla referenciada y las tuplas que la se borra la tupla referenciada y las tuplas que la reverenciaba ponen a nulo la llave ajena (solo si acepta nulos).reverenciaba ponen a nulo la llave ajena (solo si acepta nulos).

Reglas de modificación:Reglas de modificación: ¿Qué ocurre si se intenta ¿Qué ocurre si se intenta modificar el valor de la llave primaria de la tupla modificar el valor de la llave primaria de la tupla referenciada por la llave ajena?referenciada por la llave ajena?

Restringir: Restringir: no se permite modificar el valor de la llave primaria no se permite modificar el valor de la llave primaria de la tupla referenciada.de la tupla referenciada.Propagar: Propagar: se modifica el valor de la se modifica el valor de la llave primaria de la tupla referenciaba y se propaga  la  llave primaria de la tupla referenciaba y se propaga  la  modificación a las tuplas que la  referencia mediante llave ajena.modificación a las tuplas que la  referencia mediante llave ajena.Anular: Anular: se modifica la tupla se modifica la tupla referenciada y las tuplas que la referenciaban ponen a nulo la referenciada y las tuplas que la referenciaban ponen a nulo la llave ajena (solo si acepta nulos).llave ajena (solo si acepta nulos).

Page 12: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

4.6 Valores nulos.4.6 Valores nulos.

Representa un valor para un atributo que Representa un valor para un atributo que es desconocido o no es aplicable para una es desconocido o no es aplicable para una tupla. tupla. Formas de tratar datos nulos o Formas de tratar datos nulos o excepcionales.excepcionales.Representa la ausencia de un valor y no es Representa la ausencia de un valor y no es lo mismo cero o espacios, los cuales son lo mismo cero o espacios, los cuales son valores.valores.

Page 13: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

4.7 Llaves candidatas y nulas.4.7 Llaves candidatas y nulas.

Integridad de EntidadIntegridad de EntidadEn una relación base ningún atributo de una llave En una relación base ningún atributo de una llave principal puede ser nulo. principal puede ser nulo.

Reglas de Integridad de Dominio. Reglas de Integridad de Dominio. Un dominio de valores posibles puede estar Un dominio de valores posibles puede estar asociado con cada atributo. Los límites de dominio asociado con cada atributo. Los límites de dominio son la forma mas elemental de restricciones de son la forma mas elemental de restricciones de integridad. Son fáciles de probar por el integridad. Son fáciles de probar por el sistema siempre que se introduce un nuevo dato en sistema siempre que se introduce un nuevo dato en la base de datos.la base de datos.

Page 14: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

4.8 Llaves foráneas y nulas.4.8 Llaves foráneas y nulas.

Integridad referencialIntegridad referencialSi hay una llave externa en una relación, el Si hay una llave externa en una relación, el valor de la llave externa debe valor de la llave externa debe corresponderse con el valor de una llave corresponderse con el valor de una llave candidata de alguna tupla en su relación de candidata de alguna tupla en su relación de origen o el valor de la llave externa debe origen o el valor de la llave externa debe ser completamente nulo.ser completamente nulo.

Esta regla evita registros huérfanos Esta regla evita registros huérfanos y la incongruencia de datosy la incongruencia de datos

Page 15: Bases de Datos I. Tema IV. Integridad de Datos Relacional

Bases de Datos IBases de Datos I MTI Remedios Fabián VelascoMTI Remedios Fabián VelascoUniversidad del Mar – 07/2008Universidad del Mar – 07/2008

Bibliografía utilizadaBibliografía utilizada

Libros: Libros: Fundamentos de Bases de Datos. Abraham Fundamentos de Bases de Datos. Abraham Silberschatz, Henry F. Korth, S. SudarshanSilberschatz, Henry F. Korth, S. Sudarshan