Odnosi tablice
Napomena
Na snazi od studenog 2020.:
- Common Data Service preimenovan je u Microsoft Dataverse. Saznajte više
- Neka je terminologija u usluzi Microsoft Dataverse ažurirana. Na primjer, sada je entitet preimenovan u tablica, a polje u stupac. Saznajte više
Ovaj će se članak uskoro ažurirati kako bi sadržavao najnoviju terminologiju.
Odnosi tablice određuju način međusobnog povezivanja redaka u bazi podataka. Na najjednostavnijoj razini, dodavanjem stupca pretraživanja tablici stvara se novi odnos 1:N (jedan na više) između dvije tablice i omogućuje vam postavljanje tog stupca pretraživanja u obrazac. Pomoću stupca pretraživanja korisnici mogu povezati više podređenih redaka te tablice u jedan nadređeni redak tablice.
Osim definiranja načina povezivanje redaka s drugim recima, odnosi tablice 1:N pružaju i podatke za rješavanje sljedećih pitanja:
- Kada izbrišem redak, brišu li se i svi reci povezani s tim retkom?
- Kada dodijelim redak, trebam li i dodijeliti sve retke povezane s tim retkom novom vlasniku?
- Kako mogu poboljšati proces unosa podataka kada stvorim novi povezani redak u kontekstu postojećih redaka?
- Kako osobe koje gledaju redak mogu vidjeti povezane retke?
Reci mogu sudjelovati i u odnosu N:N (više na više) u kojemu se međusobno mogu povezati svi reci dvije tablice.
Odlučite želite li koristiti odnose ili veze tablice
Odnosi tablice predstavljaju metapodatke koji unose izmjene u bazu podataka. Ti odnosi omogućuju upite za učinkovito dohvaćanje povezanih podataka. Odnose tablice upotrijebite za određivanje formalnih odnosa koji definiraju tablice ili ono što većina redaka može upotrebljavati. Na primjer, prilika bez potencijalnog klijenta ne bi bila vrlo korisna. Tablica mogućnosti sadrži i odnos N:N s tablicom Konkurent. Ovo omogućuje dodavanje velikog broja konkurenata odnosu prilika. Možda želite zabilježiti podatke i stvoriti zapis koji prikazuje konkurente.
Postoje i manje formalne vrste odnosa između redaka koje se zovu veze. Primjerice, možda je dobro znati jesu li dva kontakta u braku, jesu li možda prijatelji ili je li kontakt prije radio za neki drugi račun. Većina tvrtki neće stvoriti izvještaje pomoću ove vrste podataka ili zahtijevati unos takvih podataka, tako da stvaranje odnosa tablica vjerojatno nije izvedivo. Dodatne informacije: Konfiguriranje uloga povezivanja
Vrste odnosa tablice
Kada upotrebljavate preglednik rješenja, možda ćete pomisliti da postoje tri vrste odnosa tablica. Postoje samo dvije vrste, kao što je prikazano u sljedećoj tablici.
| Vrsta odnosa | Opis |
|---|---|
| 1:N (jedan na više) | Odnos tablice gdje se jedan redak tablice za Primarnu tablicu može povezati s mnogim drugim recima Povezane tablice zbog stupca pretraživanja na povezanoj tablici. Kada gledate primarni redak tablice, možete vidjeti popis redaka povezane tablice s kojim je povezan. Na portalu Power Apps, Trenutačni entitet predstavlja primarnu tablicu. |
| N:N (više na više) | Odnos između tablice koji ovisi o posebnoj Tablici odnosa, nazivanoj i unakrsna tablica, tako da mnogi reci jedne tablice mogu biti povezani s brojnim recima druge tablice. Kada retke bilo koje tablice u odnosu u N:N, možete vidjeti popis svih zapisa svih redaka druge tablice koja je povezana s njime. |
Vrsta odnosa N:1 („više na jedan”) postoji u korisničkom sučelju preglednika zato što dizajner sadrži prikaz grupiran po tablicama. Odnosi 1:N stvarno postoje između tablica i odnosi se prema svakoj tablici kao Primarnoj/trenutačnoj tablici ili Povezanoj tablici. Povezana tablica koja se ponekad naziva podređena tablica sadrži stupac pretraživanja koji omogućuje pohranu retka iz primarne tablice koja se naziva i nadređena tablica. Odnos N:1 samo je odnos 1:N prikazan putem povezane tablice.
Ponašanje odnosa tablice
Ponašanja za povezane tablice važni su jer pomažu osigurati cjelovitost podataka i mogu automatizirati poslovne procese za vašu tvrtku.
Očuvanje cjelovitosti podataka
Neke tablice postoje da bi podržavale druge tablice. Zasebno nemaju svrhu. Obično će imati potreban stupac pretraživanja da bi se povezali s primarnom tablicom koju podržavaju. Što se zbiva kada se izbriše primarni redak?
Ponašanje odnosa možete koristiti za definiranje toga prema pravilima za vaše poslovanje. Postoje dvije mogućnosti:
- Spriječite brisanje primarne tablice tako da se reci povezane tablice mogu uskladiti, možda njihovim povezivanjem s nekom drugom primarnom tablicom.
- Dopustite povezanim tablicama da se automatski izbrišu brisanjem retka primarne tablice.
Ako povezana tablica ne podržava primarnu tablicu, možete dopustiti brisanje primarne tablice i izbrisat će se vrijednost pretraživanja.
Automatiziranje poslovnih procesa
Pretpostavimo da imate novog prodajnog predstavnika i želite mu dodijeliti određeni broj postojećih računa koji su trenutno dodijeljeni drugom prodajnom predstavniku. Redak svakog računa može sadržavati određeni broj aktivnosti zadatka koje su povezane s njim. Možete jednostavno pronaći željene aktivne račune i dodijeliti ih novom prodajnom predstavniku. No što će se dogoditi aktivnostima zadataka koje su bile povezane s računima? Želite li otvoriti svaki zadatak i odlučiti o dodjeli novom prodajnom predstavniku? Vjerojatno ne. Umjesto toga možete omogućiti da odnos automatski primijeni neka standardna pravila. Ova pravila primjenjuju se samo na retke zadatka povezane s računima koje ponovno dodjeljujete. Mogućnosti su:
- Ponovno dodijelite sve aktivne zadatke.
- Ponovno dodijelite sve zadatke.
- Nemojte ponovno dodijeliti ni jedan zadatak.
- Ponovno dodijelite sve aktivne zadatke dodijeljenje bivšem vlasniku računa.
Odnos može kontrolirati način na koji se akcije koje se izvode na retku za kaskadnog retka primarne tablice entiteta pa sve do bilo kojeg retka povezane tablice.
Ponašanja
Postoji nekoliko vrsta ponašanja koja se mogu primijeniti za određene akcije.
| Ponašanje | Opis |
|---|---|
| Kaskadni prijenos aktivnih | Akcija se izvodi na svim aktivnim recima povezane tablice. |
| Kaskadni prijenos svih | Akcija se izvodi na svim recima povezane tablice. |
| Bez kaskadnog prijenosa | Ništa se ne izvodi. |
| Ukloni vezu | Uklanja se vrijednost pretraživanja za sve povezane retke. |
| Ograniči | Sprječava se brisanje retka primarne tablice ako postoje reci povezane tablice. |
| Kaskadni prijenos korisničkih | Izvršava se akcija na svim recima povezane tablice u vlasništvu korisnika koji je ujedno i vlasnik retka primarne tablice. |
Akcije
Ovo su akcije koje mogu aktivirati određena ponašanja:
| Column | Opis | Mogućnosti |
|---|---|---|
| Dodjela | Što se zbiva kada se redak primarne tablice dodijeli nekom drugom? | Kaskadno sve Kaskadno aktivno Kaskadni prijenos korisničkih Bez kaskadnog prijenosa |
| Ponovno postavljanje nadređenog | Što se zbiva ako se promijeni vrijednost pretraživanja povezane tablice u nadređenom odnosu? Dodatne informacije: Odnosi nadređene tablice |
Kaskadno sve Kaskadno aktivno Kaskadni prijenos korisničkih Kaskadno nijedno |
| Zajedničko korištenje | Što se zbiva kada se dijeli redak primarne tablice? | Kaskadno sve Kaskadno aktivno Kaskadni prijenos korisničkih Kaskadno nijedno |
| Brisanje | Što se zbiva kada se izbriše redak primarne tablice? | Kaskadno sve Ukloni vezu Ograniči |
| Prekid zajedničkog korištenja | Što se zbiva kada se poništi dijeljenje retka primarne tablice? | Kaskadno sve Kaskadno aktivno Kaskadni prijenos korisničkih Kaskadno nijedno |
| Spajanje | Što se zbiva kada se spoji redak primarne tablice? | Kaskadno sve Kaskadno nijedno |
| Prikaz skupne vrijednosti | Koje je željeno ponašanje za prikaz skupne vrijednosti pridružen odnosu? | Kaskadni prijenos svih Kaskadni prijenos aktivnih Kaskadni prijenos korisničkih Bez kaskadnog prijenosa |
Napomena
Radnje dodjele, brisanja, spajanja i ponovno postavljanje nadređenog neće se izvršiti u sljedećim situacijama:
- Ako izvorni nadređeni redak i tražena radnja sadrže iste vrijednosti. Primjer: pokušaj pokretanja dodjele i odabir kontakta koji je već vlasnik retka
- Pokušaj izvođenja radnje na nadređenom retku koji već izvodi kaskadnu akciju
Napomena
Pri izvršavanju dodjele, svi tijekovi rada ili poslovna pravila koja su trenutačno aktivna u redovima automatski će se deaktivirati kada dođe do preraspodjele. Novi vlasnik retka morat će ponovno aktivirati tijek rada ili poslovno pravilo ako ga želi i dalje upotrebljavati.
Odnosi nadređene tablice
Svaki par tablica koji ispunjava uvjete za odnos 1:N, može međusobno imati više odnosa 1:N. No obično se samo jedan od tih odnosa može smatrati nadređenim odnosom tablica.
Nadređeni odnos tablica bilo je koji odnos tablica 1:N za koji je istinita jedna od mogućnosti kaskadnog prijenosa u stupcu Nadređeni u sljedećoj tablici.
| Akcija | Nadređeni | Nije nadređeni |
|---|---|---|
| Dodjela | Kaskadni prijenos svih Kaskadni prijenos korisničkih Kaskadni prijenos aktivnih |
Bez kaskadnog prijenosa |
| Brisanje | Kaskadni prijenos svih | Ukloni vezu Ograniči |
| Ponovno postavljanje nadređenog | Kaskadni prijenos svih Kaskadni prijenos korisničkih Kaskadni prijenos aktivnih |
Bez kaskadnog prijenosa |
| Zajedničko korištenje | Kaskadni prijenos svih Kaskadni prijenos korisničkih Kaskadni prijenos aktivnih |
Bez kaskadnog prijenosa |
| Prekid zajedničkog korištenja | Kaskadni prijenos svih Kaskadni prijenos korisničkih Kaskadno aktivno |
Kaskadno nijedno |
Primjerice, ako stvorite novu prilagođenu tablicu i dodate odnos tablice 1:N za tablicu računa u kojem je vaša prilagođena tablica povezana tablica, možete konfigurirati akcije za taj odnos tablice tako da koriste mogućnosti u stupcu Nadređeni. Ako kasnije dodate drugi odnos tablice 1:N za prilagođenu tablicu kao referentnu tablicu, akcije možete konfigurirati samo tako da koriste mogućnosti u stupcu Nije nadređeni.
To obično znači da za svaki par tablica postoji samo jedan nadređeni odnos. U nekim slučajevima pretraživanje u povezanoj tablici može dopustiti odnos s više od jedne vrste tablice.
Na primjer, ako neki tablica ima pretraživanje Klijent koje se može odnositi na tablicu kontakta ili računa. Postoje dva zasebna nadređena odnosa tablice 1:N.
Svaki tablica aktivnosti sadrži sličan skup nadređenih odnosa tablice za tablice koje se mogu povezati pomoću odgovarajućeg stupca pretraživanja.
Ograničenja postavljenih ponašanja
Zbog nadređenih odnosa postoje neka ograničenja koja morate imati na umu prilikom određivanja odnosa tablica.
- Prilagođena tablica ne može biti primarna tablica u odnosu s povezanom sistemskom tablicom koja se kaskadno slaže. To znači da ne možete imati odnos ni s jednom akcijom postavljenom na Kaskadno sve, Kaskadno za aktivne ili Kaskadno za korisničke između primarne prilagođene tablice i povezane sistemske tablice.
- Nijedan novi odnos ne može imati akciju postavljenu na Kaskadno za sve, Kaskadno za aktivne ili Kaskadno za korisničke ako povezana tablica u tom odnosu već postoji kao povezana tablica u nekom drugom odnosu koji ima neku akciju postavljenu na Kaskadno za sve, Kaskadno za aktivne ili Kaskadno za korisničke. Na taj se način izbjegavaju odnosi koji stvaraju odnose s više nadređenih.
Čišćenje naslijeđenih prava pristupa
Upotreba kaskadnog ponašanja Ponovno postavljanje nadređenog i dijeljenje korisna je kada želite omogućiti pristup recima u povezanim tablicama. Ali može doći do promjene procesa ili dizajna koja zahtijeva promjenu postavki kaskadnog ponašanja.
Kada odnos tablice upotrebljava Ponovno postavljanje nadređenog i dijeljenje, a kaskadno se ponašanje promijeni iz Kaskadno sve do Kaskadno ništa, odnos tablice sprječava kaskadno mijenjanje novih dopuštenja na povezane podređene tablice. Osim toga, nasljeđene dozvole koje su dodijeljene dok je kaskadno ponašanje bilo aktivno moraju se opozvati.
Čišćenje naslijeđenih prava pristupa je posao sustava koji čisti naslijeđena prava pristupa koja ostaju nakon promjene kaskadnog ponašanja iz Kaskadni prijenos svih u Bez kaskadnog prijenosa. Ovo čišćenje neće utjecati ni na jednog korisnika kojem je izravno odobren pristup tablici, ali će ukloniti pristup svima koji su pristup dobili nasljeđivanjem.
Napomena
Trenutno je za pokretanje čišćenja naslijeđenih prava pristupa potrebna upotreba Web API-ja. Dodatne informacije: Akcija CreateAsyncJobToRevokeInheritedAccess
Evo kako funkcionira čišćenje naslijeđenih prava pristupa:
Identificira i prikuplja sve tablice koje su bile u kaskadnom odnosu s ažuriranim nadređenim elementom.
Identificira i prikuplja korisnike kojima je odobren pristup povezanim tablicama putem naslijeđenog pristupa.
Provjerava korisnike koji su dobili izravan pristup povezanoj tablici i uklanja ih iz zbirke.
Uklanja naslijeđeni pristup za prikupljene korisnike na prikupljenim tablicama.
Nakon izvođenja čišćenja korisnici koji su mogli pristupiti povezanim tablicama samo zbog kaskadne značajke više ne mogu pristupiti recima čime se osigurava veća sigurnost.
Pogledajte također
Nadziranje i upravljanje poslovima sustava
Stvaranje i uređivanje odnosa 1:N („jedan na više”) ili odnosa N:1 („više na jedan”)
Stvaranje pregleda odnosa više na više (N:N) tablica