Está usted en Indice > Construcción > Lenguajes > SQL > Lecciones y Paso a Paso > Las Interrelaciones
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Las Interrelaciones (2)

No se deben definir relaciones de este tipo en un sistema de bases de datos, debido a su complejidad a la hora de su mantenimiento, por este motivo se debe transformar este tipo de relación es dos interrelaciones de tipo 1: n, empleando para ello una tabla que denominaremos puente y que estará formada por las claves de ambas tablas. Esta tabla puente debe contener una única clave compuesta formada por los campos clave de las tablas primeras.

Empleados
Puestos
Código Empleado Empleado Código Puesto Puesto
103 Juan 52 Comercial
105 Luisa 73 Administrativo
251 Martín
736 Ana María
Tabla Puente
Código Empleado Código Puesto
103 52
103 73
105 73
251 52
736 52
736 73

Ahora existe una relación 1: n entre Empleados y Tabla Puente y otra relación 1: n entre Puestos y Tabla Puente ya que un empleado posee varios códigos de empleado en la tabla puente pero cada elemento de la tabla puente pertenece a un único empleado.

Por otro la un puesto de trabajo posee varios elementos relacionados en la tabla puente, pero cada elemento de la tabla puente está relacionado con un único elemento de la tabla puestos.

Problemas con las interrelaciones

A la hora de establecer las interrelaciones existentes en un sistema de bases de datos nos podemos encontrar dos problemas:

  1. Interrelaciones recursivas: un elemento se relaciona consigo mismo directamente.
  2. Interrelaciones circulares o cíclicas: A se relaciona con B, B se relaciona con C y C se relaciona con A.

Ambos casos pueden suponer un grabe problema si definimos una relación con integridad referencial y decimos eliminar en cascada (al eliminar una clave de la tabla A se eliminan los elementos relacionados en la tabla B). Supongamos la relación recursiva existen en la relación Empleado y Supervisor (ambos son empleados de la empresa). Está claro que un empleado está supervisado por otro empleado. Veamos la forma de solucionarlo:

Empleados
Código Nombre Supervisor
102 Juan NO
105 Luis SI
821 María NO
956 Martín SI



Usuarios que han visto este tema también han visto...

- Referencias cruzadas en SQL
- Consultas de acción en SQL
- Consultas de Union Internas
- Crear Base de Datos en SQL
- SQL en breve


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 08-09-2008 a las 14:20:13