jueves, 18 de marzo de 2010

CONSULTA 03



RELACIONES DE UNA BASE DE DATOS DE ACCESS


Una vez creadas tablas diferentes para cada tema de la base de datos de Microsoft Access (base de datos de Microsoft Access: colección de datos y objetos (como tablas, consultas o formularios), que está relacionada con un tema o propósito concreto. El motor de base de datos Microsoft Jet administra los datos.), necesita una forma de indicarle a Microsoft Access cómo debe volver a combinar esa información. El primer paso de este proceso es definir relaciones (relación: asociación que se establece entre campos comunes (columnas) en dos tablas. Una relación puede ser uno a uno, uno a varios o varios a varios.) Entre las tablas. Una vez realizada esta operación, puede crear consultas, formularios e informes para mostrar información de varias tablas a la vez. Por ejemplo, este formulario incluye información de cuatro tablas:

  • La tabla Clientes
  • La tabla Pedidos
  • La tabla Productos
  • La tabla Detalles de pedidos

El nombre del cliente del cuadro Facturar a se recupera de la tabla Clientes, Id de pedido y Fecha de pedido de la tabla Pedidos, Producto de la tabla Productos, y Precio unidad y Cantidad de la tabla Detalles de pedido. Estas tablas están vinculadas entre sí de varias formas para proporcionar al formulario la información de cada una.
En las secciones siguientes se explican con mayor detalle los tipos de relaciones disponibles, cómo funcionan juntas en el formulario y qué debería saber sobre el uso de relaciones para hacer que las tablas le ofrezcan exactamente la información que desea de su base de datos.


Cómo funcionan las relaciones


Siguiendo en el ejemplo anterior, los campos de las cuatro tablas deben coordinarse de modo que muestren información acerca del mismo pedido. Esta coordinación se lleva a cabo mediante las relaciones entre las tablas. Una relación hace coincidir los datos de los campos clave (normalmente un campo con el mismo nombre en ambas tablas). En la mayoría de los casos, estos campos coincidentes son la clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) de una tabla, que proporciona un identificador único para cada registro, y una clave externa (clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.) de la otra tabla. Por ejemplo, los empleados pueden asociarse a los pedidos de los que son responsables mediante la creación de una relación entre los campos Id. de empleado.

  1. Id. de empleado aparece en ambas tablas, como clave principal...
  2. ... y como clave externa.


Relación de uno a muchos

La relación de uno a muchos es el tipo de relación más común que podemos encontrarnos.
En las relaciones de este tipo cada registro de la tabla, a la que llamaremos "tabla padre", puede tener más de un registro enlazado en otra tabla, a la que llamaremos "tabla hija".
Pero cada registro de la tabla hija solo puede tener un registro enlazado en la "Tabla padre".
Por ejemplo en nuestra base de datos un cliente puede hacer muchos pedidos, pero cada pedido solo puede haber sido realizado por un solo cliente. Este es un ejemplo de la relación uno a muchos



Relación de muchos a muchos

En las relaciones de este tipo, cada registro de la "tabla padre", puede tener más de un registro enlazado en la "tabla hija". Y cada registro de la tabla hija, puede tener enlazado más de un registro de la tabla padre
En nuestra base de datos por ejemplo, más adelante, deberemos tener una tabla con los distribuidores y otra tabla con los productos. Si queremos poder escoger la mejor oferta de nuestros proveedores, deberemos poder cotejar las distintas ofertas de los mismos productos. Este es un ejemplo de relación muchos a muchos, en el que tenemos varios distribuidores para cada producto y cada distribuidor puede ofertarnos varios productos.

Relación uno a uno

En las relaciones de este tipo cada registro de la "Tabla padre" solo puede tener un registro enlazado en la "tabla hija", y cada registro de la "tabla hija" solo puede tener como máximo un registro enlazado con la "tabla padre".
Un ejemplo de este tipo de relaciones podría ser por ejemplo una tabla que relacionara cada trabajador con otra tabla en la que guardara su "Curriculum Vitae", es decir que cada trabajador solo tiene un currículo y cada currículo solo tiene hace referencia a un trabajador.


El tipo de relación que crea Microsoft Access depende de cómo están definidos los campos relacionados.
Una relación de uno a varios se crea si sólo uno de los campos relacionados es una clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) o tiene un índice único (índice único: índice que se define al establecer la propiedad Indexado de un campo como Sí (Sin duplicados). Un índice único no permite entradas duplicadas en el campo indizado. Al establecer un campo como clave principal, queda automáticamente definido como exclusivo.).
Se crea una relación uno a uno si ambos campos relacionados son claves principales o tienen índices únicos.
Una relación de varios a varios es, en realidad, dos relaciones de uno a varios con una tercera tabla cuya clave principal consta de dos campos: las claves externas (clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.) de las otras dos tablas.
También se puede crear una relación entre una tabla y los elementos que contiene. Esto es útil en situaciones en que deba realizar una búsqueda dentro de la misma tabla. Por ejemplo, en la tabla Empleados se puede definir una relación entre los campos Id. de empleado y Jefe, por lo que el campo Jefe puede mostrar datos de empleado que procedan de un Id. de empleado coincidente.

No hay comentarios:

Publicar un comentario