Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Relațiile de tabel din Microsoft Dataverse definesc modurile în care rândurile de tabel pot fi asociate cu rânduri din alte tabele sau din același tabel. Există două tipuri de relații de tabel:
Relații unu-la-mai mulți
Într-o relație de tabel unu-la-mai-mulți, multe rânduri de tabel de referință (înrudite) pot fi asociate cu un singur rând de tabel (principal) la care se face referire. Rândul tabelului la care se face referire este uneori denumit "părinte", iar rândurile tabelului de referință sunt denumite "copii". O relație mai mulți-la-unu este doar perspectiva copilului unei relații unu-la-mulți.
De exemplu, într-un scenariu școlar, mai multe cursuri ar putea fi livrate într-o singură clasă, astfel încât masa clasei ar avea o relație unu-la-mai mulți cu masa de curs.
Relații mulți-la-mai mulți
Într-o relație de tabel mai mulți-la-mai-mulți, multe rânduri de tabel pot fi asociate cu multe alte rânduri de tabel. Rândurile legate folosind o relație mai-mulți-la-mai mulți pot fi considerate egale, iar relația este reciprocă.
De exemplu, în același scenariu școlar menționat mai devreme, un singur student se poate înscrie la mai multe cursuri și fiecare curs poate avea mai mulți studenți. Acest tip de relație permite asocieri de date mai complexe și este gestionat utilizând Power Apps în Dataverse.
Cum funcționează relațiile în Dataverse
Relațiile de tabel definesc modul în care rândurile de tabel pot fi legate între ele în Dataverse. La cel mai simplu nivel, adăugarea unei coloane de căutare la un tabel creează o nouă relație 1:N (unu-la-mai-mulți) între cele două tabele și vă permite să puneți acea coloană de căutare într-un formular. Cu coloana de căutare, utilizatorii pot asocia mai multe rânduri copil ale tabelului respectiv la un singur rând de tabel părinte .
Dincolo de simpla definire a modului în care rândurile pot fi legate de alte rânduri, relațiile de tabel 1:N oferă, de asemenea, date pentru a răspunde următoarelor întrebări:
- Când șterg un rând, ar trebui șterse și rândurile legate de acel rând?
- Când atribui un rând, trebuie să atribui și noului proprietar toate rândurile legate de acel rând?
- Cum pot simplifica procesul de introducere a datelor atunci când creez un nou rând asociat în contextul unui rând existent?
- Cum ar trebui persoanele care vizualizează un rând să poată vizualiza rândurile asociate?
Tabelele pot participa, de asemenea, la o relație N:N (mai-mulți-la-mai-mulți) în care orice număr de rânduri pentru două tabele pot fi asociate între ele.
Decideți dacă să utilizați relații de tabel sau conexiuni
Relațiile de tabel sunt metadate care fac modificări în Dataverse. Aceste relații permit interogărilor să preia eficient datele asociate. Utilizați relațiile de tabel pentru a defini relațiile formale care definesc tabelul sau pe care le pot utiliza majoritatea rândurilor. De exemplu, o oportunitate fără un potențial client nu ar fi utilă. Tabelul de oportunități din Dynamics 365 for Sales are, de asemenea, o relație N:N cu tabelul concurenților, disponibil și cu Dynamics 365 for Sales. Acest lucru permite adăugarea mai multor concurenți la oportunitate. Poate doriți să capturați aceste date și să creați un raport care să arate concurenții.
Există și alte tipuri mai puțin formale de relații între rânduri care se numesc conexiuni. De exemplu, ar putea fi util să știți dacă două persoane de contact sunt căsătorite sau poate sunt prieteni în afara serviciului sau poate dacă o persoană de contact lucra pentru un alt cont. Majoritatea companiilor nu vor genera rapoarte folosind acest tip de informații sau nu vor solicita ca acestea să fie introduse, așa că probabil că nu merită să creați relații de tabel. Informații suplimentare: Configurarea rolurilor de conexiune
Tipuri de relații de tabel
Când vizualizați relații în Power Apps, ați putea crede că există trei tipuri de relații de tabel. De fapt, există doar două, așa cum se arată în tabelul următor.
| Tip relație | Descriere |
|---|---|
| 1:N (Unu-la-Mulți) | O relație de tabel în care un rând de tabel pentru tabelul principal poate fi asociat la multe alte rânduri de tabel asociat din cauza unei coloane de căutare din tabelul asociat. Când vizualizați un rând de tabel principal, puteți vedea o listă a rândurilor de tabel asociate care sunt asociate cu acesta. În portalul Power Apps, tabelul curent reprezintă tabelul principal. |
| N:N (Mulți-la-Mulți) | O relație de tabel care depinde de un tabel special Relații, denumit uneori tabel Intersect, astfel încât mai multe rânduri dintr-un tabel să poată fi legate cu mai multe rânduri ale altui tabel. Când vizualizați rânduri ale oricărui tabel dintr-o relație N:N, puteți vedea o listă cu orice rânduri ale celuilalt tabel care sunt legate de acesta. |
Tipul de relație N:1 (mai mulți la unu) există în interfața cu utilizatorul, deoarece proiectantul vă arată o vizualizare grupată după tabele. 1:N relații există de fapt între tabele și se referă la fiecare tabel fie ca tabel primar/curent , fie ca tabel asociat. Tabelul asociat, uneori numit tabel copil , are o coloană de căutare care permite stocarea unei referințe la un rând din tabelul principal, uneori numit tabel părinte . O relație N:1 este doar o relație 1:N văzută din tabelul aferent.
Comportamentul relației de tabel
Comportamentele pentru tabelele asociate sunt importante, deoarece ajută la asigurarea integrității datelor și pot automatiza procesele de afaceri pentru dvs.
Păstrați integritatea datelor
Unele tabele există pentru a susține alte tabele. Nu au sens singure. De obicei, vor avea o coloană de căutare obligatorie pentru a se lega de tabelul principal pe care îl acceptă. Ce ar trebui să se întâmple când un rând principal este șters?
Puteți utiliza comportamentul relației pentru a defini ce se întâmplă cu rândurile asociate în conformitate cu regulile pentru afacerea dvs. Mai multe informații: Adăugați un comportament avansat în relații
Automatizați procesele de afaceri
Să presupunem că aveți un nou agent de vânzări și doriți să-i atribuiți un număr de conturi existente atribuite în prezent altui agent de vânzări. Fiecare rând de cont poate avea un număr de activități de activitate asociate. Puteți localiza cu ușurință conturile active pe care doriți să le reatribuiți și le puteți atribui noului agent de vânzări. Dar ce ar trebui să se întâmple pentru oricare dintre activitățile de activitate asociate cu conturile? Doriți să deschideți fiecare sarcină și să decideți dacă aceasta ar trebui, de asemenea, atribuită noului agent de vânzări? Probabil că nu. În schimb, puteți să lăsați relația să aplice automat câteva reguli standard pentru dvs. Aceste reguli se aplică numai rândurilor de activități asociate conturilor pe care le reatribuiți. Opțiunile dvs. sunt:
- Reatribuirea tuturor sarcinilor active.
- Reatribuirea tuturor sarcinilor.
- Reatribuirea a zero sarcini.
- Reatribuiți toate activitățile atribuite în prezent fostului proprietar al conturilor.
Relația poate controla modul în care acțiunile efectuate pe un rând pentru rândul tabelului principal se desfășoară în cascadă la orice rânduri de tabel asociate.
Comportamente
Există mai multe tipuri de comportamente care pot fi aplicate atunci când apar anumite acțiuni.
| Comportamentul | Descriere |
|---|---|
| Cascadă activă | Efectuați acțiunea pe toate rândurile de tabel asociate active. |
| Cascade Toate | Efectuați acțiunea pe toate rândurile de tabel asociate. |
| Cascada Niciuna | Nu efectuați nicio acțiune. |
| Eliminați legătura | Eliminați valoarea de căutare pentru toate rândurile asociate. |
| Restrânge | Împiedicați ștergerea rândului de tabel principal atunci când există rânduri de tabel asociate. |
| Cascade deținute de utilizator | Efectuați acțiunea pe toate rândurile de tabel asociate deținute de același utilizator ca și rândul de tabel principal. |
Acțiuni
Acestea sunt acțiunile care pot declanșa anumite comportamente:
| Column | Descriere | Opţiuni |
|---|---|---|
| Atribui | Ce ar trebui să se întâmple când rândul tabelului principal este atribuit altcuiva? | Afișare în cascadă - toate elementele Afișare în cascadă - elemente active Cascade Deținut de utilizator Niciuna în cascadă |
| Reparent | Ce ar trebui să se întâmple atunci când valoarea de căutare a unui tabel asociat într-o relație parentală este modificată? Informații suplimentare: Relații de tabel parental |
Afișare în cascadă - toate elementele Afișare în cascadă - elemente active Cascade Deținut de utilizator Niciuna în cascadă |
| Distribuie | Ce ar trebui să se întâmple când rândul tabelului principal este partajat? | Afișare în cascadă - toate elementele Afișare în cascadă - elemente active Cascade Deținut de utilizator Niciuna în cascadă |
| Ștergere | Ce ar trebui să se întâmple când rândul principal al tabelului este șters? | Afișare în cascadă - toate elementele Eliminați linkul Restricționare |
| Anulați distribuirea | Ce ar trebui să se întâmple când un rând de tabel principal nu este partajat? | Afișare în cascadă - toate elementele Afișare în cascadă - elemente active Cascade Deținut de utilizator Niciuna în cascadă |
| Îmbinați | Ce ar trebui să se întâmple când un rând de tabel principal este îmbinat? | Afișare în cascadă - toate elementele Niciuna în cascadă |
| Vizualizare cumulată | Care este comportamentul dorit al vizualizării de cumul asociat cu această relație? | Afișare în cascadă - toate elementele Afișare în cascadă - elemente active Cascade Deținut de utilizator Niciuna în cascadă |
Notă
Acțiunile Atribuire, Ștergere, Îmbinare și Repărinte nu se execută în următoarele situații:
- Dacă rândul părinte original și acțiunea solicitată conțin aceleași valori. Exemplu: Încercarea de a declanșa o atribuire și alegerea unei persoane de contact care este deja proprietarul rândului.
- Încercarea de a efectua o acțiune pe un rând părinte care rulează deja o acțiune în cascadă.
Când executați o atribuire, toate fluxurile de lucru sau regulile de business care sunt active în prezent pe rânduri sunt dezactivate automat atunci când are loc reatribuirea. Noul proprietar al rândului trebuie să reactiveze fluxul de lucru sau regula de afaceri dacă dorește să îl utilizeze în continuare.
Relații de masă parentală
Fiecare pereche de tabele care sunt eligibile pentru a avea o relație 1:N poate avea mai multe relații 1:N între ele. Cu toate acestea, de obicei, doar una dintre aceste relații poate fi considerată o relație parentală.
O relație de tabel parental este orice relație de tabel 1:N în care una dintre opțiunile în cascadă din coloana Parental a tabelului următor este adevărată.
| Acţiune | Părintesc | Nu este părinte |
|---|---|---|
| Atribui | Afișare în cascadă - toate elementele Cascade Deținut de utilizator Afișare în cascadă - elemente active |
Niciuna în cascadă |
| Ștergere | Afișare în cascadă - toate elementele | RemoveLink Restricționare |
| Reparent | Afișare în cascadă - toate elementele Cascade Deținut de utilizator Afișare în cascadă - elemente active |
Niciuna în cascadă |
| Distribuie | Afișare în cascadă - toate elementele Cascade Deținut de utilizator Afișare în cascadă - elemente active |
Niciuna în cascadă |
| Anulați distribuirea | Afișare în cascadă - toate elementele Cascade Deținut de utilizator Afișare în cascadă - elemente active |
Niciuna în cascadă |
De exemplu, dacă creați un nou tabel particularizat și adăugați o relație de tabel 1:N cu tabelul de cont în care tabelul particularizat este tabelul asociat, puteți configura acțiunile pentru acea relație de tabel pentru a utiliza opțiunile din coloana Parental . Dacă mai târziu adăugați o altă relație de tabel 1:N cu tabelul personalizat ca tabel de referință, puteți configura acțiunile doar pentru a utiliza opțiunile din coloana Nu parental .
De obicei, acest lucru înseamnă că pentru fiecare pereche de masă există o singură relație parentală. Există unele cazuri în care căutarea din tabelul asociat poate permite o relație cu mai multe tipuri de tabel.
De exemplu, dacă un tabel are o căutare de client care se poate referi fie la un tabel de contact, fie la un tabel de cont. Există două relații separate de tabel parental 1:N.
Orice tabel de activitate are un set similar de relații de tabele parentale pentru tabelele care pot fi asociate utilizând coloana de căutare referită.
Limitările de comportamente pe care le puteți seta
Din cauza relațiilor parentale, există unele limitări, pe care ar trebui să le țineți cont atunci când definiți relațiile de masă.
- Un tabel particularizat nu poate fi tabelul principal într-o relație cu un tabel de sistem asociat care se desfășoară în cascadă. Aceasta înseamnă că nu puteți avea o relație cu nicio acțiune setată la Cascadă toate, Cascadă activă sau Cascadă deținută de utilizator între un tabel particularizat principal și un tabel de sistem asociat.
- Nicio relație nouă nu poate avea nicio acțiune setată la Cascadă toate, Cascadă activă sau Cascadă deținută de utilizator dacă tabelul asociat din acea relație există deja ca tabel asociat într-o altă relație care are orice acțiune setată la Cascadă toate, Cascadă activă sau Cascadă deținută de utilizator. Astfel, se previn relațiile care creează o relație principală multiplă.
Curățarea drepturilor de acces moștenite
Utilizarea comportamentelor în cascadă Părințitor și Partajare este utilă atunci când doriți să oferiți acces la rânduri din tabelele asociate. Dar poate exista o schimbare în proces sau design care necesită o modificare a setărilor de comportament în cascadă.
Atunci când o relație de tabel utilizează Repărinte sau Partajare, iar comportamentul în cascadă este modificat în Niciunul în cascadă, relația de tabel împiedică orice modificare nouă a permisiunilor să se transforme în cascadă la tabelele secundare asociate. În plus, permisiunile moștenite care au fost acordate în timp ce comportamentul în cascadă era activ trebuie revocate.
Curățarea drepturilor de acces moștenite este o activitate de sistem care curăță drepturile de acces moștenite moștenite care rămân după ce comportamentul în cascadă este modificat în Cascadă niciunul. Această curățare nu afectează niciun utilizator căruia i s-a acordat acces direct la un tabel, dar elimină accesul de la oricine a primit acces doar prin moștenire.
Iată cum funcționează curățarea drepturilor de acces moștenite:
- Identifică și colectează toate tabelele care au fost într-o relație în cascadă cu părintele actualizat.
- Identifică și colectează utilizatorii cărora li s-a acordat acces la tabelele asociate prin acces moștenit.
- Verifică utilizatorii cărora li s-a acordat acces direct la un tabel asociat și îi elimină din colecție.
- Elimină accesul moștenit pentru utilizatorii colectați pe tabelele colectate.
După rularea curățării, utilizatorii care au putut accesa tabelele asociate doar datorită funcției în cascadă nu mai pot accesa rândurile, asigurând o securitate mai mare. Există cazuri în care curățarea ar putea să nu aibă succes. Aflați mai multe despre cum să curățați accesul moștenit
Consultați și
Monitorizați lucrările de sistem
Creați și editați relații 1:N (unu-la-mai-mulți) sau N:1 (mai mulți-la-unu)
Creați relații de tabel mai-mulți-la-mai mulți (N:N)