Relații tabele

Relațiile de tabel definesc modul în care rândurile pot fi corelate între ele în baza de date. La nivelul cel mai simplu, adăugarea unei coloane de căutare pentru un tabel creează o nouă relație 1:N (unul-la-mai-mulți) între cele două tabele și vă permite să amplasați coloana de căutare respectivă într-un formular. Cu coloana de căutare, utilizatorii pot asocia mai multe rânduri fiice ale tabelului respectiv la un singur rând părinte al tabelului.

Pe lângă faptul că definesc modul în care rândurile pot fi corelate cu alte rânduri, relațiile de tabel N:1 oferă de asemenea date pentru a răspunde la următoarele întrebări:

  • Când șterg un rând, ar trebui șterse și rândurile legate de acel rând?
  • Atunci când atribui un rând, trebuie să atribui noului proprietar toate rândurile corelate cu rândul respectiv?
  • Cum pot dinamiza procesul de introducere a datelor atunci când creez un nou rând corelat în contextul unui rând existent?
  • Cum pot persoanele care vizualizează un rând să vizualizeze rândurile corelate?

Tabelele pot de asemenea să participe într-o relație N:N (mai mulți-la-mai-mulți) dacă există un număr de rânduri pentru două tabele care pot fi corelate între ele.

Decideți dacă este necesar să utilizați relațiile de tabel sau conexiunile

Relațiile de tabel sunt metadate care aduc modificări în baza de date. 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 un tabel sau care pot fi utilizate pentru majoritatea rândurilor. De exemplu, o oportunitate fără un potențial client nu ar fi utilă. Tabelul Oportunitate are de asemenea o relație N:N cu tabelul Concurent. Acest lucru permite adăugarea mai multor concurenți la oportunitate. Aveți posibilitatea de a captura aceste date și a crea un raport care listează concurenții.

Există și tipuri mai puțin formale de relații între rânduri, care se numesc conexiuni. De exemplu, poate fi util să știți dacă două persoane de contact sunt căsătorite sau poate că sunt prieteni în afara locului de muncă sau poate dacă un contact a lucrat pentru un alt cont. Majoritatea companiilor nu vor genera rapoarte folosind acest tip de informații sau nu vor solicita introducerea acestora, deci probabil că nu merită să creați relații între tabele. Mai multe informații: Configurarea rolurilor de conexiune

Tipuri de relații de tabel

Când examinați exploratorul de soluții, 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 (unul-la-mai-mulți) O relație de tabel în care un rând de tabel pentru Tabelul principal poate fi asociat cu multe alte rânduri Tabel corelat din cauza unei coloane de căutare pe tabelul corelat.

Când vizualizați un rând de tabel principal, puteți vedea o listă a rândurilor de tabel asociate cu acesta.

În portalul Power Apps, Tabelul curent reprezintă tabelul primar.
N:N (mai mulți-la-mai mulți) O relație de tabel care depinde de un Tabel relație special, numit uneori tabel de intersectare, astfel încât mai multe rânduri ale unui tabel pot fi corelate cu mai multe rânduri ale unui alt tabel.

Când vizualizați rânduri ale oricărui tabel dintr-o relație N:N, puteți vedea o listă cu toate rândurile din celălalt tabel care sunt asociate cu acesta.

Relația N:1 (mulți-la-unul) există în interfața utilizatorului deoarece proiectantul vă afișează o vizualizare grupată după tabele. Relațiile 1:N există în realitate între tabele și se referă la fiecare tabel ca fie un Tabel principal/curent sau Tabel corelat. Tabelul corelat, denumit uneori tabel fiică, are o coloană de căutare care permite stocarea unei referințe la un rând de la tabelul principal, denumit uneori tabel mamă. O relație N:1 este doar o relație 1:N vizualizată din tabelul corelat.

Comportament relație tabel

Comportamentele pentru tabele corelate sunt importante deoarece asigură integritatea datelor și pot automatiza procesele de afaceri pentru compania dumneavoastră.

Păstrarea integrității datelor

Unele tabele există pentru a sprijini alte tabele. Ele nu au sens pe cont propriu. De obicei, vor avea o coloană de căutare obligatorie pentru a crea o legătură la 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 firma dvs. Informații suplimentare: Adăugarea comportamentului complex al relațiilor

Automatizarea proceselor de business

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 momentan unui alt agent de vânzări. Fiecare rând de cont poate avea un număr de acțiuni asociate cu acesta. Aveți posibilitatea să localizați cu ușurință conturile active pe care doriți să le reatribuiți și să le atribuiți noului agent de vânzări. Dar ce ar trebui să se întâmple cu orice acțiune care este asociată 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 sarcinile atribuite momentan fostului proprietar de conturi.

Relația poate controla modul în care acțiunile efectuate asupra unui rând pentru rândul de tabel principal se leagă descendent în cascadă cu orice rânduri de tabel corelat.

Comportamente

Există mai multe tipuri de comportamente care pot fi aplicate atunci când apar anumite acțiuni.

Comportament Descriere
În cascadă cele active Efectuați acțiunea pentru toate rândurile de tabel corelat active.
Toate în cascadă Efectuați acțiunea pentru toate rândurile de tabel corelat.
Niciuna în cascadă Nu efectuați nicio acțiune.
Eliminare link Eliminați valoarea de căutare pentru toate rândurile corelate.
Restricționare Împiedicați ștergerea rândului de tabel principal atunci când există rânduri de tabel corelate.
În cascadă cele deținute de utilizator Efectuați acțiunea pentru toate rândurile de tabel corelate deținute de către același utilizator ca rând de tabel principal.

Acțiuni

Acestea sunt acțiunile care pot declanșa anumite comportamente:

Column Descriere Opțiuni
Atribuire Ce ar trebui să se întâmple când rândul de tabel principal este atribuit altcuiva? Afișare în cascadă - toate elementele
Afișare în cascadă - elemente active
În cascadă deținute de utilizator
Niciuna în cascadă
Reconectare Ce ar trebui să se întâmple atunci când valoarea de căutare pentru o relație de subordonare din tabelul principal este schimbată?
Informații suplimentare: Relații de tabel subordonate
Afișare în cascadă - toate elementele
Afișare în cascadă - elemente active
În cascadă deținute de utilizator
Afișare în cascadă - niciunul
Partajare Ce ar trebui să se întâmple când rândul de tabel principal este partajat? Afișare în cascadă - toate elementele
Afișare în cascadă - elemente active
În cascadă deținute de utilizator
Afișare în cascadă - niciunul
Ştergere Ce ar trebui să se întâmple când rândul de tabel principal este șters? Afișare în cascadă - toate elementele
Eliminare link
Restricționare
Nepartajare 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
În cascadă deținute de utilizator
Afișare în cascadă - niciunul
Îmbinare Ce ar trebui să se întâmple când un rând de tabel principal este îmbinat? Afișare în cascadă - toate elementele
Afișare în cascadă - niciunul
Vizualizare cumulare Ce este comportamentul dorit de vizualizare cumulare asociat cu această relație? Toate în cascadă
În cascadă cele active
În cascadă deținute de utilizator
Niciuna în cascadă

Notă

Acțiunile de alocare, ștergere, îmbinare și reparent nu se vor executa î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 unui 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ă

Notă

Atunci când executați o atribuire, orice fluxuri de lucru sau reguli de business care sunt active în prezent pe rânduri vor fi dezactivate automat atunci când are loc reatribuirea. Noul proprietar al rândului va trebui să reactiveze fluxul de lucru sau regula de business, dacă dorește să le utilizeze în continuare.

Relații de tabel subordonate

Fiecare pereche de tabele care sunt eligibile pentru a avea o relație de 1:N poate avea mai multe relații 1:N între ele. Totuși, de obicei, doar una dintre aceste relații poate fi considerată o relație tabel subordonată.

O relație tabel subordonată este orice relație de tabel 1:N în cazul în care una dintre multiplicarea opțiunilor în coloana Subordonat din tabelul de mai jos este adevărată.

Acțiune De subordonare Neparental
Atribuire Toate în cascadă
În cascadă deținute de utilizator
În cascadă cele active
Niciuna în cascadă
Ștergere Toate în cascadă Eliminați legătura
Restricționare
Reconectare Toate în cascadă
În cascadă deținute de utilizator
În cascadă cele active
Niciuna în cascadă
Partajare Toate în cascadă
În cascadă deținute de utilizator
În cascadă cele active
Niciuna în cascadă
Nepartajare Toate în cascadă
În cascadă deținute de utilizator
Afișare în cascadă - elemente active
Afișare în cascadă - niciunul

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 cazul în care tabelul dumneavoastră particularizat este tabelul corelat, puteți configura acțiunile pentru acea relație de tabel să utilizați opțiunile din coloana Subordonat. Dacă ulterior adăugați o altă relație de tabel 1:N cu tabelul dumneavoastră particularizat ca tabel de corelare puteți configura doar acțiuni pentru a utiliza opțiuni în coloana Nesubordonat.

De obicei, acest lucru înseamnă că pentru fiecare pereche de mese există o singură relație parentală. Există unele cazuri în care căutarea pe tabelul corelat poate permite o relație cu mai mult de un tip de tabel.

De exemplu, dacă un tabel are o interogare de client care poate face referire fie la un contact, fie la un tabel de cont. Există două relații de tabel 1:N subordonate separate.

Orice tabel de activitate are un set similar de relații subordonate tabel pentru tabelele care pot fi asociate utilizând coloana de căutare referitor la.

Limitările de comportamente pe care le puteți seta

Din cauza relațiilor parentale există unele limitări de care ar trebui să țineți cont atunci când definiți relațiile de tabel.

  • Un tabel particularizat nu poate fi tabelul principal într-o relație cu un tabel de sistem corelat în cascadă. Acest lucru înseamnă că nu aveți posibilitatea să dețineți o relație cu o acțiune setată la Toate în cascadă, În cascadă cele active, sau În cascadă cele deținute de utilizator între un tabel particularizat principal și un tabel de sistem corelat.
  • Nicio relație nouă nu poate avea nicio acțiune setată la Toate în cascadă, În cascadă cele active, sau În cascadă cele deținute de utilizator dacă tabelul corelat din relația respectivă există deja ca tabel corelat în altă relație care are o acțiune setată la Toate în cascadă, În cascadă cele active, sau În cascadă cele deținute 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ă Reparent și Share este utilă atunci când doriți să oferiți acces la rândurile din tabelele asociate. Dar poate exista o schimbare în proces sau design care necesită o schimbare a setărilor de comportament în cascadă.

Atunci când o relație de tabel utilizează Reparent sau Share și comportamentul în cascadă este modificat la Cascade None, relația de tabel împiedică orice modificări noi de permisiune să se transforme în cascadă la tabelele fiu 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 schimbat în Cascade None. Această curățare nu va afecta niciun utilizator căruia i s-a acordat acces direct la un tabel, dar va elimina accesul oricărei persoane care a primit acces numai prin moștenire.

Acesta este modul în care funcționează curățarea drepturilor de acces moștenite:

  1. Identifică și colectează toate tabelele care se aflau într-o relație în cascadă cu părintele actualizat.
  2. Identifică și colectează utilizatorii cărora li s-a acordat accesul la tabelele corelate prin acces moștenit.
  3. Verifică utilizatorii cărora li s-a acordat acces direct la un tabel corelat și îi elimină din colecție.
  4. Elimină accesul moștenit pentru utilizatorii colectați pe tabelele colectate.

După executarea curățării, utilizatorii care au putut accesa tabelele corelate numai din cauza caracteristicii în cascadă nu mai pot accesa rândurile, asigurând o securitate mai mare. Există cazuri în care curățarea poate să nu aibă succes. Aflați mai multe despre cum să curățați accesul moștenit

Consultați și

Monitorizarea lucrărilor de sistem
Creați și editați relațiile 1:N (unu-la-mulți) sau N:1 (mulți-la-unu)
Crearea relațiilor între tabele de tip mai-multe-la-mai-multe (N:N)

Notă

Ne puteți spune care preferințele dvs. lingvistice pentru documentație? Răspundeți la un chestionar scurt. (rețineți că acest chestionar este în limba engleză)

Chestionarul va dura aproximativ șapte minute. Nu sunt colectate date personale (angajament de respectare a confidențialității).