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:
- Ali je treba, ko izbrišem vrstico, izbrisati tudi vse 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 poizvedbe za učinkovito pridobivanje povezanih podatkov. Uporabite odnose tabele za definiranje formalnih odnosov, ki definirajo tabelo ali ki jih lahko uporabi večina vrstic. Na primer, priložnost brez potencialne stranke ne bi bila 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. Na primer, morda bi bilo koristno vedeti, ali sta dva stika poročena, ali sta prijatelja zunaj službe, ali pa je morda stik delal za drug račun. Večina podjetij ne bo ustvarila poročil s tovrstnimi informacijami ali zahteva, da se vnesejo, zato se verjetno ne splača ustvariti tabele Odnosi. 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 si ogledujete primarno vrstico tabele, lahko vidite seznam povezanih vrstic tabele, ki so povezane z njo. 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 si ogledujete vrstice katere koli tabele v razmerju N:N, lahko vidite seznam vseh vrstic druge tabele, ki so povezane z njo. |
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 bodo imeli zahtevan iskalni stolpec za povezavo s primarno tabelo, ki jo podpirajo. Kaj se mora zgoditi, ko je primarna vrstica izbrisana?
Z vedenjem odnosa lahko definirate, kaj se zgodi s povezanimi vrsticami v skladu s pravili za vaše podjetje. Več informacij: Dodaj napredno vedenje odnosov
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 z računi, ki jih ponovno dodeljujete. 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 je za vsak par tabel samo eno nadrejeno razmerje. 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 kaskadnih vedenj Reparent in Share je koristna, ko želite omogočiti dostop do vrstic v povezanih tabelah. Lahko pa pride do spremembe v postopku ali zasnovi, ki zahteva spremembo nastavitev kaskadnega vedenja.
Ko relacija tabele uporablja Reparent ali Share in se kaskadno vedenje spremeni v Cascade None, razmerje tabele preprečuje, da bi se morebitne nove spremembe dovoljenj kaskadno vnesle v 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 sistemsko opravilo, ki počisti podedovane pravice dostopa, ki ostanejo po tem, ko se kaskadno vedenje spremeni v Cascade None. To čiščenje ne bo vplivalo na nobenega uporabnika, ki mu je bil neposredno odobren dostop do tabele, vendar bo odstranilo dostop vsem, ki so dostop prejeli samo prek dedovanja.
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. Obstajajo primeri, ko čiščenje morda ni uspešno. Več o tem, kako počistiti podedovan dostop
Glejte tudi
Nadzor sistemskih poslov
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).