Share via


Crear relaciones persistentes

Puede crear relaciones persistentes entre las tablas de la base de datos. Las relaciones persistentes son relaciones entre tablas de una base de datos que se almacenan en el archivo de la base de datos y tienen las características siguientes:

A diferencia de las relaciones temporales creadas con el comando SET RELATION, las relaciones persistentes no necesitan ser creadas de nuevo cada vez que se utilizan las tablas. Sin embargo, como las relaciones persistentes no controlan la relación entre los punteros de registros de las tablas, al programar aplicaciones de Visual FoxPro se utilizan relaciones de ambos tipos.

En Visual FoxPro se utilizan los índices para establecer relaciones persistentes entre las tablas de una base de datos. La relación se define entre los índices y no entre los campos, lo que permite relacionar las tablas basándose en una expresión de índice simple o compleja.

Para preparar las relaciones

  1. Determine qué tabla tiene los registros principales y qué tabla tiene los registros relacionados.

  2. Agregue un campo de enteros a la tabla que contiene el registro principal y, a continuación, agregue un índice principal al nuevo campo.

  3. Agregue a la tabla que contiene los campos relacionados un campo que coincida con la clave principal de la otra tabla y, a continuación, agregue un índice normal al nuevo campo.

    Nota   Use la misma expresión para ambos índices. Por ejemplo, si usa una función en la expresión del campo de clave principal tiene que usar la misma función en la expresión del campo de clave externa.

Para crear una relación persistente entre tablas

Por ejemplo, el comando siguiente agrega una relación persistente de uno a varios entre las tablas customer y orders, basándose en la clave principal cust_id de la tabla customer y en una nueva clave externa, cust_id, de la tabla orders:

ALTER TABLE orders;
   ADD FOREIGN KEY cust_id TAG ;
      cust_id REFERENCES customer

Si examina el esquema de la base de datos en el Diseñador de bases de datos, verá una línea que une orders y customer, lo que representa la nueva relación persistente.

Los índices proporcionan la base para relaciones persistentes

El tipo de etiqueta o clave de índice determinará el tipo de relación persistente que puede crear. Es necesaria una etiqueta de índice principal o candidato para el lado "uno" de una relación de uno a varios; para el lado "varios" debe utilizar una etiqueta o clave de índice normal.

También puede modificar la relación.

Para modificar una relación entre tablas

  • Haga doble clic en la línea de relación entre las tablas y, a continuación, seleccione las opciones apropiadas en el cuadro de diálogo Modificar relación.

Para eliminar una relación persistente entre tablas

  1. En el Diseñador de bases de datos, haga clic en la línea de relación entre las dos tablas.

    El ancho de la línea aumentará para indicar que ha seleccionado la relación.

  2. Presione la tecla SUPR.

    –O bien–

    Utilice la cláusula DROP FOREIGN KEY con el comando ALTER TABLE.

Por ejemplo, el comando siguiente elimina una relación persistente entre las tablas customer y orders basada en la clave principal cust_id de la tabla customer y en una clave externa, cust_id, de la tabla orders:

ALTER TABLE orders DROP FOREIGN KEY TAG cust_id SAVE

Vea también

Actualizar vínculos de tablas y bases de datos | Generar integridad referencial | Crear bases de datos | Crear una base de datos | Diseñador de bases de datos | CREATE TABLE | ALTER TABLE | Trabajar con una base de datos | Trabajar con tablas