Concetto/Termine Foreign Key/Index
Articolo di Andrea Nicchi
La locuzione "foreign key", che come si sa corrisponde all’italiano "chiave esterna", racchiude un concetto molto importante che è stato introdotto con l’avvento del modello relazionale dei Data Base Management System.
Con la chiave esterna, in sostanza, si rappresentano le relazioni che ci sono tra le entità in gioco nel Data Base.
Visual Foxpro appartiene alla famiglia dei Data Base Management System relazionali, per cui fa uso di questo concetto.
La locuzione "foreign index", credo che sia legata a Visual Foxpro, perché significa l’indice (per questo viene richiesto un tag) legato alla chiave esterna della tabella relazionata, in cui viene sfruttata la tecnologia Rushmore che contraddistingue Foxpro. In altre parole quando si rappresenta una relazione si indica anche l’indice su quella relazione per velocizzare il recupero di informazioni associate alla tabella corrente.
In ALTER TABLE … infatti si ha :
ADD FOREIGN KEY [eExpression5] TAG TagName4 [FOR lExpression6]
Adds a foreign (non-primary) index to the table. eExpression5 specifies the foreign index key expression and TagName4 specifies the name of the foreign index tag. Index tag names can contain up to 10 characters
che in concreto significa che viene creata una relazione persistente con la tabella padre.
Con un esempio cercherò di essere più chiaro.
Step 1. Creiamo un Data Base Container come In Figura 1, tab_a e la tabella figlia, tab_b è la tabella padre.
Step 2 Eseguiamo le istruzioni:
*-- Apertura Data Base
OPEN DATABASE fk.dbc EXCLUSIVE
*-- Apertura Tabelle
USE tab_a.dbf IN 0 EXCLUSIVE
USE tab_b.dbf IN 0 EXCLUSIVE
*-- Creazione Primary Key nella Tabella Padre
ALTER TABLE TAB_B ADD PRIMARY KEY BCODE TAG BCODE
*-- Creazione della Relazione Persistente Padre Figlio
ALTER TABLE tab_a ;
ADD FOREIGN KEY tab_B.bcode TAG bcode REFERENCES tab_B
Step 3 Otteniamo il risultato mostrato in Figura 2
Copyright dell'articolo:Andrea Nicchi
© FoxPro e Visual FoxPro sono un marchi registrati da Microsoft Corporation
dal 22 Giugno 1999