Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Tabelrelaties in Microsoft Dataverse definiëren de manieren waarop tabelrijen kunnen worden gekoppeld aan rijen uit andere tabellen of dezelfde tabel. Er zijn twee typen tabelrelaties:
Eén-op-veel relaties
In een een-op-veel-tabelrelatie kunnen veel verwijzende (gerelateerde) tabelrijen worden gekoppeld aan één tabelrij waarnaar wordt verwezen (primaire tabel). De tabelrij waarnaar wordt verwezen, wordt soms aangeduid als de 'ouder' en de rijen van de verwijzende tabel worden 'kinderen' genoemd. Een veel-op-één-relatie is slechts het onderliggende perspectief van een één-op-veel-relatie.
In een schoolscenario kunnen bijvoorbeeld meerdere cursussen in één leslokaal worden geleverd, zodat de klastabel een een-op-veel-relatie met de cursustabel heeft.
Veel-op-veel relaties
In een veel-op-veel-tabelrelatie kunnen veel tabelrijen worden gekoppeld aan veel andere tabelrijen. Rijen die zijn gemaakt met een veel-op-veel-relatie kunnen worden beschouwd als gelijken en de relatie is wederzijds.
In hetzelfde eerder genoemde schoolscenario kan één leerling/student zich bijvoorbeeld inschrijven voor meerdere cursussen en kan elke cursus meerdere leerlingen/studenten hebben. Dit type relatie maakt complexere gegevenskoppelingen mogelijk en wordt beheerd met Behulp van Power Apps in Dataverse.
Hoe relaties werken in Dataverse
Tabelrelaties bepalen hoe tabelrijen aan elkaar kunnen worden gerelateerd in Dataverse. Op het eenvoudigste niveau maakt het toevoegen van een opzoekkolom aan een tabel een nieuwe 1:N-relatie (een-op-veel) tussen de twee tabellen en kunt u die opzoekkolom op een formulier plaatsen. Met de opzoekkolom kunnen gebruikers meerdere onderliggende rijen van die tabel koppelen aan één bovenliggende tabelrij.
Naast het definiëren van hoe rijen kunnen worden gerelateerd aan andere rijen, bieden 1:N-tabelrelaties ook gegevens om de volgende vragen aan te pakken:
- Wanneer ik een rij verwijder, moeten alle rijen met betrekking tot die rij ook worden verwijderd?
- Wanneer ik een rij toewijs, moet ik ook alle rijen met betrekking tot die rij toewijzen aan de nieuwe eigenaar?
- Hoe kan ik het gegevensinvoerproces stroomlijnen wanneer ik een nieuwe gerelateerde rij maak in de context van een bestaande rij?
- Hoe moeten personen die een rij bekijken, de bijbehorende rijen kunnen weergeven?
Tabellen kunnen ook deelnemen aan een N:N-relatie (veel-op-veel) waarbij een willekeurig aantal rijen voor twee tabellen aan elkaar kan worden gekoppeld.
Bepalen of u tabelrelaties of verbindingen wilt gebruiken
Tabelrelaties zijn metagegevens die wijzigingen aanbrengen in Dataverse. Met deze relaties kunnen query's gerelateerde gegevens efficiënt ophalen. Gebruik tabelrelaties om formele relaties te definiëren die de tabel definiëren of die de meeste rijen kunnen gebruiken. Een verkoopkans zonder potentiële klant zou bijvoorbeeld niet nuttig zijn. De kansentabel in Dynamics 365 for Sales heeft een N:N-relatie met de concurrententabel, die ook beschikbaar is binnen Dynamics 365 for Sales. Hierdoor kunnen meerdere concurrenten aan de verkoopkans worden toegevoegd. U kunt deze gegevens vastleggen en een rapport maken waarin de concurrenten worden weergegeven.
Er zijn andere minder formele soorten relaties tussen rijen die verbindingen worden genoemd. Het kan bijvoorbeeld handig zijn om te weten of twee contactpersonen getrouwd zijn, of misschien zijn ze vrienden buiten het werk, of misschien een contactpersoon die is gebruikt om voor een ander account te werken. De meeste bedrijven genereren geen rapporten met dit soort gegevens of vereisen dat ze worden ingevoerd, dus het is waarschijnlijk niet de moeite waard om tabelrelaties te maken. Meer informatie: Verbindingsrollen configureren
Typen tabelrelaties
Wanneer u relaties in Power Apps bekijkt, denkt u misschien dat er drie typen tabelrelaties zijn. Het zijn er in feite slechts twee, zoals aangegeven in de volgende tabel.
| Relatietype | Description |
|---|---|
| 1:N (Een-op-veel) | Een tabelrelatie waarbij één tabelrij voor de primaire tabel kan worden gekoppeld aan veel andere gerelateerde tabelrijen vanwege een opzoekkolom in de gerelateerde tabel. Wanneer u een primaire tabelrij bekijkt, ziet u een lijst met de gerelateerde tabelrijen die eraan zijn gekoppeld. In de Power Apps-portal vertegenwoordigt de huidige tabel de primaire tabel. |
| N:N (Veel-op-veel) | Een tabelrelatie die afhankelijk is van een speciale relatietabel, ook wel een Intersect-tabel genoemd, zodat veel rijen van een tabel kunnen worden gerelateerd aan veel rijen van een andere tabel. Wanneer u rijen van een van beide tabellen in een N:N-relatie bekijkt, ziet u een lijst met rijen van de andere tabel die eraan zijn gerelateerd. |
Het relatietype N:1 (veel-op-een) bestaat in de gebruikersinterface omdat de ontwerpfunctie een weergave weergeeft die is gegroepeerd op tabellen. 1:N-relaties bestaan daadwerkelijk tussen tabellen en verwijzen naar elke tabel als een primaire/huidige tabel of gerelateerde tabel. De gerelateerde tabel, ook wel de onderliggende tabel genoemd, heeft een opzoekkolom waarmee een verwijzing naar een rij uit de primaire tabel kan worden opgeslagen, ook wel de bovenliggende tabel genoemd. Een N:1-relatie is slechts een 1:N-relatie die wordt bekeken vanuit de gerelateerde tabel.
Gedrag van tabelrelaties
Gedrag voor gerelateerde tabellen is belangrijk omdat ze helpen de gegevensintegriteit te waarborgen en bedrijfsprocessen voor u te automatiseren.
Behoud van gegevensintegriteit
Sommige tabellen bestaan ter ondersteuning van andere tabellen. Ze zijn op zichzelf niet begrijpelijk. Ze hebben doorgaans een vereiste opzoekkolom om een koppeling te maken naar de primaire tabel die ze ondersteunen. Wat moet er gebeuren wanneer een primaire rij wordt verwijderd?
U kunt het relatiegedrag gebruiken om te definiëren wat er gebeurt met gerelateerde rijen volgens de regels voor uw bedrijf. Meer informatie: Geavanceerd relatiegedrag toevoegen
Bedrijfsprocessen automatiseren
Stel dat u een nieuwe verkoper hebt en dat u ze een aantal bestaande accounts wilt toewijzen die momenteel zijn toegewezen aan een andere verkoper. Aan elke accountrij kan een aantal taakactiviteiten zijn gekoppeld. U kunt eenvoudig de actieve accounts vinden die u opnieuw wilt toewijzen en toewijzen aan de nieuwe verkoper. Maar wat moet er gebeuren voor een van de taakactiviteiten die aan de accounts zijn gekoppeld? Wilt u elke taak openen en besluiten of die ook aan de nieuwe verkoper moet worden toegewezen? Waarschijnlijk niet. In plaats daarvan kunt u de relatie automatisch bepaalde standaardregels laten instellen. Deze regels zijn alleen van toepassing op taakrijen die zijn gekoppeld aan de accounts die u opnieuw toedeelt. U hebt de volgende opties:
- Alle actieve taken opnieuw toewijzen.
- Alle taken opnieuw toewijzen.
- Geen taken opnieuw toewijzen.
- Wijs alle taken die momenteel zijn toegewezen aan de voormalige eigenaar van de accounts opnieuw toe.
Met de relatie kan worden bepaald hoe bewerkingen op een rij voor de trapsgewijze ordening van de primaire tabelrij naar verwante tabelrijen omlaag worden uitgevoerd.
Behaviors
Er zijn verschillende soorten gedragingen die kunnen worden toegepast wanneer bepaalde acties optreden.
| Gedrag | Description |
|---|---|
| Actieve items trapsgewijs ordenen | Voer de actie uit op alle actieve gerelateerde tabelrijen. |
| Alle items trapsgewijs ordenen | Voer de actie uit voor alle gerelateerde tabelrijen. |
| Geen items trapsgewijs ordenen | Niets doen. |
| Koppeling verwijderen | Verwijder de opzoekwaarde voor alle gerelateerde rijen. |
| Beperken | Voorkomen dat de primaire tabelrij wordt verwijderd wanneer er gerelateerde tabelrijen bestaan. |
| Items waarvan gebruiker eigenaar is trapsgewijs ordenen | Voer de actie uit voor alle gerelateerde tabelrijen die eigendom zijn van dezelfde gebruiker als de primaire tabelrij. |
Acties
Dit zijn de acties die bepaalde gedragingen kunnen activeren:
| Kolom | Description | Options |
|---|---|---|
| Toewijzen | Wat moet er gebeuren wanneer de primaire tabelrij wordt toegewezen aan iemand anders? | Alles trapsgewijs Trapsgewijs actief Gebruiker-eigenaar trapsgewijs Geen trapsgewijs |
| Nieuw bovenliggend element | Wat moet er gebeuren wanneer de opzoekwaarde van een gerelateerde tabel in een ouderlijke relatie wordt gewijzigd? Meer informatie: Relaties tussen parent-tabellen |
Alles trapsgewijs Trapsgewijs actief Cascadesysteem eigendom van de gebruiker Geen trapsgewijs |
| Delen | Wat moet er gebeuren wanneer de primaire tabelrij wordt gedeeld? | Alles trapsgewijs Trapsgewijs actief Gebruiker-eigenaar trapsgewijs Geen trapsgewijs |
| Verwijderen | Wat moet er gebeuren wanneer de primaire tabelrij wordt verwijderd? | Alles trapsgewijs Artikel ontkoppelen Beperken |
| Delen opheffen | Wat moet er gebeuren wanneer een primaire tabelrij niet is gedeeld? | Alles trapsgewijs Trapsgewijs actief Gebruiker-eigenaar trapsgewijs Geen trapsgewijs |
| Samenvoegen | Wat moet er gebeuren wanneer een primaire tabelrij wordt samengevoegd? | Alles trapsgewijs Geen trapsgewijs |
| Rollup-weergave | Wat is het gewenste gedrag van de samenvouwweergave die aan deze relatie is gekoppeld? | Alles trapsgewijs Trapsgewijs actief Cascade gebruikersbezit Geen trapsgewijs |
Opmerking
De acties Toewijzen, Verwijderen, Samenvoegen en Reparent worden niet uitgevoerd in de volgende situaties:
- Als de oorspronkelijke bovenliggende rij en de aangevraagde actie dezelfde waarden bevatten. Voorbeeld: proberen om een toewijzing te activeren en een contactpersoon te kiezen die al de eigenaar van de rij is.
- Proberen een actie uit te voeren op een bovenliggende rij waarop al een trapsgewijze actie wordt uitgevoerd.
Bij het uitvoeren van een toewijzing worden werkstromen of bedrijfsregels die momenteel actief zijn in de rijen, automatisch gedeactiveerd wanneer de toewijzing plaatsvindt. De nieuwe eigenaar van de rij moet de werkstroom of bedrijfsregel opnieuw activeren als hij of zij deze wil blijven gebruiken.
Bovenliggende tabelrelaties
Elk paar tabellen dat in aanmerking komt voor een 1:N-relatie, kan meerdere 1:N-relaties hebben. Maar meestal kan slechts één van deze relaties worden beschouwd als een ouderlijke tabelrelatie.
Een ouder-tafelrelatie is een 1:N tabelrelatie waarbij een van de cascademogelijkheden in de kolom Parental van de volgende tabel van toepassing is.
| Handeling | bovenliggend | Niet ouderlijk toezicht |
|---|---|---|
| Toewijzen | Alles trapsgewijs Gebruiker-eigenaar trapsgewijs Trapsgewijs actief |
Geen trapsgewijs |
| Verwijderen | Alles trapsgewijs | RemoveLink Beperken |
| Nieuw bovenliggend element | Alles trapsgewijs Gebruiker-eigenaar trapsgewijs Trapsgewijs actief |
Geen trapsgewijs |
| Delen | Alles trapsgewijs Gebruiker-eigenaar trapsgewijs Trapsgewijs actief |
Geen trapsgewijs |
| Delen opheffen | Alles trapsgewijs Gebruiker-eigenaar trapsgewijs Trapsgewijs actief |
Geen trapsgewijs |
Als u bijvoorbeeld een nieuwe aangepaste tabel maakt en een 1:N-tabelrelatie toevoegt met de accounttabel waarin uw aangepaste tabel de gerelateerde tabel vormt, kunt u de acties voor die tabelrelatie configureren om de opties in de kolom Ouderlijk te gebruiken. Als u later nog een 1:N-tabelrelatie toevoegt met uw aangepaste tabel als de verwijzende tabel, kunt u alleen de acties configureren om de opties in de kolom Niet-ouder te gebruiken.
Dit betekent meestal dat er voor elk tabelpaar slechts één ouderlijke relatie is. Er zijn enkele gevallen waarin het opzoeken van de gerelateerde tabel mogelijk een relatie met meer dan één type tabel toestaat.
Een tabel kan bijvoorbeeld een opzoekfunctie voor klanten hebben die kan verwijzen naar een contactpersoon of rekeningentabel. Er zijn twee afzonderlijke bovenliggende 1:N-tabelrelaties.
Elke activiteitstabel heeft een soortgelijke set bovenliggende tabelrelaties voor tabellen die kunnen worden gekoppeld met de opzoekkolom Betreft.
De beperkingen voor gedrag dat u kunt instellen
Vanwege ouderlijke relaties zijn er enkele beperkingen, houd er rekening mee wanneer u tabelrelaties definieert.
- Een aangepaste tabel kan niet de primaire tabel zijn in een relatie met een gerelateerde systeemtabel die trapsgewijs is geordend. Dit betekent dat u geen relatie kunt hebben met een actie die is ingesteld op Trapsgewijs alle, Trapsgewijs actief of Trapsgewijs gebruikerseigendom tussen een primaire aangepaste tabel en een gerelateerde systeemtabel.
- Er kan geen nieuwe relatie worden ingesteld op Trapsgewijs Alle, Trapsgewijs Actief of Trapsgewijs Gebruikerseigendom, als de relevante tabel in die relatie al bestaat als een relevante tabel in een andere relatie waarbij de actie is ingesteld op Trapsgewijs Alle, Trapsgewijs Actief of Trapsgewijs Gebruikerseigendom. Op deze manier worden relaties voorkomen die relaties veroorzaken met meerdere bovenliggende elementen.
Overgenomen toegangsrechten opschonen
Het gebruik van het trapsgewijze gedrag van Reparent en Delen is handig als u toegang wilt bieden tot rijen in gerelateerde tabellen. Maar er kan een wijziging in proces of ontwerp zijn die een wijziging van de trapsgewijze gedragsinstellingen vereist.
Wanneer een tabelrelatie Reparent of Delen gebruikt en het trapsgewijze gedrag wordt gewijzigd in Trapsgewijs geen, voorkomt de tabelrelatie dat nieuwe machtigingen worden gewijzigd in de gerelateerde onderliggende tabellen. Bovendien moeten overgenomen machtigingen die zijn verleend terwijl het trapsgewijze gedrag actief was, worden ingetrokken.
Opschoning van overgeërfde toegangsrechten is een systeemtaak die de verouderde overgenomen toegangsrechten opruimt die blijven bestaan nadat het trapsgewijze gedrag is veranderd naar Cascade None. Deze opschoning heeft geen invloed op alle gebruikers die rechtstreeks toegang tot een tabel hebben gekregen, maar verwijdert wel toegang van iedereen die alleen toegang heeft gekregen via overname.
Dit is hoe overgenomen toegangsrechten opschonen werkt:
- Identificeert en verzamelt alle tabellen die zich in een trapsgewijze relatie bevinden met de bijgewerkte bovenliggende tabel.
- Identificeert en verzamelt de gebruikers die toegang tot de gerelateerde tabellen hebben gekregen via overgenomen toegang.
- Controleert op gebruikers die directe toegang tot een gerelateerde tabel hebben gekregen en verwijdert ze uit de verzameling.
- Hiermee verwijdert u overgenomen toegang voor de verzamelde gebruikers in de verzamelde tabellen.
Nadat het opschonen is uitgevoerd, kunnen gebruikers die alleen toegang hadden tot gerelateerde tabellen vanwege de cascading functionaliteit, niet langer toegang krijgen tot de rijen, zodat een grotere beveiliging gewaarborgd is. Er zijn gevallen waarin het opschonen mogelijk niet lukt. Meer informatie over het opschonen van overgenomen toegang
Zie ook
Systeemtaken controleren
1:N -relaties (een-op-veel) of N:1 (veel-op-een) maken en bewerken
Veel-op-veel-tabelrelaties (N:N) maken