Sunteți pe pagina 1din 3

- Relaciones en una base de datos

Una vez creadas tablas diferentes para cada tema de la base de datos de visual foxpro (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 indicarte a visual foxpro 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

- 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.
Id. de empleado aparece en ambas tablas, como clave principal...
... y como clave externa.

- Una relación uno a varios


La relación uno a varios es el tipo de relación más común. En este tipo de relación, un registro
de la Tabla A puede tener muchos registros coincidentes en la Tabla B, pero un registro de la
Tabla B sólo tiene un registro coincidente en la Tabla A.
Un proveedor...
... puede suministrar más de un producto...
... pero cada producto tiene un único proveedor.

- Una relación varios a varios


En una relación varios a varios, un registro de la Tabla A puede tener muchos registros
coincidentes en la Tabla B, y viceversa. Este tipo de relación sólo es posible si se define una
tercera tabla (denominada tabla de unión) cuya 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.)
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 Tablas A y B. Una relación de varios
a varios no es sino dos relaciones de uno a varios con una tercera tabla. Por ejemplo, la tabla
Pedidos y la tabla Productos tienen una relación de varios a varios que se define mediante la
creación de dos relaciones de uno a varios con la tabla Detalles de pedidos. Un pedido puede
incluir muchos productos, y cada producto puede aparecer en muchos pedidos.
Clave principal de la tabla Pedidos
Clave principal de la tabla Productos
Un pedido puede incluir muchos productos...
... y cada producto puede aparecer en muchos pedidos.

- Una relación uno a uno


En una relación uno a uno, cada registro de la Tabla A sólo puede tener un registro coincidente
en la Tabla B y viceversa. Este tipo de relación no es habitual, debido a que la mayoría de la
información relacionada de esta forma estaría en una sola tabla. Puede utilizar la relación uno a
uno para dividir una tabla con muchos campos, para aislar parte de una tabla por razones de
seguridad o para almacenar información que sólo se aplica a un subconjunto de la tabla
principal. Por ejemplo, puede crear una tabla que registre los empleados participantes en un
partido de fútbol benéfico. Cada jugador de fútbol de la tabla Jugadores de fútbol tiene un
registro coincidente en la tabla Empleados.
Cada jugador de fútbol tiene un registro coincidente en la tabla Empleados.
Este conjunto de valores es un subconjunto del campo Id. De empleado y la tabla Empleados.

- Definición de relaciones
El tipo de relación que crea Visual FoxPro 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.

Nota Si arrastra un campo que no es una clave principal y no tiene un índice único hasta otro
campo que tampoco es una clave principal ni tiene un índice único, se crea una relación
indeterminada. En las consultas que contienen tablas con una relación indeterminada, Visual
FoxPro muestra una línea de combinación (combinación: asociación entre un campo de una
tabla o consulta y un campo del mismo tipo de datos de otra tabla o consulta. Las
combinaciones indican al programa cómo se relacionan los datos. Los registros que no
coinciden pueden incluirse o excluirse, dependiendo del tipo de combinación.) Predeterminada
entre las tablas, pero no se exige la integridad referencial (integridad referencial: reglas que se
siguen para preservar las relaciones definidas entre las tablas cuando se especifican o eliminan
registros.) y no hay garantías de que los registros sean únicos en ninguna tabla

S-ar putea să vă placă și