Belešku
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da se prijavite ili da promenite direktorijume.
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da promenite direktorijume.
Odnosi tabela u Microsoft Dataverse definišu načine na koje redovi tabele mogu biti povezani sa redovima iz drugih tabela ili iste tabele. Postoje dve vrste odnosa tabela:
Jedan-na-više odnosa
U odnosu tabele jedan-na-više, mnogi referentni (povezani) redovi tabele mogu biti povezani sa jednim referentnim (primarnim) redom tabele. Referentni red tabele se ponekad naziva "roditelj", a redovi referentne tabele se nazivaju "deca". Odnos mnogi-na-jedan je samo perspektiva deteta odnosa jedan-na-mnogi.
Na primer, u školskom scenariju više kurseva može biti isporučeno u jednoj učionici, tako da bi tabela klase imala odnos jedan-na-više sa tabelom kursa.
Mnogo-na-mnogo odnosa
U odnosu više-na-više tabela, mnogi redovi tabele mogu biti povezani sa mnogim drugim redovima tabele. Redovi koji se odnose korišćenjem odnosa mnogih-na-mnogo mogu se smatrati vršnjacima i odnos je recipročan.
Na primer, u istom školskom scenariju koji je ranije pomenut, jedan učenik može da se upiše na više kurseva, a svaki kurs može imati više učenika. Ova vrsta odnosa omogućava složenije asocijacije podataka i upravlja se pomoću Pover Apps u Dataverse.
Kako odnosi funkcionišu u Dataverse
Odnosi tabela definišu kako redovi tabele mogu biti povezani jedni sa drugima u Dataverse. Na najjednostavnijem nivou, dodavanje kolone za pretragu u tabelu stvara novi KSNUMKS: N (jedan-na-više) odnos između dve tabele i omogućava vam da stavite tu kolonu za pretragu na formular. Pomoću kolone za pretragu, korisnici mogu povezati više potomačkih redova te tabele u jedan red nadređene tabele.
Pored jednostavnog definisanja kako redovi mogu biti povezani sa drugim redovima, 1:N tabela odnosi takođe pružaju podatke za rešavanje sledećih pitanja:
- Kada izbrišem red, da li bi trebalo da se obrišu i redovi koji se odnose na taj red?
- Kada dodelim red, da li takođe treba da dodelim sve redove koji se odnose na taj red novom vlasniku?
- Kako mogu pojednostaviti proces unosa podataka kada kreiram novi povezani red u kontekstu postojećeg reda?
- Kako bi ljudi koji gledaju red mogli da vide povezane redove?
Tabele takođe mogu učestvovati u N:N (mnogo-na-mnoge) odnos gde bilo koji broj redova za dve tabele može biti povezan jedni sa drugima.
Odlučite da li da koristite odnose tabela ili veze
Odnosi tabela su metapodaci koji vrše promene u Dataverse. Ovi odnosi omogućavaju upitima da efikasno preuzmu povezane podatke. Koristite odnose tabele da biste definisali formalne odnose koji definišu tabelu ili koje većina redova može koristiti. Na primer, prilika bez potencijalnog kupca ne bi bila korisna. Tabela prilika u Dinamics 365 for Sales takođe ima N: N odnos sa tabelom konkurenta, takođe dostupna sa Dinamics 365 for Sales. Ovo omogućava da se više takmičara doda u priliku. Možda ćete želeti da snimite ove podatke i kreirate izveštaj koji prikazuje konkurente.
Postoje i druge manje formalne vrste odnosa između redova koji se nazivaju veze. Na primer, moglo bi biti korisno znati da li su dva kontakta u braku, ili su možda prijatelji van posla, ili možda kontakt koji se koristi za rad za drugi račun. Većina preduzeća neće generisati izveštaje koristeći ovu vrstu informacija ili zahtevati da se unese, tako da verovatno nije vredno stvarati odnose u tabelama. Dodatne informacije: Konfigurišite uloge veze
Vrste odnosa tabela
Kada pregledate odnose u Pover Apps-u, možda mislite da postoje tri vrste odnosa tabele. Zapravo postoje samo dva, kao što je prikazano u sledećoj tabeli.
| Tip odnosa | Opis |
|---|---|
| 1:N (jedan-na-mnogi) | Odnos tabele u kojoj se jedan red tabele za primarnu tabelu može povezati sa mnogim drugim redovima povezane tabele zbog kolone za pretragu u povezanoj tabeli. Kada pregledate red primarne tabele, možete videti listu povezanih redova tabele koji su povezani sa njim. Na portalu Pover Apps, Trenutna tabela predstavlja primarnu tabelu. |
| N:N (Mnogi-na-Mnogi) | Odnos tabele koji zavisi od posebne tabele odnosa, koja se ponekad naziva i tabela Intersect, tako da mnogi redovi jedne tabele mogu biti povezani sa mnogim redovima druge tabele. Kada pregledate redove bilo koje tabele u N:N odnosu, možete videti listu svih redova druge tabele koji su povezani sa njom. |
N :1 (više-na-jedan) tip odnosa postoji u korisničkom interfejsu jer vam dizajner prikazuje prikaz grupisan po tabelama. 1:N odnosi zapravo postoje između tabela i odnose se na svaku tabelu kao primarnu / trenutnu tabelu ili srodnu tabelu. Srodna tabela, ponekad nazvana potomačka tabela, ima kolonu za pretragu koja omogućava čuvanje reference na red iz primarne tabele, ponekad nazvanu nadređena tabela. Odnos N:1 je samo odnos 1:N posmatran iz srodne tabele.
Ponašanje odnosa u tabeli
Ponašanja za srodne tabele su važna jer pomažu u obezbeđivanju integriteta podataka i mogu automatizovati poslovne procese za vas.
Sačuvajte integritet podataka
Neke tabele postoje da podrže druge tabele. Oni sami po sebi nemaju smisla. Obično će imati potrebnu kolonu za pretragu za povezivanje sa primarnom tabelom koju podržavaju. Šta bi trebalo da se desi kada se izbriše primarni red?
Možete koristiti ponašanje odnosa da biste definisali šta se dešava sa povezanim redovima u skladu sa pravilima za vaše poslovanje. Više informacija: Dodajte napredno ponašanje odnosa
Automatizujte poslovne procese
Recimo da imate novog prodavca i želite da im dodelite broj postojećih naloga koji su trenutno dodeljeni drugom prodavcu. Svaki red naloga može imati niz aktivnosti zadataka povezanih sa njim. Možete lako da pronađete aktivne naloge koje želite da preraspodelite i dodelite ih novom prodavcu. Ali šta bi trebalo da se desi za bilo koju od aktivnosti zadataka koji su povezani sa računima? Da li želite da otvorite svaki zadatak i odlučite da li on takođe treba da se dodeli novom prodavcu? Verovatno ne želite. Umesto toga, možete da pustite da relacija automatski primeni neka standardna pravila. Ova pravila se primenjuju samo na redove zadataka koji su povezani sa nalozima koje ponovo dodeljujete. Imate sledeće opcije:
- Ponovo dodelite sve aktivne zadatke.
- Ponovo dodelite sve zadatke.
- Ne dodeljujte ponovo nijedan zadatak.
- Ponovo dodelite sve zadatke koji su trenutno dodeljeni bivšem vlasniku naloga.
Relacija može da kontroliše način na koji će obavljanje radnji na redu za red primarne tabele kaskadno uticati na sve redove povezane tabele.
Ponašanja
Evo nekoliko vrsta ponašanja koje je moguće primeniti kada dođe do određenih radnji.
| Ponašanje | Opis |
|---|---|
| Kaskada Aktivan | Izvršava ovu radnju na svim aktivnim redovima povezane tabele. |
| Kaskada Sve | Izvršava ovu radnju na svim redovima povezane tabele. |
| Kaskada Nijedan | Ne čini ništa. |
| Ukloni vezu | Uklanja vrednost za pronalaženje za sve povezane redove. |
| Ograničite | Sprečava brisanje redova primarne tabele kada postoje redovi povezane tabele. |
| Kaskada u vlasništvu korisnika | Izvršava radnju na svim redovima srodne tabele koja je u vlasništvu istog korisnika koji je vlasnik reda primarne table. |
Akcije
Ove radnje mogu da aktiviraju određena ponašanja:
| Column | Opis | Opcije |
|---|---|---|
| Dodelite | Šta treba da se dogodi kada je red primarne tabele dodeljen nekom drugom? | Kaskadno rasporedi sve Kaskadni raspored je aktivan Rasporedi kaskadno u vlasništvu korisnika Ne raspoređuj kaskadno nijedan |
| Pretraživanje | Šta treba da se dogodi kada se promeni vrednost za pronalaženje povezane tabele u nadređenoj relaciji? Dodatne informacije: Odnosi roditeljske tabele |
Kaskadno rasporedi sve Kaskadni raspored je aktivan Rasporedi kaskadno u vlasništvu korisnika Ne raspoređuj kaskadno nijedan |
| Delite | Šta treba da se dogodi kada se red primarne tabele deli? | Kaskadno rasporedi sve Kaskadni raspored je aktivan Rasporedi kaskadno u vlasništvu korisnika Ne raspoređuj kaskadno nijedan |
| Izbriši | Šta treba da se dogodi kada se red primarne tabele izbriše? | Kaskadno rasporedi sve Ukloni vezu Ograniči |
| Pretraživanje | Šta treba da se dogodi kada se onemogući deljenje reda primarne tabele? | Kaskadno rasporedi sve Kaskadni raspored je aktivan Rasporedi kaskadno u vlasništvu korisnika Ne raspoređuj kaskadno nijedan |
| Objedinjavanje | Šta treba da se dogodi kada se red primarne tabele objedini? | Kaskadno rasporedi sve Ne raspoređuj kaskadno nijedan |
| Rollup Pogledaj | Šta je željeno ponašanje prikaza zbirne vrednosti povezanog sa ovom relacijom? | Kaskadno rasporedi sve Kaskadni raspored je aktivan Rasporedi kaskadno u vlasništvu korisnika Ne raspoređuj kaskadno nijedan |
Belešku
Dodeli, Obriši, Stopi, i Ponovo nadređene akcije se ne izvršavaju u sledećim situacijama:
- Ako originalni roditeljski red i tražena akcija sadrže iste vrednosti. Primer: Pokušaj pokretanja Dodeljivanja i odabir kontakta koji je već vlasnik reda.
- Pokušaj izvođenja akcije na roditeljskom redu koji već pokreće kaskadnu akciju.
Prilikom izvršavanja dodeljivanja, svi tokovi posla ili poslovna pravila koja su trenutno aktivna u redovima se automatski deaktiviraju kada dođe do preraspoređivanja. Novi vlasnik reda mora ponovo aktivirati tok posla ili poslovno pravilo ako želi da nastavi da ga koristi.
Nadređene relacije između tabela
Svaki par tabela koje su kvalifikovane za relaciju 1:N mogu da imaju više relacija 1:N između sebe. Ipak, obično samo jednu od tih relacija možemo smatrati nadređenom relacijom između tabela.
Odnos roditeljske tabele je bilo koji odnos tabele 1:N gde je jedna od kaskadnih opcija u koloni Roditelj sledeće tabele istinita.
| Radnja | Nadređeni | Nije nadređeno |
|---|---|---|
| Dodelite | Kaskadno rasporedi sve Rasporedi kaskadno u vlasništvu korisnika Kaskadni raspored je aktivan |
Ne raspoređuj kaskadno nijedan |
| Izbriši | Kaskadno rasporedi sve | RemoveLink Ograniči |
| Pretraživanje | Kaskadno rasporedi sve Rasporedi kaskadno u vlasništvu korisnika Kaskadni raspored je aktivan |
Ne raspoređuj kaskadno nijedan |
| Delite | Kaskadno rasporedi sve Rasporedi kaskadno u vlasništvu korisnika Kaskadni raspored je aktivan |
Ne raspoređuj kaskadno nijedan |
| Pretraživanje | Kaskadno rasporedi sve Rasporedi kaskadno u vlasništvu korisnika Kaskadni raspored je aktivan |
Ne raspoređuj kaskadno nijedan |
Na primer, ako kreirate novu prilagođenu tabelu i dodate odnos tabele KSNUMKS: N sa tabelom računa gde je vaša prilagođena tabela povezana tabela, možete konfigurisati akcije za taj odnos tabele da biste koristili opcije u koloni Roditelj. Ako kasnije dodate još jedan odnos 1:N tabele sa vašom prilagođenom tabelom kao referentnom tabelom možete samo konfigurisati akcije da koriste opcije u koloni Nije roditelj.
Obično to znači da za svaki par tabela postoji samo jedan roditeljski odnos. Postoje neki slučajevi u kojima pretraga na povezanoj tabeli može omogućiti odnos sa više od jedne vrste tabele.
Na primer, ako tabela ima pretragu kupca koja se može odnositi na tabelu kontakata ili naloga. Postoje dve zasebne nadređene relacije između tabela tipa 1:N.
Svaka tabela aktivnosti ima sličan skup nadređenih relacija između tabela za tabele koje mogu biti povezane korišćenjem kolone za pronalaženje na koju se odnosi.
Ograničenja ponašanja koja se mogu podesiti
Zbog roditeljskih odnosa postoje neka ograničenja, treba imati na umu kada definišete odnose tabele.
- Prilagođena tabela ne može biti primarna tabela u odnosu sa srodnom sistemskom tabelom koja se kaskadira. To znači da ne možete imati vezu sa bilo kojom akcijom postavljenom na Cascade All, Cascade Active ili Cascade User-Owned između primarne prilagođene tabele i srodne sistemske tabele.
- Nijedan novi odnos ne može imati bilo koju akciju podešenu na Kaskadno sve, Kaskadno aktivno ili Kaskadno vlasništvo korisnika ako srodna tabela u tom odnosu već postoji kao povezana tabela u drugom odnosu koji ima bilo koju akciju podešenu na Kaskadno sve, Kaskadno aktivno ili Kaskadno vlasništvo korisnika. To sprečava relacije koje stvaraju relaciju sa više nadređenih instanci.
Čišćenje nasleđenih prava pristupa
Korišćenje kaskadnog ponašanja Reparent i Share je korisno kada želite da omogućite pristup redovima u povezanim tabelama. Ali može doći do promene u procesu ili dizajnu koji zahteva promenu postavki kaskadnog ponašanja.
Kada odnos tabele koristi Reparent ili Share, a kaskadno ponašanje se menja u Cascade None, odnos tabele sprečava bilo kakve nove promene dozvole od kaskadnog u srodne potomačke tabele. Pored toga, nasleđene dozvole koje su odobrene dok je kaskadno ponašanje bilo aktivno moraju biti opozvane.
Čišćenje nasleđenih prava pristupa je sistemski posao koji čisti nasleđena prava pristupa koja ostaju nakon što se kaskadno ponašanje promeni u Cascade None. Ovo čišćenje ne utiče ni na jednog korisnika kome je direktno odobren pristup tabeli, ali uklanja pristup od bilo koga ko je dobio pristup samo putem nasleđivanja.
Ovako funkcioniše čišćenje nasleđenih prava pristupa:
- Identifikuje i prikuplja sve tabele koje su bile u kaskadnom odnosu sa ažuriranim roditeljem.
- Identifikuje i prikuplja korisnike kojima je odobren pristup srodnim tabelama putem nasleđenog pristupa.
- Proverava korisnike koji su dobili direktan pristup srodnoj tabeli i uklanja ih iz kolekcije.
- Uklanja nasleđeni pristup za prikupljene korisnike na prikupljenim tabelama.
Nakon čišćenja, korisnici koji su mogli da pristupe srodnim tabelama samo zbog kaskadne funkcije više ne mogu pristupiti redovima, obezbeđujući veću sigurnost. Postoje slučajevi u kojima čišćenje možda neće biti uspešno. Saznajte više o tome kako očistiti nasleđeni pristup
Vidi takođe
Pratite sistemske poslove
Kreirajte i izmenite 1:N (jedan-na-mnogi) ili N:1 (mnogo-na-jedan) odnose
Kreirajte više-na-više (N: N) odnose tabele