2. Tipos de relaciones entre tablas
El funcionamiento de una relación se basa en hacer coincidir
datos de columnas 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 mediante la creación de 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).
Ejemplos;
Relaciones uno a varios
Relaciones Varios a Varios
Relaciones uno a uno
3. Relaciones uno a varios
Una relación uno a varios es 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 Publisher (editoriales) y titles
(títulos) 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 ónique.
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.
4. 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 (autores) y titles (títulos)
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
(títuloautor). 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).
5. 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:
Ejemplos;
Dividir una tabla con muchas columnas.
Aislar parte de una tabla por razones de seguridad.
Almacenar información que se aplica solamente a
un subconjunto de la tabla principal.
6. Relaciones entre las tablas
Para que la base de datos funcione correctamente no
basta con crear las distintas tablas que van a contener la
información que deseamos almacenar en la misma. Estas
tablas deberían estar relacionadas. De hecho toda la
información que incluiremos en la base de datos,
seguramente tendrá algún tipo de relación.
Plantearemos en primer lugar las distintas relaciones lógicas
que se pueden encontrar y, posteriormente, veremos cómo
implementar estas relaciones mediante las herramientas que
nos ofrece el programa Access.
7. Tipos de relaciones:
Uno a uno: relación en la que UN registro de una tabla
está relacionado con UN único registro de otra tabla.
Ejemplo:
8. Uno a varios: relación entre dos tablas en la que UN registro de
una de ellas está relacionado con VARIOS registros de la otra.
9. Varios a varios: relación en la que UN registro de una
tabla está relacionado con VARIOS registros de la otra y
viceversa (sería como la relación anterior, pero leída en los
dos sentidos)
Ejemplo:
10. Relaciones en Access
Uno a uno: este tipo de relación se realizará uniendo dos
campos, uno de cada tabla, que contendrán el mismo tipo de
información. Serán dos campos que tendrán el mismo tipo de
datos y las mismas características (el nombre puede ser
distinto). Además estos campos deben ser únicos en su tabla,
es decir, no pueden haber varios registros con el mismo dato
en este campo. Podemos utilizar, por tanto, las claves
principales si estas contienen el mismo tipo de información en
las dos tablas.
11. Uno a varios: este tipo de relación se realizará uniendo dos
campos, uno de cada tabla, que contendrán el mismo tipo de
información. Serán dos campos que tendrán el mismo tipo de
datos y las mismas características (el nombre puede ser
distinto). Además UNO de estos campo debe ser único en su
tabla, es decir, no pueden haber varios registros con el mismo
dato en este campo. Normalmente se utiliza la clave principal.
12. Varios a varios: este tipo de relación no puede ser
implementada directamente en la base de datos. Por eso,
para que entre dos tablas exista una relación varios a varios,
crearemos una tabla intermedia que nos permita crear dos
relaciones uno a varios. Esta tabla intermedia debe tener,
al menos, dos campos que contendrán el mismo tipo de
información que las claves principales de las tablas que
queremos relacionar, tendrán el mismo tipo de datos y las
mismas características. Además estos dos campos serán
claves principales de la nueva tabla creada.
13. ¿Cómo utilizar las relaciones?
La verdad es que todo esto puede parecer un poco lioso pero,
es cuestión de práctica llegar a controlarlo. Ante un problema
real, diseñaremos las tablas que creamos necesarias para
almacenar toda la información. Posteriormente
estudiaremos las relaciones que deseamos que existan
entre las tablas. Y, dependiendo del caso, aplicaremos uno de
los tipos de relaciones explicados aquí.