Relazioni di tabella

Completato

Quando si usa Microsoft Dataverse, è necessario cercare di mantenere le informazioni su set di dati diversi in tabelle separate. Questo concetto è noto come normalizzazione dei dati. Le relazioni tra tabelle definiscono i diversi modi in cui le righe della tabella si possono associare alle righe di altre tabelle.

Abbiamo appreso in precedenza in questo modulo che in una tabella di database è presente una chiave primaria per fare riferimento in modo univoco alle righe nella tabella. In Dataverse una relazione tra due tabelle fa riferimento alla chiave primaria oppure ne esegue la ricerca.

Tipi di relazione

Le relazioni di tabella definiscono i modi in cui le righe della tabella possono essere associate a quelle della stessa o di altre tabelle. Esistono due tipi di relazioni di tabella:

  • Relazioni uno-a-molti: in una relazione di tabella uno-a-molti (1:N), molte righe di riferimento (correlate) della tabella sono associate a una singola riga della tabella a cui si fa riferimento (primaria) in una relazione. La tabella a cui si fa riferimento viene talvolta definita "padre" e le righe della tabella di riferimento vengono definite "figlio". Una relazione molti-a-uno è la prospettiva figlio di una relazione uno-a-molti

  • Relazioni molti-a-molti: in una relazione di tabella molti-a-molti (N:N) diverse righe della tabella possono essere associate a diverse righe dell'altra tabella. Le righe correlate che usano una relazione molti-a-molti possono essere considerati paritari e la relazione è reciproca.

Relazioni molti-a-uno e uno-a-molti

La relazione molti-a-uno (N:1) non è fondamentalmente diversa da quella uno-a-molti, è solo un punto di vista diverso. Il tipo di relazione molti-a-uno esiste nell'interfaccia utente perché la finestra di progettazione consente di visualizzare e creare relazioni da una delle tabelle coinvolte in una relazione. Se è presente una relazione uno-a-molti tra la Tabella A e la Tabella B, si può notare una relazione uno-a-molti nella Tabella A in Power Apps Maker Portal e una relazione molti-a-uno nella Tabella B. Una relazione molti-a-uno è semplicemente una relazione uno-a-molti visualizzata dalla tabella correlata. Non si tratta di diverso tipo di relazione, ma semplicemente di una prospettiva diversa.

Colonne di ricerca

Un modo semplice per definire una relazione di tabella è quello di creare una colonna con un tipo di dati Ricerca in un'altra tabella. La creazione di una colonna di ricerca definisce una relazione molti-a-uno.

Non c'è alcuna differenza in termini di funzionalità per una relazione creata in base al modello uno-a-molti o molti-a-uno o tramite una colonna di ricerca.

Creazione manuale di relazioni di tabella

Quando si crea una nuova tabella, come visto in precedenza in questo modulo di apprendimento, sono disponibili molte opzioni e pochi clic per fare in modo che Dataverse esegua le operazioni. Nella schermata Tabelle è presente un collegamento a Relazioni nel riquadro Schema.

Se si seleziona questo collegamento, viene visualizzata una tabella che mostra tutte le relazioni per la tabella in uso, alcune progettate dal sistema e altre create dall'utente. Si possono vedere a quali le tabelle è correlata la tabella corrente e il tipo di relazione che hanno con le altre tabelle.

Si noti anche che nella parte superiore della barra dei comandi si può creare un file Nuova relazione. Ciò offre la flessibilità di creare manualmente una relazione tra le tabelle.

È possibile decidere il tipo di relazione da creare. Nell'esempio seguente si crea una relazione uno-a-molti con una tabella denominata Veterinarian. Sebbene ogni animale possa essere curato da qualsiasi veterinario, si desidera che ogni animale sia curato dal veterinario abituale. Si noti che la definizione di una relazione in questo modo determina la creazione di una colonna Ricerca nella relativa tabella.

Dopo aver creato questa relazione, si può passare alla tabella associata e scoprire la colonna di ricerca creata.

Relazioni molti-a-molti

Prima di proseguire, discutiamo brevemente il concetto di creazione di relazioni molti-a-molti tra tabelle in Dataverse.

Ricardare che per le relazioni uno-a-molti è presente una gerarchia tra le righe nella relazione di tabella. Le righe correlate tramite relazioni di tabella molti-a-uno sono considerate peer.

Nota

Le relazioni molti-a-molti non sono supportate dai database relazionali e Dataverse crea una tabella di intersezione nascosta per collegare le righe della tabella. A tale tabella di intersezione non è associato un modulo e non è possibile modificarne le proprietà né aggiungere colonne.

Si può creare manualmente una relazione molti-a-molti scegliendo le tabelle correlate. Se ad esempio si dispone di una tabella di addetti alla toelettatura e di una tabella di animali domestici, a ogni animale domestico potrebbero corrispondere più addetti e ogni addetto potrebbero avere più animali come clienti. Sfortunatamente, non è presente alcuna tabella in Dataverse che mostri questo, ma è presente semplicemente una relazione. In un modulo è possibile inserire una griglia secondaria in cui sono visualizzati gli elementi della tabella correlata e, tramite un filtro, mostrare gli elementi della tabella correlata corrispondenti al proprio elemento. Questo aspetto non rientra nell'ambito di questa unità.

Per altre informazioni, consultare Panoramica sulla creazione di relazioni molti-a-molti tra tabelle.