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 să fie ș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 pentru a prelua datele aferente în mod eficient. 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 serviciului, sau poate o persoană de contact folosită pentru a lucra pentru alt cont. Majoritatea companiilor nu vor genera rapoarte folosind acest tip de informații sau nu vor solicita introducerea acestora, așa că probabil că nu merită să creați relații de tabel. 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 care sunt 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ândurile oricărui tabel într-o relație N:N, puteți vedea o listă a oricăror rânduri ale celuilalt tabel care sunt legate de 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, aceștia vor avea o coloană de căutare necesară pentru a se conecta la tabelul principal pe care îl acceptă. Ce ar trebui să se întâmple când un rând principal este șters?
Puteți folosi comportamentul relației pentru a defini ce se întâmplă cu rândurile aferente conform regulilor pentru afacerea dvs. Mai multe informații: Adăugați un comportament de relație avansat
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 sarcini 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, aceasta înseamnă că pentru fiecare pereche de masă 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 în cascadă 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ă.
Când o relație de tabel folosește Reparent sau Share, iar comportamentul în cascadă este modificat în Niciunul în cascadă, relația tabelă împiedică orice modificare a permisiunii noi de a trece în cascadă în tabelele secundare aferente. Î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 sarcină de sistem care curăță drepturile de acces moștenite, care rămân după ce comportamentul în cascadă este schimbat în Cascade Niciunul. Această curățare nu va afecta niciun utilizator căruia i-a fost acordat direct acces la un tabel, dar va elimina accesul de la oricine a primit acces numai prin moștenire.
Acesta este modul în care funcționează curățarea drepturilor de acces moștenite:
- Identifică și colectează toate tabelele care se aflau într-o relație în cascadă cu părintele actualizat.
- Identifică și colectează utilizatorii cărora li s-a acordat accesul la tabelele corelate prin acces moștenit.
- Verifică utilizatorii cărora li s-a acordat acces direct la un tabel corelat și îi elimină din colecție.
- 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 reușească. 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).