Tabellrelasjoner
Tabellrelasjoner definerer hvordan rader kan relateres til hverandre i databasen. På det enkleste nivået vil det å legge til en oppslagskolonne i en tabell opprette en ny 1:N-relasjon (en-til-mange) mellom de to tabellene, og la deg sette oppslagskolonne i et skjema. Med oppslagskolonnen kan brukere knytte flere underordnede rader i tabellen til én enkelt overordnet tabellrad.
I tillegg til å definere hvordan rader kan relateres til andre rader, gir 1:N-tabellrelasjoner data for å løse følgende spørsmål:
- Når jeg sletter en rad, skal radene som er knyttet til den aktuelle raden også slettes?
- Når jeg tilordner en rad, må jeg også tilordne alle rader som er knyttet til den aktuelle raden til den nye eieren?
- Hvordan kan jeg effektivisere dataregistreringsprosessen når jeg oppretter en ny relatert rad i konteksten til en eksisterende rad?
- Hvordan skal brukere som viser en rad kunne vise de tilknyttede radene?
Tabeller kan også delta i en N:N-relasjon (mange-til-mange) der et hvilket som helst antall rader for to tabeller kan være knyttet til hverandre.
Bestemme om du vil bruke tabellrelasjoner eller tilkoblinger
Tabellrelasjoner er metadata som gjør endringer i databasen. Disse relasjonene lar spørringer hente relaterte data effektivt. Bruk tabellrelasjoner til å definere formelle relasjoner som definerer tabellen, eller som de fleste rader kan bruke. En salgsmulighet uten en potensiell kunde er for eksempel ikke nyttig. Salgsmulighet-tabellen har også en N:N-relasjon til Konkurrent-tabellen. Dette gjør det mulig å legge til flere konkurrenter i salgsmuligheten. Du vil kanskje registrere disse dataene og lage en rapport som viser konkurrentene.
Det finnes andre mindre formelle relasjonstyper mellom rader som kalles tilkoblinger. Det kan for eksempel være nyttig å vite om to kontakter er gift, eller kanskje de er venner på fritiden, eller kanskje en kontakt tidligere arbeidet for en annen forretningsforbindelse. De fleste virksomheter genererer ikke rapporter som bruker denne typen informasjon, eller krever ikke at det er angitt, så er det sannsynligvis ikke verdt å opprette tabellrelasjoner. Mer informasjon: Konfigurere tilkoblingsroller
Typer tabellrelasjoner
Når du ser på løsningsutforskeren, tror du kanskje det finnes tre typer tabellrelasjoner. Det er faktisk bare to, som vist i tabellen nedenfor.
Relasjonstype | Beskrivelse |
---|---|
1:N (én-til-mange) | En tabellrelasjon der én tabellrad for primærtabellen kan tilknyttes mange andre relaterte tabellrader på grunn av en oppslagskolonne i den relaterte tabellen. Når du viser en primær tabellrad, vises en liste over relaterte tabellrader som er knyttet til den. I Power Apps-portalen representerer Gjeldende tabell primærtabellen. |
N:N (mange-til-mange) | En tabellrelasjon som er avhengig av en spesiell Relasjonstabell, også kalt skjæringspunkttabell, slik at mange rader av én tabell kan relateres til mange rader for en annen tabell. Når du viser rader for hver tabell i en N:N-relasjon, vises en liste over rader i den andre tabellen som er knyttet til den. |
N:1 (mange-til-en)-relasjonstypen finnes i brukergrensesnittet fordi utformingen viser en visning som er gruppert etter tabeller. 1:N-relasjoner finnes faktisk mellom tabeller, og refererer til hver tabell som en Primærtabell / Gjeldende tabell eller Relatert tabell. Den relaterte tabellen, noen ganger kalt den underordnede tabellen, har en oppslagskolonne som gjør det mulig å lagre en referanse til en rad fra primærtabellen, noen ganger kalt overordnet tabell. En N:1-relasjon er bare en 1:N-relasjon som vises fra den relaterte tabellen.
Funksjonalitet for tabellrelasjon
Virkemåte for relaterte tabeller er viktig fordi den sikrer dataintegritet og kan automatisere forretningsprosesser for selskapet.
Opprettholde dataintegritet
Noen tabeller finnes for å støtte andre tabeller. De har ingen mening på egen hånd. De har vanligvis en nødvendig oppslagskolonne for å koble til primærtabellen de støtter. Hva skal skje når en primærrad slettes?
Du kan bruke relasjonsfunksjonaliteten til å definere hva som skal skje til relaterte rader i samsvar med reglene i bedriften din. Mer informasjon: Legg til avansert relasjonsatferd
Automatisere forretningsprosesser
Anta at du har en ny selger, og du vil tilordne vedkommende en rekke eksisterende forretningsforbindelser som er tilordnet en annen selger. Hver forretningsforbindelsesrad kan ha en rekke tilknyttede oppgaveaktiviteter. Du kan enkelt finne de aktive forretningsforbindelsene du vil tilordne på nytt, og tilordne dem til den nye selgeren. Men hva skal skje med oppgaveaktivitetene som er knyttet til forretningsforbindelsene? Vil du åpne hver oppgave og avgjøre om den også skal tilordnes den nye selgeren? Sannsynligvis ikke. I stedet kan du la relasjonen automatisk bruke noen standardregler for deg. Disse reglene gjelder bare for oppgaverader som er knyttet til forretningsforbindelser som du tilordner på nytt. Alternativene er:
- Tilordne alle aktive oppgaver på nytt.
- Tilordne alle oppgaver på nytt.
- Tilordne ingen av oppgavene på nytt.
- Tilordne alle oppgaver på nytt som er tilordnet til den tidligere eieren av forretningsforbindelsen.
Relasjonen kan styre hvordan handlingene som utføres på en rad for primærtabellraden, overlapper ned til eventuelle relatert tabellrader.
Virkemåter
Det finnes flere typer virkemåter som kan brukes når bestemte handlinger forekommer.
Virkemåte | Beskrivelse |
---|---|
Overlapp aktive | Utfør handlingen på alle aktive relatert tabellrader. |
Overlapp alle | Utfør handlingen på alle relatert tabellrader. |
Overlapp ingen | Ikke gjør noe. |
Fjern kobling | Fjern oppslagsverdien for alle relaterte rader. |
Begrens | Hindre at primærtabellraden slettes når det finnes relaterte tabellrader. |
Overlapp brukereide | Utfør handlingen på alle relatert tabelørader som eies av samme bruker som primærtabellrad. |
Handlinger
Dette er handlinger som kan utløse enkelte virkemåter:
Kolonne | Beskrivelse | Alternativer |
---|---|---|
Tilordne | Hva skal skje når primærtabellraden tilordnes til noen andre? | Overlapp alle Overlapp aktive Overlapp brukereide Overlapp ingen |
Overordne på nytt | Hva skal skje når oppslagsverdien for en relatert tabell i en overordnet relasjon endres? Mer informasjon: Overordnede tabellrelasjoner |
Overlapp alle Overlapp aktive Overlapp brukereide Overlapp ingen |
Dele | Hva skal skje når primærtabellraden deles? | Overlapp alle Overlapp aktive Overlapp brukereide Overlapp ingen |
Slett | Hva skal skje når primærtabellraden slettes? | Overlapp alle Fjern kobling Begrens |
Oppheve deling | Hva skal skje når deling av en primærtabellrad oppheves? | Overlapp alle Overlapp aktive Overlapp brukereide Overlapp ingen |
Slå sammen | Hva skal skje når en primærtabellrad slås sammen? | Overlapp alle Overlapp ingen |
Visning av beregnet verdi | Hva er ønsket virkemåte for visningen av beregnet verdi knyttet til denne relasjonen? | Overlapp alle Overlapp aktive Overlapp brukereide Overlapp ingen |
Obs!
Handlinger for tilordning, sletting, sammenslåing og overordne på nytt utføres i følgende situasjoner:
- Hvis den opprinnelige overordnede raden og den forespurte handlingen inneholder de samme verdiene. Eksempel: Forsøk på å utløse en tilordning og velge en kontakt som allerede er eier av raden
- Forsøk på å utføre en handling på en overordnet rad som allerede kjører en overlappingshandling
Obs!
Under utførelse av en tilordning, deaktiveres eventuelle arbeidsflyter eller forretningsregler som er aktive på radene, automatisk når den nye tilordningen skjer. Den nye eieren av raden må aktivere arbeidsflyten eller forretningsregelen på nytt hvis vedkommende vil fortsette å bruke den.
Overordnede tabellrelasjoner
Hvert par med tabeller som er kvalifiserte for en 1:N-relasjon, kan ha flere 1:N-relasjoner mellom dem. Vanligvis kan bare én av disse relasjonene anses som en overordnet tabellrelasjon.
En overordnet tabellrelasjon er en 1:N-tabellrelasjon der ett av overlappingsalternativene i Overordnet-kolonnen i den følgende tabellen er sann.
Handling | Overordnet | Ikke overordnet |
---|---|---|
Tilordne | Overlapp alle Overlapp brukereide Overlapp aktive |
Overlapp ingen |
Slett | Overlapp alle | Fjern kobling Begrens |
Overordne på nytt | Overlapp alle Overlapp brukereide Overlapp aktive |
Overlapp ingen |
Dele | Overlapp alle Overlapp brukereide Overlapp aktive |
Overlapp ingen |
Oppheve deling | Overlapp alle Overlapp brukereide Overlapp aktive |
Overlapp ingen |
Hvis du for eksempel oppretter en ny egendefinert tabell og legger til en 1:N-tabellrelasjon med forretningsforbindelsestabellen der den egendefinerte tabellen er den relaterte tabellen, kan du konfigurere handlingene for denne tabellrelasjonen slik at den bruker alternativene i Overordnet-kolonnen. Hvis du senere legger til en ny 1:N-tabellrelasjon med den egendefinerte tabellen som den refererende tabellen, kan du bare konfigurere handlingene for bruk av alternativene i Ikke overordnet-kolonnen.
Dette betyr vanligvis at for hvert tabellpar er det bare én overordnet relasjon. Det finnes enkelte tilfeller der oppslaget på den relaterte tabellen kan tillate en relasjon til mer enn én type tabell.
Hvis en tabell for eksempel har et kundeoppslag som kan referere til en kontakt- eller forretningsforbindelstabell. Det finnes to separate overordnede 1:N-tabellrelasjoner.
En aktivitetstabell har et lignende sett med overordnede tabellrelasjoner for tabeller som kan tilknyttes ved hjelp av oppslagskolonnen Angående.
Begrensninger for virkemåter som du kan angi
På grunn av overordnede relasjoner finnes det enkelte begrensninger som du bør ha i tankene når du definerer tabellrelasjoner.
- En egendefinert tabell kan ikke være primærtabellen i en relasjon med en relatert systemtabell som overlapper. Dette betyr at du ikke kan ha en relasjon med handling satt til Overlapp alle, Overlapp aktive eller Overlapp brukereide mellom en egendefinert primærtabell og en relatert systemtabell.
- Nye relasjoner kan ikke ha handling satt til Overlapp alle, Overlapp aktiv eller Overlapp brukereide hvis den relaterte tabellen i relasjonen allerede finnes som en relatert tabell i en annen relasjon, som har en handling satt til Overlapp alle, Overlapp aktiv eller Overlapp brukereide. Dette hindrer relasjoner som har relasjoner med flere overordnede.
Opprydding i arvede tilgangsrettigheter
Det er nyttig å bruke funksjonene Overordne på nytt og Del når du vil gi tilgang til rader på tvers av relaterte tabeller. Men det kan være en endring i prosessen eller utformingen som krever en endring i innstillingene for overlappende funksjonalitet.
Når en tabellrelasjon bruker Overordne på nytt eller Del, og overlappingsfunksjonaliteten endres fra Overlapp ingen, hindrer tabellrelasjonen eventuelle nye endringer i tillatelsen som overlapper til de relaterte underordnede tabellene. I tillegg må arvede tillatelser som ble gitt mens overlappingsatferden var aktiv, trekkes tilbake.
Opprydding i arvede tilgangsrettigheter er en systemjobb som rydder opp i eldre arvede tilgangsrettigheter som blir igjen etter at overlappingsfunksjonaliteten er endret fra Overlapp ingen. Denne ryddingen vil ikke ha innvirkning på brukere som har fått direkte tilgang til en tabell, men fjerner tilgang fra alle som har fått tilgang bare gjennom arv.
Slik fungerer oppryddingen i arvede tilgangsrettigheter:
- Identifiserer og samler inn alle tabellene som var i en overlappende relasjon med den oppdaterte overordnede.
- Identifiserer og samler inn brukerne som ble gitt tilgang til de relaterte tabellene ved hjelp av arvet tilgang.
- Ser etter brukere som ble gitt direkte tilgang til en relatert tabell, og fjerner dem fra samlingen.
- Fjerner arvet tilgang for de innsamlede brukerne i de innsamlede tabellene.
Når oppryddingen er kjørt, har ikke brukere som har tilgangsrettigheter til relaterte tabeller, lenger tilgang til radene, noe som sikrer bedre sikkerhet. Det kan hende at oppryddingen ikke blir vellykket. Finn ut mer om hvordan du rydder i arvet tilgang
Se også
Overvåk systemjobber
Opprette og redigere 1:N-relasjoner (én-til-mange) eller N:1-relasjoner (mange-til-én)
Opprett mange-til-mange-tabellrelasjoner (N:N)
Obs!
Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)
Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).