Tabelrelationer

Tabelrelationer definerer, hvordan rækker kan være relateret til hinanden i databasen. Når der tilføjes en opslagskolonne i en tabel på det mest enkle niveau, oprettes der en ny 1:N-relation (én til mange), mellem de to tabeller, så du kan indsætte opslagskolonnen i en formular. Med opslagskolonnen kan brugerne knytte flere underordnede rækker til tabellen i en enkelt overordnet tabelrække.

Foruden ganske enkelt at definere, hvordan rækker kan være relateret til andre rækker, indeholder 1:N-tabelrelationer også data, der kan bruges til at få svar på følgende spørgsmål:

  • Når jeg sletter en række, skal eventuelle relaterede rækker til den pågældende række så også slettes?
  • Når jeg tildeler en række, skal jeg så også tildele alle relaterede rækker til den nye ejer?
  • Hvordan kan jeg strømline dataindtastningsprocessen, når jeg opretter en ny relateret række i konteksten af en eksisterende række?
  • Hvordan skal andre personer, som får vist en række, have vist de tilknyttede rækker?

Tabeller kan også være en del af en N:N-relation (mange til mange), hvor et hvilket som helst antal rækker for to tabeller kan knyttes til hinanden.

Vælge, om du vil bruge tabelrelationer eller forbindelser

Tabelrelationer er metadata, som foretager ændringer i databasen. Disse relationer gør det muligt for forespørgsler at hente relaterede data på meget effektiv vis. Brug tabelrelationer til at definere formelle relationer, der definerer tabellen, eller som de fleste rækker kan anvende. Eksempelvis ville en salgsmulighed uden en potentiel kunde ikke være nyttig. Tabellen Salgsmulighed har en N:N-relation til tabellen Konkurrent. Dette gør det muligt at føje flere konkurrenter til salgsmuligheden. Du kan overveje at registrere disse data og oprette en rapport, der viser konkurrenterne.

Der findes andre, mindre formelle typer relationer mellem rækker, som kaldes forbindelser. Det kan f.eks være praktisk at vide, hvis to kontakter er gift, eller er venner uden for arbejdet, eller hvis en kontakt tidligere har arbejdet for et andet firma. De fleste virksomheder genererer ikke rapporter ud fra denne type oplysninger og kræver ikke, at de angives, så der er formentlig ikke nogen grund til at oprette tabelrelationer. Du kan finde flere oplysninger i Konfigurere forbindelsesroller

Typer af tabelrelationer

Når du kigger på løsningsoversigten, kan du forledes til at tro, at der er tre typer tabelrelationer. Rent faktisk er der kun to, som du kan se i den følgende tabel.

Relationstype Beskrivelse
1:N (én til mange) En tabelrelation, hvor en tabelrække til den Primære tabel kan knyttes til mange andre relaterede tabelrækker, fordi der er en opslagskolonne i den relaterede tabel.

Når du får vist en primær tabelrække, kan du se en liste over de relaterede tabelrækker, der er knyttet til den.

I Power Apps-portalen repræsenterer Aktuel tabel den primære tabel.
N:N (mange til mange) En tabelrelation, der afhænger af en særlig Relationstabel, som også nogle gange kaldes en skæringstabel, så mange rækker i én tabel kan relateres til mange rækker i en anden tabel.

Når du får vist rækker i en af tabellerne i en N:N-relation, kan du se en liste over alle de rækker i den andet tabel, der er knyttet til den.

Relationstypen N:1 (mange til én) findes i brugergrænsefladen, fordi designeren har en visning, som er grupperet efter tabeller. Der er i virkeligheden 1:N-relationer mellem tabeller, og de refererer til hver tabel som enten en Primær/aktuel tabel eller en Relateret tabel. Den relaterede tabel, som også kaldes den underordnede tabel, indeholder en opslagskolonne, hvor det er muligt at gemme en reference til en række fra den primære tabel, som også nogle gange kaldes den overordnede tabel. En N:1-relation er det samme som en 1:N-relation set fra den relaterede tabel.

Tabelrelationers funktionsmåde

Funktionsmåder for relaterede tabeller er vigtige, fordi det er med til at sikre dataintegriteten og kan automatisere forretningsprocesser i virksomheden.

Bevare dataintegritet

Der findes nogle tabeller, der kan understøtte andre tabeller. De giver ikke mening i sig selv. De har typisk en påkrævet opslagskolonne, som kan kædes sammen med den primære tabel, de understøtter. Hvad skal der ske, når en primær række slettes?

Du kan bruge relationens funktionsmåde til at definere, hvad der sker med relaterede rækker i henhold til din virksomheds regler. Flere oplysninger: Tilføje avanceret relationsfunktion

Automatisere forretningsprocesser

Lad os sige, du har en ny sælger, og du vil tildele vedkommende en række eksisterende firmaer, som aktuelt er tildelt en anden sælger. Hver firmarække har muligvis en række opgaveaktiviteter tilknyttet. Du kan nemt finde de aktive firmaer, du vil ændre tildelingen for, og tildele dem til den nye sælger. Men hvad skal der ske med de opgaveaktiviteter, der er knyttet til firmaerne? Vil du åbne de enkelte opgaver og beslutte, om de også skal tildeles til den nye sælger? Sikkert ikke. I stedet kan du lade relationen bruge nogle standardregler for dig automatisk. Disse regler gælder kun for opgaverækker, der knyttet til de firmaer, du tildeler igen. Du har følgende muligheder:

  • Tildel alle aktive opgaver igen.
  • Tildel alle opgaver igen.
  • Tildel ingen af opgaverne igen.
  • Tildel alle opgaver igen, som aktuelt er tildelt den tidligere ejer af firmaerne.

Relationen kan styre, hvordan handlinger, der udføres på en række for den primære tabelrække, overlapper ned over alle relaterede tabelrækker.

Funktionsmåder

Er der flere forskellige funktioner, der kan anvendes for bestemte handlinger.

Funktionsmåde Beskrivelse
Vis aktive overlappet Udfør handlingen på alle aktive, relaterede tabelrækker.
Vis alle overlappet Udfør handlingen på alle relaterede tabelrækker.
Vis ingen overlappet Foretag intet.
Fjern link Fjern opslagsværdien for alle relaterede rækker.
Begræns Undgå sletning af den primære tabelrække, når der findes relaterede tabelrækker.
Vis brugerejede overlappet Udfør handlingen på alle relaterede tabelrækker, som ejes af den samme bruger som den primære tabelrække.

Handlinger

Dette er de handlinger, som kan udløse bestemte funktioner:

Kolonne Beskrivelse Muligheder
Tildel Hvad skal der ske, når den primære tabelrække tildeles en anden bruger? Overlap alle
Overlap aktiv
Vis brugerejede overlappet
Vis ingen overlappet
Ny overordnet Hvad skal der ske, når opslagsværdien for en relateret tabel i en overordnet relation ændres?
Flere oplysninger: Overordnede tabelrelationer
Overlap alle
Overlap aktiv
Vis brugerejede overlappet
Overlap ingen
Del Hvad skal der ske, når den primære tabelrække deles? Overlap alle
Overlap aktiv
Vis brugerejede overlappet
Overlap ingen
Slet Hvad skal der ske, når den primære tabelrække slettes? Overlap alle
Fjern link
Begræns
Ophæv deling Hvad skal der ske, når den primære tabelrække ikke længere deles? Overlap alle
Overlap aktiv
Vis brugerejede overlappet
Overlap ingen
Flet Hvad skal der ske, når den primære tabelrække flettes? Overlap alle
Overlap ingen
Akkumuleringsvisning Hvad er den ønskede funktionsmåde for den akkumuleringsvisning, der er knyttet til denne relation? Vis alle overlappet
Vis aktive overlappet
Vis brugerejede overlappet
Vis ingen overlappet

Bemærk

Tildeling, sletning, fletning og overordnende handlinger udføres ikke i følgende situationer:

  • Hvis den oprindelige overordnede række og den ønskede handling indeholder de samme værdier. Eksempel: forsøg på at udløse en tildeling og vælge en kontaktperson, der allerede er ejer af rækken
  • Forsøg på at udføre en handling på en overordnet række, der allerede kører en overlappende handling

Bemærk

Når en tildeling udføres, deaktiveres arbejdsprocesser eller forretningsregler, der i øjeblikket er aktive i rækkerne, automatisk, når gentildelingen sker. Den nye ejer af rækken skal genaktivere arbejdsprocessen eller forretningsreglen, hvis de fortsat vil bruge den.

Overordnede tabelrelationer

Hvert tabelpar, som er berettiget til at have en 1:N-relation, kan have flere 1:N-relationer mellem sig. Men normalt kan kun én af disse relationer betragtes som en overordnet tabelrelation.

En overordnet tabelrelation er enhver 1:N-tabelrelation, hvor en af de overlappende indstillinger i kolonnen Overordnet i den følgende tabel er sand.

Handling Overordnet Ikke overordnet
Tildel Vis alle overlappet
Vis brugerejede overlappet
Vis aktive overlappet
Vis ingen overlappet
Slet Vis alle overlappet RemoveLink
Begræns
Ny overordnet Vis alle overlappet
Vis brugerejede overlappet
Vis aktive overlappet
Vis ingen overlappet
Del Vis alle overlappet
Vis brugerejede overlappet
Vis aktive overlappet
Vis ingen overlappet
Ophæv deling Vis alle overlappet
Vis brugerejede overlappet
Overlap aktiv
Overlap ingen

Hvis du f.eks. opretter en ny brugerdefineret tabel og en 1:N-tabelrelation med firmatabellen, hvor din brugerdefinerede tabel er den relaterede tabel, kan du konfigurere handlingerne for tabelrelationen til at anvende indstillingerne i kolonnen Overordnet. Hvis du senere tilføjer endnu en 1:N-tabelrelation med din brugerdefinerede tabel som refererende tabel, kan du kun konfigurere handlingerne til at anvende indstillingerne Ikke overordnet.

Som regel betyder dette, at der kun er én overordnet relation for hvert tabelpar. Der er visse tilfælde, hvor opslaget i den relaterede tabel gør det muligt at oprette en relation til mere end én type tabel.

Hvis en tabel f.eks. har et Kunde-opslag, der kan referere til enten en kontaktperson eller en firmatabel. Der er to separate overordnede 1:N-tabelrelationer.

Eventuelle aktivitetstabeller har et tilsvarende sæt overordnede tabelrelationer for tabeller, der kan tilknyttes ved hjælp af opslagskolonnen Angående.

Begrænsninger for funktionsmåder, du kan angive

På grund af overordnede relationer er der visse begrænsninger, du skal være opmærksom på, når du definerer tabelrelationer.

  • En brugerdefineret tabel kan ikke være den primære tabel i en relation med en relateret systemtabel, der overlapper. Det betyder, at du ikke kan have en relation med en handling, der er angivet til Overlap alle, Overlap aktive eller Overlap ejes af brugeren, mellem en primær, brugerdefineret tabel og en relateret systemtabel.
  • Ingen ny relation kan have en handling angivet til Overlap alle, Overlap aktiv eller Overlap ejes af brugeren, hvis den relaterede tabel i den pågældende relation allerede findes som en relateret tabel i en anden relation, hvor en handling er angivet til Overlap alle, Overlap aktiv eller Overlap ejes af brugeren. Dette forhindrer, at relationer opretter relationer til flere overordnede objekter.

Oprydning af nedarvede adgangsrettigheder

Det er nyttigt at bruge Ny overordnet og Del som overlappende funktioner, når du vil give adgang til rækker i relaterede tabeller. Men der kan være en ændring i proces eller design, som kræver, at indstillingerne for overlappende funktioner ændres.

Når en tabelrelation bruger et Ny overordnet eller Del, og funktionsmåden for overlapning er ændret fra Overlap alle til Overlap ingen, forhindrer tabelrelationen eventuelle nye tilladelsesændringer fra overlappende til de relaterede underordnede tabeller. Derudover skal nedarvede tilladelser, der blev tildelt, mens overlappende funktioner var aktive, tilbagekaldes.

Oprydning af nedarvede adgangsrettigheder er et systemjob, der rydder op i de gamle nedarvede adgangsrettigheder, som er tilbage, efter at funktionen til overlapning er ændret fra Overlap alle til Overlap ingen. Oprydningen påvirker ikke den bruger, der er givet direkte adgang til en tabel, men fjerner adgang fra alle, der kun har fået adgang gennem nedarvning.

Sådan fungerer oprydning af nedarvede adgangsrettigheder:

  1. Identificerer og indsamler alle de tabeller, der var i en overlappende relation med den opdaterede overordnede.
  2. Identificerer og indsamler de brugere, der har fået adgang til de relaterede tabeller via nedarvet adgang.
  3. Kontrollerer for brugere, der har fået direkte adgang til en relateret tabel og fjerner dem fra samlingen.
  4. Fjerner den nedarvede adgang for de indsamlede brugere i de indsamlede tabeller.

Når oprydningen er kørt, kan de brugere, der har haft adgang til relaterede tabeller på grund af overlappende funktioner, ikke længere få adgang til rækkerne, hvilket giver større sikkerhed. Der er tilfælde, hvor oprydningen måske ikke lykkes. Få mere at vide om, hvordan du rydder op i nedarvet adgang

Se også

Overvåg systemjob
Oprettelse og redigering af 1:N (en til mange) eller N:1 (mange til én)-relationer
Oprette N:N (mange til mange) tabelrelationer

Bemærk

Kan du fortælle os om dine sprogpræferencer for dokumentation? Tag en kort undersøgelse. (bemærk, at denne undersøgelse er på engelsk)

Undersøgelsen tager ca. syv minutter. Der indsamles ingen personlige data (erklæring om beskyttelse af personlige oplysninger).