Sei sulla pagina 1di 9

Modelo Relacional: Integridad

INTRODUCCIN

El modelo de datos relacional es posterior a los modelos jerrquicos y de red. Naci como
consecuencia de los trabajos publicados en 1969-70 por E. F. Codd, aunque los primeros SGBD
relacionales no aparecen hasta principios de los aos ochenta.

El modelo relacional se ocupa de tres aspectos de los datos: su estructura, su integridad y
su manipulacin. En este captulo nos ocuparemos del segundo.

La estructura lgica y el modo de realizar las operaciones de E/S en el enfoque relacional, son
distintos respecto al enfoque jerrquico y de red. El modelo relacional representa la base de datos
por medio de tablas llamadas relaciones. Algunas de las diferencias con las bases de datos
jerrquicas o en red son:

A la hora de operar con los datos, en lugar de hacerlo sobre registros, acta sobre la
relacin (tabla).
Las bases de datos relacionales no permiten ni grupos repetitivos ni apuntadores en los
niveles externo y conceptual, en el nivel interno el sistema tiene libertad para usar
cualquier estructura que desee.


Formalmente, una relacin se define como un conjunto de n-tuplas; donde una n-tupla se define a
su vez como un conjunto ordenado de valores atmicos (esto es, no divisibles ni descomponibles
en valores ms pequeos.
NUM NOMBRE LOCALIDAD
1111 Manuel Pichucalco
2222 Carlos Reforma

Cada relacin, vista como una tabla, consta de un conjunto de columnas; cada una de
esas columnas recibe el nombre de atributo. A cada atributo de una relacin le corresponde un
nombre, que debe ser nico dentro de la relacin, y un dominio: el conjunto de valores vlidos
para un atributo; o, dicho de otra manera, el conjunto de valores que cada tupla de la relacin
puede tomar para ese atributo.

En el caso de la relacin de nuestro ejemplo, los atributos de la misma seran Num,
Nombre y Localidad. Cada uno de ellos tendr un dominio asociado: el conjunto de los
identificadores vlidos de Num (una cadena de nmero Integer o Entero), el conjunto de todos
los nombres de Municipio vlidos (cadenas de texto de cualquier longitud), y el conjunto de todas
los nombres de Localidades de Chiapas (cadenas de texto de cualquier longitud), respectivamente.

Modelo Relacional: Integridad
INTEGRIDAD

La integridad referencial es una limitacin que se aplica a una base de datos relacional,
en la que los datos y las relaciones entre ellos estn organizados en tablas de filas y columnas,
para que no se introduzcan datos inconsistentes. La mayora de los sistemas gestores de bases
de datos relacionales definen reglas de integridad referencial que los programadores aplican
cuando crean las relaciones entre dos tablas.

La integridad referencial es una propiedad deseable en las bases de datos. Gracias a la
integridad referencial se garantiza que una entidad (fila o registro) siempre se relacione con
otras entidades vlidas, es decir, que existen en la base de datos. Implica que en todo
momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y
relaciones mal resueltas.

Existen tres tipos de integridad referencial:
1) Integridad referencial dbil: si en una tupla de R todos los valores de los atributos de
K tienen un valor que no es el nulo, entonces debe existir una tupla en S que tome
esos mismos valores en los atributos de J;
2) Integridad referencial parcial: si en una tupla de R algn atributo de K toma el valor
nulo, entonces debe existir una tupla en S que tome en los atributos de J los mismos
valores que los atributos de K con valor no nulo; y
3) Integridad referencial completa: en una tupla de R todos los atributos de K deben
tener el valor nulo o bien todos tienen un valor que no es el nulo y entonces debe
existir una tupla en S que tome en los atributos de J los mismos valores que toman los
de K.

Todas las bases de datos relacionales gozan de esta propiedad gracias a que el
software gestor de base de datos vela por su cumplimiento. En cambio, las bases de datos
jerrquicas requieren que los programadores se aseguren de mantener tal propiedad en sus
programas.

Integridad de los datos.

Modelo Relacional: Integridad
Cada tupla de una relacin debe proporcionar valores a sus atributos. De cualquier
manera? No. Para garantizar la consistencia y la facilidad de manipulacin de la informacin
representada, existen una serie de reglas que deben ser cumplidas y que son un elemento
constituyente del modelo relacional. A esas reglas de consistencia se las conoce, en la
terminologa del modelo, como restricciones de integridad.

En una base de datos relacional, las relaciones estn sujetas a ciertas reglas de
integridad:

Integridad de Entidad: Ningn atributo que participe en una clave principal puede
tener valores nulos.

Codd justifica esto del siguiente modo: En el modelo relacional, las relaciones representan
entidades del mundo real y todas las entidades del mundo real son distinguibles. Las
claves primarias llevan a cabo la funcin de identificacin en el modelo relacional, por
tanto un identificador nulo sera una contradiccin.

La necesidad de esta restriccin es clara: dado que es la clave primaria la que nos permite
distinguir a las tuplas entre s, los valores correspondientes a la clave deben ser conocidos
en cada tupla para poder diferenciarla.
NUM NOMBRE LOCALIDAD
1111 Manuel Pichucalco
Carlos Reforma

Integridad Referencial: No deben existir valores de clave ajena sin concordancia.
Dicho de otro modo, si una relacin tiene una clave ajena que referencia a otra relacin (o
a ella misma), cada valor de la clave ajena tiene que ser igual a un valor de la clave
principal de la relacin a la que referencia, o bien, ser completamente nulo.

Este tipo de restricciones permite garantizar la consistencia en el caso de relaciones que
mantengan una cierta vinculacin.

Restriccin de Dominio: Los dominios de los atributos de una relacin deben ser
atmicos

Esta restriccin exige que los valores de cualquier tupla de una relacin R
correspondientes a los atributos A
1
,..., A
n
de R deben ser valores atmicos. Esto es,
esos valores no pueden ser descomponibles en valores ms pequeos o simples. Esta
Modelo Relacional: Integridad
condicin pretende garantizar que todas las relaciones presenten un formato regular,
que pueda ser fcilmente manipulable por medio de un sencillo procedimiento o
algoritmo, implementado en la forma de un programa informtico.

En el caso de nuestro ejemplo, estos dos casos no seran vlidos:
NUM NOMBRE LOCALIDAD
1111 Manuel Pichucalco, Chis
2222 Carlos Reforma
Relacin no vlida por uso de valor mltiple
En la figura se muestra un ejemplo de una relacin en la que una de sus tuplas, la
correspondiente al departamento de Ventas, presenta un doble valor para el atributo
Localidad. Este formato viola la restriccin de dominio, ya que rompe la regularidad de
la tabla (el uso de solo municipios). El nico formato de representacin posible de
esa informacin sera el siguiente:
NUM NOMBRE LOCALIDAD ESTADO
1111 Manuel Pichucalco Chis
2222 Carlos Reforma Chis

Restriccin de Clave: En una relacin no puede haber ninguna tupla repetida Ningn
conjunto admite, por definicin, la existencia de elementos repetidos en su contenido.
Tratndose de un conjunto de tuplas, las relaciones requieren la misma exigencia.

Que la extensin de una relacin no incluya tuplas repetidas, implica que todas las
tuplas que contiene puedan ser diferenciadas entre s por el valor de al menos un
atributo.

Eso nos lleva al concepto de superclave de una relacin: cualquier subconjunto
(propio o no) de atributos de la relacin, que nos permita diferenciar a cualesquiera
dos tuplas que formen parte de su extensin a partir de los valores de las tuplas para
esos atributos. Toda relacin cuenta con una o ms superclaves. En el peor de los
casos, tendremos una superclave nica: aquella formada por el conjunto de todos los
atributos de la relacin. En el caso de nuestro ejemplo, seran superclaves los
siguientes conjuntos de atributos:
(Num, Nombre, Localidad)
(Num, Localidad)
(Nombre, Localidad)

No existen (ni pueden existir) dos tuplas en la relacin al Nombre para los que
coincidan simultneamente los valores de nmero, nombre y localidad; ni siquiera los
Modelo Relacional: Integridad
valores de nmero y localidad; o los de nombre y localidad. Sin embargo, hemos visto
que dos tuplas de la relacin pueden coincidir en sus valores de nmero y nombre (ver
Figura 6). Por lo tanto, los siguientes subconjuntos de atributos no constituyen una
superclave de la relacin:
(Num, Nombre)
(Num)
(Nombre)
(Localidad)

Para poder distinguir a dos tuplas cualesquiera de una relacin, sera necesario, en
principio, comparar, uno por uno, los valores de todos y cada uno de sus atributos. Sin
embargo, y por cuestiones prcticas, lo ideal sera seleccionar un subconjunto mnimo
de los atributos suficiente para identificarlas. Llamamos claves candidatas de la
relacin todas las superclaves mnimas o no descomponibles, es decir, aquellos
conjuntos de atributos de los que ninguno puede ser eliminado sin provocar que el
conjunto deje de ser una superclave de la relacin.

En el caso de nuestro ejemplo, el conjunto (Num, Nombre, Localidad) contiene a las
superclaves (Num, Localidad) y (Nombre, Localidad), y no sera, por lo tanto,
superclave mnima de la relacin (si eliminamos Nombre o Localidad del conjunto,
este seguir siendo clave candidata). S lo seran tanto (Num, Localidad) como
(Nombre, Localidad): nunca existirn dos tuplas en la relacin con el mismo nmero y
localidad simultneamente.

Todas las claves candidatas son superclaves mnimas, cuyos valores son suficientes
para distinguir a dos tuplas cualesquiera de una relacin. A efectos prcticos, el
modelo relacional recomienda seleccionar una sola de las posibles claves candidatas
para ser utilizada cuando sea necesaria: la escogida ser la clave primaria de la
relacin.

En el ejemplo, podramos seleccionar entre (Num, Localidad) y (Nombre, Localidad).
Cualquiera de las dos claves candidatas sera una correcta clave primaria de la
relacin.
La clave primaria de una relacin debe ser indicada en la representacin del esquema
de la misma, subrayando los nombres de los atributos que forman parte de la misma.




Modelo Relacional: Integridad


CONCLUSIN

Adems de asegurar que estas referencias entre los datos estn intactas y son vlidas,
definir a integridad referencial de una base de datos tiene muchas ventajas. La integridad
referencial usa el cdigo existente en un motor de base de datos en lugar de pedir a los
programadores que escriban cdigo de programa personalizado desde cero. Como resultado,
el desarrollo de programas es ms rpido, menos propenso a errores y consistente entre
varios programas de aplicacin que acceden a la base de datos.

Los programadores pueden aplicar la integridad referencial, y evitar los registros
hurfanos en una base de datos, habilitndola en una relacin entre dos tablas. En
Microsoft Access, por ejemplo, aplicar la integridad referencial hace que cualquier operacin
que la viole sea rechazada. Este tipo de operaciones incluyen las actualizaciones de la base de
datos que cambian el objeto de una referencia o los borrados que eliminan el objeto de una
referencia. Adems, Microsoft Access tambin tiene un conjunto de opciones, conocidas
como opciones en "cascada". Estas opciones permiten que actualizaciones referenciales y/o
borradas sean propagados por la base de datos, de forma que todas las filas relacionadas
cambien de la misma forma.








Modelo Relacional: Integridad



BIBLIOGRAFA

R. Elmasri y S. Navathe. Fundamentos de los Sistemas de Bases de Datos (3 edicin).
Addison-Wesley, 2002.
Silberschatz, H. F. Korth y S. Sudarshan. Fundamentos de Bases de Datos (4 edicin).
McGraw Hill, 2002.
Jorge Snchez, Principios sobre Bases de Datos Relacionales. Creative Commons. 2004.




















Modelo Relacional: Integridad




RESUMEN
En resumen, la integridad referencial dice que una base de datos no puede tener
valores de claves externas sin pareja. Una clave externa es una columna en una tabla de base
de datos que tiene valores que estn en la columna de clave primaria, un identificador nico
que identifica una fila en una tabla, en otra tabla.
Por ejemplo, considera una tabla de base de datos llamada departamento, en la que
hay una columna llamada "nmero de departamento" como clave primaria. Se relaciona con
otra tabla llamada empleado, donde nmero de departamento es una clave externa. Un
empleado no puede pertenecer a un determinado departamento si el nmero
de departamento correspondiente no existe ya en la tabla departamento.
Si el programa que aade los empleados fuerza la integridad referencial, cualquier
intento por insertar un empleado en un departamento desconocido no podr realizarse.

PREGUNTAS
1. Qu es la integridad referencial?
R: Es una limitacin que se aplica a una base de datos relacional.

2. A qu se refiere la regla de integridad de entidad?
R: Ningn atributo que participe en una clave principal puede tener valores nulos.

3. A qu se refiere la regla de Integridad Referencial?
R: No deben existir valores de clave ajena sin concordancia.

4. Qu es un atributo?
Modelo Relacional: Integridad
R: cada una de las columnas que conforman una tabla.

5. Qu es una tupla?
R: Una tupla se define como un conjunto ordenado de valores en una fila.