3.- Tipos de relaciones
No siempre las condiciones para establecer vínculos entre dos tablas son iguales, la manera en que se relacionan las tablas entre sí da lugar a comportamientos diferentes. En la estructutura de cualquier base de datos encontramos principalmente tres tipos de relaciones que se describen del siguiente modo:
- Uno a muchos.
- Muchos a muchos.
- Uno a uno.
3.1.- Relación uno a muchos (1:n)
Este tipo se da cuando una fila de la primera tabla puede estar relacionada con muchas filas de la segunda tabla, pero una fila de la segunda sólo está relacionada con una de la primera.
Es decir, si consideramos que un álbum sólo puede estar grabado en un soporte, éste sería el tipo de relación que existe entre la tabla SOPORTE y la tabla MUSICA ya que, por ejemplo, el soporte MP3 tendrá varios álbumes relacionados que son de dicho soporte, pero dado un álbum sólo está relacionado con un tipo de soporte.
Otro ejemplo lo encontramos entre las tablas ALUMNOS Y GRUPOS, ya que cualquier alumno puede pertenecer a un solo grupo y cada grupo puede tener varios alumnos:

3.2.- Relación uno a uno (1:1)
Este tipo de relación aparece con menos frecuencia y sucede cuando una fila de la primera tabla sólo puede estar relacionada con una fila de la segunda y una fila de la segunda tabla sólo puede estar relacionada con una de la primera.
Un ejemplo de este tipo de relaciones podría ser entre una tabla con países y otra con jefes de gobierno, dado que, normalmente, un país sólo tiene un jefe de gobierno y un jefe de gobierno lo es sólo de un país.
Otro ejemplo sería el de un tutor con un grupo, ya que cada grupo solo puede tener un tutor y cada tutor solo puede tener un grupo:

3.3.- Relación muchos a muchos (n:n)
Esta clase de relación ocurre cuando una fila de la primera tabla puede estar relacionada con muchas filas de la segunda tabla y una fila de la segunda tabla puede estarlo con muchas filas de la primera.
Veamos la base de datos Videoclub. Un ejemplo de este tipo lo tenemos en la relación entre la tabla PELICULA y la tabla INTERPRETE porque, dada una película en particular, puede tener muchos intérpretes, y, viceversa, dado un intérprete, este puede haber intervenido en muchas películas. Otro ejemplo sería el de un instituto donde las tablas PROFESORES y GRUPOS están relacionadas ya que cada profesor puede impartir clase a varios grupos y cada grupo puede tener varios profesores:

Este tipo de relación sólo es posible si se define una tercera tabla (denominada tabla de unión) cuya clave principal consta de al menos dos campos: las claves externas de las Tablas A y B.
4.- Establecer una relación uno a muchos (1:n)
Según hemos explicado en el apartado anterior, existe claramente una relación del tipo uno a muchos (1:n) entre las tablas MUSICA y SOPORTE.
Si consideramos que un álbum sólo puede estar grabado en un soporte, éste sería el tipo de relación que existe entre la tabla SOPORTE y la tabla MUSICA ya que, por ejemplo, el soporte MP3 tendrá varios álbumes relacionados que son de dicho soporte, pero dado un álbum sólo está relacionado con un tipo de soporte.
Como requisito indispensable para establecer una relación entre dos tablas es necesario que ambas tablas tengan un campo en común. Además ambos deberán tener el mismo tipo (INTEGER, TEXTO, SMALL INTEGER, etcétera) y el mismo tamaño, y uno de ellos deberá ser clave primaria en una de las dos tablas.
Ejemplos de ellos los tenemos en:

Como podemos observar, existen varias relaciones:
- Entre el campo Actividad de la tabla Calendario y el campo IdActividad de la tabla Actividades
- Entre el campo EquipoA de la tabla Calendario y el campo IdEquipo de la tabla Equipos
- Entre el campo Grupo de la tabla Alumnos y el campo IdCurso de la tabla Cursos
- Entre el campo Departamento de la tabla Profesores y el campo IdDepartamento de la tabla Departamentos
|