Relazioni di tabella
Le relazioni di tabella definiscono la correlazione tra le stesse nel database. A livello più semplice, l'aggiunta di una colonna di ricerca a una tabella crea un nuova relazione 1:N (uno-a-molti) tra le due tabelle e ti consente di inserire tale colonna in un modulo. Con la colonna di ricerca, gli utenti possono associare più righe figlio di tale tabella a una singola riga di tabella padre.
Oltre a definire semplicemente la modalità di correlazione tra le righe, le relazioni di tabella 1:N forniscono inoltre i dati per rispondere alle domande seguenti:
- Quando elimino una riga devo eliminare anche tutte le righe ad essa correlate?
- Quando assegno una riga, devo anche assegnare tutte le righe correlate a quella riga al nuovo proprietario?
- Come posso semplificare il processo di immissione di dati quando creo una nuova riga correlata nel contesto di una riga esistente?
- Gli utenti che visualizzano una riga come possono visualizzare le righe associate?
Le tabelle possono partecipare anche a una relazione N:N (molti-a-molti) in cui un numero qualsiasi di righe di due tabelle possono essere associate tra loro.
Decidere se utilizzare relazioni o connessioni di tabella
Le relazioni di tabella sono metadati che apportano modifiche al database. Tali relazioni consentono alle query di richiamare i dati correlati in modo efficiente. Utilizza le relazioni di tabella per definire relazioni formali che definiscono la tabella o che la maggior parte delle righe può utilizzare. Ad esempio, un'opportunità senza un cliente potenziale non è utile. La tabella Opportunità ha inoltre una relazione N:N con la tabella Concorrente. Ciò consente a più concorrenti di essere aggiunti all'opportunità. È possibile che si desideri acquisire tali dati e creare un report in cui sono visualizzati i concorrenti.
Ci sono altri tipi meno formali di relazioni tra le righe denominate connessioni. Ad esempio, può essere utile stabilire se due contatti sono sposati oppure amici al di fuori del lavoro o se un contatto lavorava per un altro account. La maggior parte delle aziende non genera report con questo tipo di informazioni oppure non richiede che vengano immesse, per cui probabilmente non è utile creare relazioni di tabella. Ulteriori informazioni: Configurare ruoli di connessione
Tipi di relazioni di tabella
Se si osserva Esplora soluzioni è possibile pensare che vi siano tre tipi di relazioni di tabella. In effetti ce ne sono solo due come illustrato nella tabella seguente.
Tipo di relazione | Descrizione |
---|---|
1:N (uno-a-molti) | Una relazione di tabella in cui una riga di tabella per Tabella primaria può essere associata a molte altre righe Tabella correlata a causa di una colonna di ricerca nella tabella correlata. Quando viene visualizzata una riga di tabella primaria è possibile visualizzare un elenco di righe di tabella correlate ad essa associate. Nel portale Power Apps, Tabella corrente rappresenta la tabella primaria. |
N:N (molti-a-molti) | Relazione di tabella che dipende da una Tabella relazione speciale, chiamata talvolta una tabella Intersezione, in modo che più righe di una tabella possano essere correlate a molte righe di un'altra tabella. Quando vengono visualizzate le righe di una tabella in una relazione N:N è possibile visualizzare un elenco delle righe dell'altra tabella ad essa correlate. |
Il tipo di relazione N:1 (molti-a-uno) è presente nell'interfaccia utente poiché lo strumento di progettazione mostra una visualizzazione raggruppata per tabella. Le relazioni 1:N esistono effettivamente tra le tabelle e fanno riferimento a ogni tabella come Tabella primaria/corrente o Tabella correlata. La tabella correlata, talvolta detta tabella figlio, ha una colonna di ricerca che consente l'archiviazione di un riferimento in una riga della tabella primaria, talvolta definita tabella padre. Una relazione N:1 è semplicemente una relazione 1:N visualizzata nella tabella correlata.
Comportamento delle relazioni di tabella
I comportamenti delle tabelle correlate sono importanti perché contribuiscono a garantire l'integrità dei dati e possono automatizzare i processi aziendali per la propria azienda.
Mantenere l'integrità dei dati
Alcune tabelle esistono per supportare altre tabelle. Non hanno nessuna utilità se utilizzate da sole. Avranno in genere una colonna di ricerca obbligatoria per collegarsi alla tabella primaria che supportano. Cosa deve verificarsi quando viene cancellata la riga primaria?
Puoi utilizzare il comportamento della relazione per definire cosa accade alle righe correlate in base alle regole per la tua azienda. Maggiori informazioni: Aggiungere il comportamento avanzato delle relazioni
Automatizzare i processi aziendali
Supponiamo che hai a disposizione un nuovo venditore e vuoi assegnargli una serie di account esistenti al momento assegnati a un altro venditore. Ogni riga di account può avere una serie di impegni di tipo attività associati. Puoi facilmente individuare gli account attivi che desideri riassegnare e assegnarli al nuovo venditore. Ma cosa deve accadere per le attività di tipo impegno associate agli account? Si desidera aprire ogni attività e decidere se deve essere assegnata a un nuovo venditore? Probabilmente no. In alternativa, è possibile consentire alla relazione di applicare alcune regole standard automaticamente. Queste regole sono valide solo per le righe di attività associate agli account che stai riassegnando. Le opzioni disponibili sono:
- Riassegnare tutte le attività attive.
- Riassegnare tutte le attività.
- Non riassegnare alcuna attività.
- Riassegnare tutte le attività al momento assegnate al proprietario precedente degli account.
La relazione può controllare il modo in cui le azioni eseguite in un riga per la riga di tabella primaria vengono eseguite a catena su tutte le righe di tabella correlata.
Comportamenti
Sono disponibili diversi tipi di comportamenti che possono essere applicati quando si verificano determinate azioni.
Comportamento | Descrizione |
---|---|
Esegui a catena sui record attivi | Esegui l'azione su tutte le righe di tabella correlata attive. |
Esegui a catena su tutti i record | Esegui l'azione su tutte le righe di tabella correlata. |
Non eseguire a catena | Non eseguire alcuna operazione. |
Rimuovi collegamento | Rimuovi il valore di ricerca per tutte le righe correlate. |
Limita | Impedisci l'eliminazione della riga di tabella primaria se esistono righe di tabella correlata. |
Esegui a catena sui record di proprietà dell'utente | Esegui l'azione su tutte le righe di tabella correlata appartenenti allo stesso utente come riga di tabella primaria. |
Azioni
Di seguito sono elencate le azioni che possono attivare determinati comportamenti:
Istogramma | Descrizione | Opzioni |
---|---|---|
Assegnazione | Cosa accade quando la riga di tabella primaria viene assegnata a un altro utente? | Propaga a catena - Tutti gli elementi Propaga a catena - Elementi attivi Esegui a catena sui record di proprietà dell'utente Non eseguire a catena |
Ricollegamento | Cosa accade quando viene modificato il valore di ricerca di una tabella correlata in una relazione con elemento padre? Ulteriori informazioni: Relazioni di tabella con elemento padre |
Propaga a catena - Tutti gli elementi Propaga a catena - Elementi attivi Esegui a catena sui record di proprietà dell'utente Propaga a catena - Nessun elemento |
Condivisione | Cosa accade quando viene condivisa la riga di tabella primaria? | Propaga a catena - Tutti gli elementi Propaga a catena - Elementi attivi Esegui a catena sui record di proprietà dell'utente Propaga a catena - Nessun elemento |
Elimina | Cosa accade quando viene eliminata la riga di tabella primaria? | Propaga a catena - Tutti gli elementi Annulla collegamento articolo Limita |
Rimozione condivisione | Cosa accade quando la condivisione di una riga di tabella primaria viene annullata? | Propaga a catena - Tutti gli elementi Propaga a catena - Elementi attivi Esegui a catena sui record di proprietà dell'utente Propaga a catena - Nessun elemento |
Unione | Cosa accade quando una riga di tabella primaria viene unita? | Propaga a catena - Tutti gli elementi Propaga a catena - Nessun elemento |
Vista di rollup | Qual è il comportamento desiderato della visualizzazione rollup associata a questa relazione? | Esegui a catena su tutti i record Esegui a catena sui record attivi Esegui a catena sui record di proprietà dell'utente Non eseguire a catena |
Nota
Le azioni Assegna, Elimina, Unisci e Ricollegamento non verranno eseguite nelle seguenti situazioni:
- Se la riga padre originale e l'azione richiesta contengono gli stessi valori. Esempio: si tenta di attivare un'assegnazione e si sceglie un contatto che è già proprietario della riga
- Se si tenta di eseguire un'azione su una riga padre che sta già eseguendo un'azione a catena
Nota
Quando si esegue un'assegnazione, qualsiasi flusso di lavoro o regola di business attualmente attiva per le righe verrà automaticamente disattivato quando si verifica la riassegnazione. Il nuovo proprietario della riga dovrà riattivare il flusso di lavoro o la regola di business se desidera continuare a utilizzarlo.
Relazioni di tabella con un elemento padre
Ogni coppia di tabelle che hanno il diritto di avere una relazione 1:N possono avere più relazioni 1: N tra loro. Eppure solo una di tali relazioni può in genere essere considerata una relazione di tabella con elemento padre.
Una relazione di tabella con elemento padre è una qualsiasi relazione di tabella 1:N in cui una delle opzioni di esecuzione a catena nella colonna Con elemento padre della tabella seguente è vera.
Azione | Con elemento padre | Senza elemento padre |
---|---|---|
Assegnazione | Esegui a catena su tutti i record Esegui a catena sui record di proprietà dell'utente Esegui a catena sui record attivi |
Non eseguire a catena |
Elimina | Esegui a catena su tutti i record | RemoveLink Limita |
Ricollegamento | Esegui a catena su tutti i record Esegui a catena sui record di proprietà dell'utente Esegui a catena sui record attivi |
Non eseguire a catena |
Condivisione | Esegui a catena su tutti i record Esegui a catena sui record di proprietà dell'utente Esegui a catena sui record attivi |
Non eseguire a catena |
Rimozione condivisione | Esegui a catena su tutti i record Esegui a catena sui record di proprietà dell'utente Propaga a catena - Elementi attivi |
Propaga a catena - Nessun elemento |
Ad esempio, se crei una nuova tabella personalizzata e aggiungi una relazione di tabella 1:N con la tabella account in cui la tabella personalizzata è la tabella correlata, puoi configurare le azioni per tale relazione di tabella per utilizzare le opzioni nella colonna Con elemento padre. Se in seguito aggiungi un'altra relazione di tabella 1:N alla tabella personalizzata come tabella di riferimento, puoi configurare solo le azioni per utilizzare le opzioni nella colonna Senza elemento padre.
In genere ciò significa che per ogni coppia di tabella esiste una sola relazione con elemento padre. Esistono alcuni casi in cui il valore di ricerca sulla tabella correlata può consentire una relazione a più di un tipo di tabella.
Ad esempio, se una tabella include un valore di ricerca cliente che può fare riferimento a un contatto o alla tabella account. Esistono due relazioni di tabella 1:N con elemento padre separate.
Una qualsiasi tabella impegni ha un set simile di relazioni di tabella con elemento padre che può essere associato utilizzando la colonna di ricerca in questione.
Limitazioni ai comportamenti che è possibile impostare
A causa delle relazioni con elemento padre, esistono alcune limitazioni da tenere presente quando vengono definite relazioni di tabella.
- Una tabella personalizzata non può essere la tabella primaria in una relazione con una tabella di sistema correlata con comportamento a catena. Ciò significa che non è possibile avere una relazione con azioni impostate su Esegui a catena su tutti i record, Esegui a catena sui record attivi o Esegui a catena sui record di proprietà dell'utente tra una tabella personalizzata primaria e una tabella di sistema correlata.
- Nessuna nuova relazione può avere azioni impostate su Esegui a catena su tutti i record, Esegui a catena sui record attivi o Esegui a catena sui record di proprietà dell'utente se la tabella correlata di quella relazione esiste già come tabella correlata di un'altra relazione che ha azioni impostate su Esegui a catena su tutti i record, Esegui a catena sui record attivi o Esegui a catena sui record di proprietà dell'utente. Ciò evita la creazione di relazioni che danno luogo a relazioni con più elementi principali.
Pulizia dei diritti di accesso ereditati
L'utilizzo dei comportamenti a cascata Associa con un nuovo elemento padre e Condividi è utile quando si desidera fornire l'accesso alle righe nelle tabelle correlate. Ma può esserci un cambiamento nel processo o nella progettazione che richiede una modifica delle impostazioni del comportamento a cascata.
Quando una relazione tra tabelle utilizza Associa con un nuovo elemento padre o Condividi e il comportamento a cascata viene modificato in Non eseguire a catena, la relazione tra le tabelle impedisce l'esecuzione a catena di qualsiasi nuova modifica alle autorizzazioni con le tabelle figlio correlate. Inoltre, le autorizzazioni ereditate che sono state concesse mentre il comportamento a cascata era attivo devono essere revocate.
La pulizia dei diritti di accesso ereditati è un lavoro di sistema che ripulisce i diritti di accesso ereditati legacy che rimangono dopo che il comportamento a cascata è stato modificato in Non eseguire a catena. Questa pulizia non interesserà alcun utente a cui è stato concesso l'accesso diretto a una tabella, ma rimuoverà l'accesso da chiunque abbia ricevuto l'accesso solo tramite l'ereditarietà.
Ecco come funziona la pulizia dei diritti di accesso ereditati:
- Identifica e raccoglie tutte le tabelle che erano in una relazione a cascata con il padre aggiornato.
- Identifica e raccoglie gli utenti a cui è stato concesso l'accesso alle tabelle correlate tramite accesso ereditato.
- Verifica se sono presenti utenti a cui è stato concesso l'accesso diretto a una tabella correlata e li rimuove dalla raccolta.
- Rimuove l'accesso ereditato per gli utenti raccolti nelle tabelle raccolte.
Dopo l'esecuzione della pulizia, gli utenti che erano in grado di accedere alle tabelle correlate solo grazie alla funzionalità di esecuzione a cascata non possono più accedere alle righe, garantendo una maggiore sicurezza. Ci sono casi in cui la pulizia potrebbe non avere successo. Altre informazioni su come pulire i diritti di accesso ereditati
Vedi anche
Monitorare i processi di sistema
Creare e modificare relazioni 1:N (uno-a-molti) o N:1 (molti-a-uno)
Creare relazioni di tabella molti a molti (N:N)
Nota
Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)
Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).