Informazioni sulle relazioni

Per creare tabelle correlate, si definisce una relazione tra due tabelle. Una relazione viene stabilita quando il valore in un campo, detto campo di confronto (o a volte campo chiave), da un lato della relazione è paragonabile a un valore nel campo di confronto dall'altro lato della relazione, in base ai criteri specificati nella relazione.

Ad esempio, è possibile creare una relazione come questa quando il valore nel campo ID studente di una tabella Studenti è uguale al valore nel campo ID studente di una tabella Classi: i record nelle due tabelle sono correlati.

Per creare, modificare e visualizzare le relazioni nel database, vedere Utilizzo del grafico delle relazioni.

Campi utilizzati nelle relazioni

Un campo di confronto può essere un campo o una combinazione di campi che identifica un record in una tabella. Ad esempio, un campo di confronto può contenere delle date che, quando confrontate con i criteri della relazione, determinano se la relazione è corretta.

Una chiave è un tipo di campo di confronto. In genere le chiavi contengono valori utilizzati come ID (come l'ID di un prodotto). Esistono due tipi di chiavi:

  • chiave primaria – un campo che si trova nella stessa tabella del record che identifica. Il valore di una chiave primaria deve essere univoco e non vuoto (non nullo). In una tabella esiste solo una chiave primaria, ma può essere costituita da più di un campo. Per impostazione predefinita, quando si crea un file o una tabella nella finestra di dialogo Gestisci database, la nuova tabella contiene un campo chiave primaria.
  • chiave esterna – un campo in una tabella che identifica un record in un'altra tabella. I valori nelle chiavi esterne non devono essere univoci nella tabella e possono essere vuoti (nulli). In una tabella possono esserci più chiavi esterne.

In un database Vendite, la tabella Clienti e la tabella Fatture possono utilizzare ognuna il campo ID cliente per identificare in modo univoco ciascun cliente e acquisto. Nella tabella Clienti, il campo ID cliente è un campo chiave primaria perché identifica in modo univoco ciascun cliente. Nella tabella Fatture, il campo ID cliente è un campo chiave esterna perché i suoi valori fanno riferimento a un'altra tabella; in questo caso, alla tabella Clienti. Ma il campo ID cliente in entrambe le tabelle è un campo di confronto.

Se le due tabelle sono correlate utilizzando il campo ID cliente, un record nella tabella Clienti può visualizzare un portale che mostra le fatture con l'ID cliente corrispondente e, nella tabella Fatture, ogni fattura con lo stesso ID cliente può visualizzare i dati del cliente.

FileMaker Pro ricerca i valori indicizzati dei campi di confronto in una tabella correlata per determinare quali record correlati soddisfano i criteri di relazione per un record nella tabella corrente. Pertanto, i campi di confronto nella tabella correlata devono poter essere indicizzati.

I campi di confronto devono corrispondere a uno dei seguenti tipi di campo: Testo, Numero, Data, Ora, Indicatore data e ora o Calcolo (con un risultato di tipo testo, numero, data, ora o indicatore data e ora).

Tipi di relazioni

Le relazioni favoriscono l'inserimento di dati coerenti e contribuiscono al rispetto delle regole in un database. FileMaker Pro supporta i seguenti tipi di relazioni.

Tipo di relazione

Descrizione

"Uno a uno"

Un record in una tabella è associato a un unico record in un'altra tabella. Vedere Relazioni "uno a uno".

"Uno a molti" o
"Molti a uno"

Un record in una tabella può essere associato a uno o più record in un'altra tabella. Oppure uno o più record in una tabella possono essere associati a un record in un'altra tabella. Vedere Relazioni "uno a molti".

di auto collegamento

Le due chiavi primarie sono definite in due ricorrenze della stessa tabella. Vedere Relazioni di auto collegamento.

Un altro tipo di relazione è quella "molti a molti". In genere i sistemi di database relazionali non consentono di implementare una relazione "molti a molti" diretta tra due tabelle. Tuttavia, è possibile progettare un database che supporti relazioni "molti a molti" utilizzando una terza tabella intermedia. Vedere Relazioni "molti a molti".

Note 

  • Un campo di confronto utilizzato per una relazione può essere un campo di destinazione del riferimento, a condizione che il riferimento sia basato su una relazione diversa.
  • Poiché i campi globali non possono essere indicizzati, non è possibile utilizzarli come campi di confronto in una tabella correlata. Tuttavia, è possibile utilizzarli come campi di confronto nella tabella corrente.
  • Le relazioni permettono anche di raggruppare i dati per risolvere ricerche complesse. Ad esempio, le relazioni possono determinare i livelli di inventario correnti, le proiezioni di vendita e le altre attività in cui è necessario trovare i dati in più tabelle.
  • Utilizzare i privilegi di accesso nella tabella di origine per limitare o impedire l'accesso ai dati correlati. Ad esempio, gli utenti devono avere i privilegi di accesso per visualizzare un campo di confronto correlato per vedere i campi correlati da tale relazione.