Odnosi tabele
Odnosi tabele določajo, kako bodo vrstice povezane med seboj v zbirki podatkov. Na najpreprostejši ravni z dodajanjem stolpca za iskanje tabeli ustvarite nov odnos 1:N (eden-do-mnogih) med dvema tabelama, kar vam omogoča, da ta stolpec za iskanje vstavite v obrazec. S stolpcem za iskanje lahko uporabniki povezujejo več podrejenih vrstic te tabele z eno vrstico nadrejene tabele.
Odnosi tabele 1:N presegajo preprosto določanje povezovanja med vrsticami, saj zagotavljajo tudi podatke za obravnavo naslednjih vprašanj:
- Ko izbrišem vrstico, moram izbrisati tudi vrstice, povezane s to vrstico?
- Ko dodelim vrstico novemu lastniku, mu moram dodeliti tudi vse vrstice, povezane s to vrstico?
- Kako lahko olajšam postopek vnosa podatkov pri ustvarjanju nove povezane vrstice v kontekstu obstoječe vrstice?
- Na kakšen način naj osebe, ki so prikazale vrstico, prikažejo povezane vrstice?
Tabele lahko sodelujejo tudi v odnosu N:N (mnogo proti mnogo), kjer je poljubno število vrstic za dve tabeli mogoče povezani med seboj.
Odločite se, ali je bolje uporabiti odnose tabel ali povezave
Odnosi tabele so metapodatki, ki spreminjajo zbirko podatkov. Ti odnosi omogočajo, da poizvedbe zelo učinkovito pridobivajo povezane podatke. Uporabite odnose tabele za definiranje formalnih odnosov, ki definirajo tabelo ali ki jih lahko uporabi večina vrstic. Priložnost brez možne stranke na primer ne bi bila zelo koristna. Tabela priložnosti ima odnos N:N s tabelo konkurenčnega podjetja. To omogoča, da lahko v priložnost dodate več konkurenčnih podjetij. Morda boste želeli zajeti te podatke in ustvariti poročilo, ki prikazuje konkurenčna podjetja.
Med vrsticami obstajajo drugi, manj formalni odnosi, ki se imenujejo povezave. Morda bi bilo na primer koristno vedeti, da sta dva stika poročena ali da sta zasebna prijatelja ali da je stik v preteklosti delal na drugem računu. Večina podjetij ne ustvari poročil s to vrsto informacij ali ne zahteva, da bi bili ti podatki vneseni, zato se jim ne zdi smiselno ustvariti odnosov tabele. Več informacij: Konfiguracija vlog povezav
Vrste odnosov tabele
Ob pogledu na raziskovalca rešitev bi morda mislili, da obstajajo le tri vrste odnosov tabele. Dejansko pa sta samo dva, kot je prikazano v spodnji tabeli.
| Vrsta odnosa | Opis |
|---|---|
| 1:N (eden-do-mnogih) | Razmerje tabele, kjer je eno vrstico tabele za Primarno tabelo mogoče povezati s številnimi drugimi vrsticami Povezana tabela zaradi stolpca za iskanje v povezani tabeli. Ko prikažete vrstico primarne tabele, lahko vidite seznam vrstic povezane tabele, ki so povezane z njim. Na portalu storitve Power Apps Trenutna tabela predstavlja primarno tabelo. |
| N:N (mnogo proti mnogo) | Odnos , ki ga določa posebna Tabela odnosa, včasih imenovana tudi križajoča se tabela, kar omogoča, da je lahko veliko vrstic ene tabele povezanih z veliko vrstic druge tabele. Ko prikažete vrstice katere od tabel v odnosu N:N, lahko vidite seznam vseh vrstic druge tabele, ki so povezani z njim. |
Vrsta odnosa N:1 (mnogo proti ena) v uporabniškem vmesniku obstaja, ker oblikovalnik prikaže pogled, združen po tabelah. Odnosi 1:N dejansko obstajajo med tabelami in na vsako tabelo gledajo, kot da je Primarna/Trenutna tabela ali Povezana tabela. Povezana tabela, včasih imenovana podrejena tabela, ima stolpec za iskanje, ki omogoča shranjevanje sklica na vrstico iz primarne tabele, včasih imenovane nadrejena tabela. Odnos N:1 je pravzaprav odnos 1:N z vidika povezane tabele.
Obnašanje odnosa tabele
Delovanje sorodnih tabel je pomembno, saj pomaga zagotoviti integriteto podatkov in lahko avtomatizira poslovne procese za vaše podjetje.
Ohranjanje integritete podatkov
Nekatere tabele obstajajo zato, da podpirajo druge tabele. Kot samostojne so nesmiselne. Običajno vsebujejo zahtevano iskalni stolpec, ki omogoča povezavo s primarno tabelo, ki jo podpirajo. Kaj naj se zgodi, ko je primarna vrstica izbrisana?
To lahko določite z uporabo delovanja odnosov v skladu s pravili za vaše podjetje. Obstajata dve možnosti:
- Preprečite izbris primarne tabele, da se vrstice povezane tabele lahko uskladijo, morda tako, da jih povežete z drugo primarno tabelo.
- Omogočite samodejni izbris povezanih tabel tako, da izbrišete vrstico primarne tabele.
Če povezana tabela ne podpira primarne tabele, lahko omogočite izbris primarne tabele, vrednost iskanja pa bo počiščena.
Avtomatizacija poslovnih procesov
Denimo, da imate novega prodajalca in mu želite dodeliti nekaj obstoječih kupcev, ki so trenutno dodeljeni drugemu prodajalcu. Vsaka vrstica kupca ima morda nekaj dejavnosti opravil, ki so povezana z njim. Aktivne kupce, ki jih želite predodeliti, lahko zlahka poiščete in jih dodelite novemu prodajalcu. Toda kaj naj se zgodi z dejavnostmi opravil, ki so povezane s kupci? Želite odpreti vsako opravilo in določiti, ali naj se prav tako dodeli novemu prodajalcu? Verjetno ne. Namesto tega lahko pustite, da odnos samodejno uveljavi nekaj standardnih pravil. Ta pravila veljajo samo za vrstice opravil, povezane s kupci, ki jih predodeljujete. Vaše možnosti so:
- Predodelite vsa aktivna opravila.
- Predodelite vsa opravila.
- Ne predodelite opravil.
- Predodelite vsa opravila, trenutno dodeljena nekdanjemu lastniku kupcev.
Odnos lahko nadzira, kako dejanja, opravljena za vrstico primarne tabele, vplivajo na morebitne vrstice povezane tabele.
Vedenja
Na voljo je več vrst vedenj, ki se lahko uporabijo, ko pride do določenih dejanj.
| Vedenje | Opis |
|---|---|
| Kaskada je dejavna | Izvede dejanje za vse aktivne vrstice povezane tabele. |
| Vse v kaskado | Izvede dejanje za vse vrstice povezane tabele. |
| Nič v kaskado | Ne stori ničesar. |
| Odstrani povezavo | Odstrani vrednost iskanja za vse povezane vrstice. |
| Omeji | Prepreči brisanje vrstice primarne tabele, ko obstajajo vrstice povezane tabele. |
| Kaskada v lasti uporabnika | Izvede dejanje za vse vrstice povezane tabele, ki so v lasti istega uporabnika kot vrstica primarne tabele. |
Dejanja
To so dejanja, ki lahko sprožijo določena vedenja:
| Stolpec | Opis | Možnosti |
|---|---|---|
| Dodeli | Kaj naj se zgodi, ko je vrstica primarne tabele dodeljena nekomu drugemu? | Vse v kaskado Aktivna kaskada Kaskada v lasti uporabnika Nič v kaskado |
| Znova nadredi | Kaj naj se zgodi, ko se spremeni vrednost iskanja za povezano tabelo v nadrejenem odnosu? Več informacij: Nadrejeni odnosi tabele |
Vse v kaskado Aktivna kaskada Kaskada v lasti uporabnika Nič v kaskado |
| Daj v skupno rabo | Kaj naj se zgodi, ko je vrstica primarne tabele dana v skupno rabo? | Vse v kaskado Aktivna kaskada Kaskada v lasti uporabnika Nič v kaskado |
| Izbriši | Kaj naj se zgodi, ko je vrstica primarne tabele izbrisana? | Vse v kaskado Odstrani povezavo Omeji |
| Odstrani iz skupne rabe | Kaj naj se zgodi, ko vrstica primarne tabele ni dana v skupno rabo? | Vse v kaskado Aktivna kaskada Kaskada v lasti uporabnika Nič v kaskado |
| Spoji | Kaj naj se zgodi, ko je vrstica primarne tabele združena? | Vse v kaskado Nič v kaskado |
| Pogled skupne vrednosti | Kaj je želeno vedenje pogleda skupne vrednosti, povezanega s tem odnosom? | Vse v kaskado Kaskada je dejavna Kaskada v lasti uporabnika Nič v kaskado |
Opomba
Dejanja »Dodeli«, »Izbriši«, »Združi« in »Dodeli nadrejenemu elementu« se ne bodo izvedla v naslednjih situacijah:
- Če prvotna nadrejena vrstica in zahtevano dejanje vsebujeta enake vrednosti. Primer: poskus sprožitve dodelitve in izbira stika, ki je že lastnik vrstice
- Poskus izvedbe dejanja v nadrejeni vrstici, ki že izvaja kaskadno dejanje
Opomba
Pri izvajanju dodelitve bodo vsi poteki dela ali poslovna pravila, ki so trenutno aktivni v vrsticah, samodejno onemogočeni, ko pride do prerazporeditve. Novi lastnik vrstice bo moral znova aktivirati potek dela ali poslovno pravilo, če ga bo želel še naprej uporabljati.
Odnosi nadrejene tabele
Vsak par tabel, ki je primeren za odnos 1:N, lahko ima več odnosov 1:N. Vseeno se lahko običajno zgolj eden od teh odnosov obravnava kot nadrejeni odnos tabele.
Nadrejeni odnos tabele je poljuben odnos tabele 1:N, kjer je ena od kaskadnih možnosti v stolpcu Nadrejeno v naslednji tabeli resnična.
| Dejanje | Nadrejeni | Ni nadrejeno |
|---|---|---|
| Dodeli | Vse v kaskado Kaskada v lasti uporabnika Kaskada je dejavna |
Nič v kaskado |
| Izbriši | Vse v kaskado | Odstrani povezavo Omejitev |
| Znova nadredi | Vse v kaskado Kaskada v lasti uporabnika Kaskada je dejavna |
Nič v kaskado |
| Daj v skupno rabo | Vse v kaskado Kaskada v lasti uporabnika Kaskada je dejavna |
Nič v kaskado |
| Odstrani iz skupne rabe | Vse v kaskado Kaskada v lasti uporabnika Aktivna kaskada |
Nič v kaskado |
Če na primer ustvarite novo tabelo po meri in dodate odnos tabele 1:N s tabelo kupca, kjer je tabela po meri povezana tabela, lahko konfigurirate, da dejanja za te odnose tabele uporabljajo možnosti v stolpcu Nadrejeno. Če pozneje dodate drug odnos tabele 1:N s tabelo po meri kot tabelo za sklicevanje, lahko pozneje konfigurirate samo dejanja za uporabo možnosti v stolpcu Ni nadrejeno.
Običajno to pomeni, da za vsak par tabel obstaja samo en nadrejeni odnos. Obstaja nekaj primerov, kjer lahko iskanje po povezani tabeli dovoli odnos z več kot eno vrsto tabele.
Če ima tabel na primer iskanje stranke, ki se lahko nanaša bodisi na tabelo stika ali kupca. Obstajata dva ločena nadrejena odnosa tabele 1:N.
Vsaka tabela dejavnosti ima podoben nabor nadrejenih odnosov tabele za tabele, ki jih je mogoče povezati z uporabo zadevnega stolpca za iskanje.
Omejitve vedenj, ki jih lahko nastavite
Zaradi nadrejenih odnosov obstaja nekaj omejitev, ki bi jih morali upoštevati pri določanju odnosov tabele.
- Tabela po meri ne more biti primarna tabela v odnosu s sorodno tabelo sistema, ki tvori kaskado. To pomeni, da ne morete imeti odnosa, ki bi imel katero koli dejanje nastavljeno na Vse v kaskado, Kaskada je dejavna ali Kaskada v lasti uporabnika med primarno tabelo po meri in sorodno tabelo sistema.
- Novi odnosi ne morejo imeti dejanj, nastavljenih na Vse v kaskado, Kaskada je dejavna ali Kaskada v lasti uporabnika, če sorodna tabela v tem odnosu že obstaja kot sorodna tabela v drugem odnosu, ki ima katero koli dejanje nastavljeno na Vse v kaskado, Kaskada je dejavna ali Kaskada v lasti uporabnika. To onemogoča odnose, ki ustvarjajo odnose z več nadrejenimi.
Čiščenje podedovanih pravic dostopa
Uporaba kaskadnega vedenja »Dodeli nadrejenemu predmetu« in »Skupna raba« je koristna, če želite omogočiti dostop do vrstic v sorodnih tabelah. Lahko pa pride do spremembe v postopku ali zasnovi, ki zahteva spremembo nastavitev kaskadnega vedenja.
Ko razmerje tabele uporablja »Dodeli nadrejenemu predmetu« ali »Skupna raba« in se kaskadno vedenje spremeni iz Vse v kaskado na Nič v kaskado, razmerje tabele preprečuje katero koli spreminjanje novih dovoljenj pred kaskado za povezane podrejene tabele. Poleg tega morajo biti podedovana dovoljenja, ki so bila odobrena, medtem ko je bilo kaskadno vedenje aktivno, preklicana.
Čiščenje podedovanih pravic dostopa je sistemski posel, ki počisti podedovane pravice dostopa, ki preostanejo po tem, ko je kaskadno vedenje spremenjeno z Vse v kaskado na Nič v kaskado. To čiščenje ne bo vplivalo na uporabnika, ki mu je bil neposredno dovoljen dostop do tabele, vendar bo odstranilo dostop vsem, ki so dostop prejeli samo z dedovanjem.
Opomba
Trenutno je za izvajanje čiščenja podedovanih pravic dostopa potrebna uporaba spletnega API-ja. Več informacij: CreateAsyncJobToRevokeInheritedAccess Action
Tako deluje čiščenje podedovanih pravic dostopa:
Prepozna in zbere vse tabele, ki so bile v kaskadnem razmerju s posodobljenim nadrejenim elementom.
Identificira in zbira uporabnike, ki jim je bil dodeljen podedovan dostop do povezanih tabel.
Preveri uporabnike, ki so dobili neposreden dostop do povezane tabele, in jih odstrani iz zbirke.
Odstrani podedovan dostop zbranim uporabnikom v zbranih tabelah.
Po zagonu čiščenja uporabniki, ki so lahko dostopali do sorodnih tabel samo zaradi kaskadne funkcije, ne morejo več dostopati do vrstic, kar zagotavlja večjo varnost.
Glejte tudi
Spremljajte sistemska opravila
Ustvarjanje in urejanje odnosov 1:N (ena proti mnogo) ali N:1 (mnogo proti ena)
Ustvarjanje odnosov tabel »mnogo proti mnogo« (N:N)
Opomba
Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)
Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).
Povratne informacije
Pošlji in prikaži povratne informacije za