Tipos de relaciones entre tablas (Visual Database Tools)
El funcionamiento de una relación se basa en hacer coincidir datos de columnas de clave, normalmente columnas que tienen el mismo nombre en ambas tablas. En la mayoría de los casos, la relación hace coincidir la clave principal de una tabla, que proporciona un identificador único para cada fila, con una entrada de la clave externa de la otra tabla. Por ejemplo, se pueden asociar las ventas de libros con los títulos específicos vendidos creando una relación entre la columna title_id de la tabla titles (la clave principal) y la columna title_id de la tabla sales (la clave externa).
Existen tres tipos de relaciones entre tablas. El tipo de relación creado depende de cómo se definen las columnas relacionadas.
Relaciones uno a varios
Relaciones varios a varios
Relaciones uno a uno
Relaciones uno a varios
Las relaciones uno a varios son el tipo más habitual de relación. En este tipo de relación, una fila de la tabla A puede corresponderse con muchas filas de la tabla B, pero una fila de la tabla B sólo puede corresponderse con otra de la tabla A. Por ejemplo, en las tablas publishers y titles se da una relación uno a varios: una editorial publica muchos títulos, pero a cada título le corresponde sólo una editorial.
Cree una relación uno a varios si solamente una de las columnas relacionadas es la clave principal o tiene una restricción UNIQUE.
El lado de la clave principal de una relación uno a varios se indica mediante un símbolo de clave. El lado de la clave externa de una relación se indica mediante un símbolo de infinito.
Relaciones varios a varios
En una relación varios a varios, una fila de la tabla A puede tener muchas filas coincidentes en la tabla B y viceversa. Este tipo de relaciones se crea definiendo una tercera tabla, denominada tabla de unión, cuya clave principal esté constituida por las claves externas de las tablas A y B. Por ejemplo, entre las tablas authors y titles existiría una relación varios a varios definida por una relación uno a varios entre cada una de ellas y la tabla titleauthors. La clave principal de la tabla titleauthors es la combinación de la columna au_id (la clave principal de la tabla authors) y la columna title_id (la clave principal de la tabla titles).
Relaciones uno a uno
En una relación uno a uno, una fila de la tabla A no puede tener más de una fila coincidente en la tabla B y viceversa. Se crea una relación uno a uno si las dos columnas relacionadas son claves principales o tienen restricciones UNIQUE.
Este tipo de relación no es habitual, ya que la mayor parte de la información relacionada de esta manera estaría toda en una tabla. Puede utilizar una relación uno a uno para:
Dividir una tabla con muchas columnas.
Aislar parte de una tabla por razones de seguridad.
Almacenar datos que son efímeros y que pueden eliminarse fácilmente mediante la simple eliminación de la tabla.
Almacenar información que se aplica solamente a un subconjunto de la tabla principal.
El lado de la clave principal de una relación uno a uno se indica mediante un símbolo de clave. El lado de la clave externa también se indica mediante un símbolo de clave.