Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Microsoft Dataverse is een gegevensplatform voor ondernemingen in Power Platform waarmee organisaties bedrijfstoepassingen kunnen maken. Deze toepassingen kunnen betrekking hebben op het bijhouden van informatie over bedrijfsprocessen die complexe relaties tussen gegevens bevatten. Dataverse ondersteunt algemene gegevensrelaties met behulp van de ingebouwde een-op-veel-, veel-op-een- en veel-op-veel-relatietypen. U kunt ook geavanceerdere veel-op-veel-relaties implementeren wanneer u gerelateerde gegevens over de relatie wilt bijhouden. Deze flexibiliteit is nuttig voor toepassingen zoals een gebeurtenisbeheer-app, waarbij het bijhouden van aanwezigheidsgegevens meer dan eenvoudige koppelingen vereist.
Aanbeveling
Dit artikel bevat een voorbeeldscenario en een visuele weergave van het modelleren van complexe gegevensrelaties in Microsoft Dataverse. Deze oplossing is een algemeen voorbeeld van een scenarioarchitectuur, die voor veel verschillende scenario's en branches gebruikt kan worden.
Architectuurschema
Werkproces
Een Power Apps-canvastoepassing maakt gebruik van Dataverse voor het beheren van gegevens voor een toepassing voor gebeurtenisbeheer. Met de toepassing kan de gebruiker bijhouden wie de gebeurtenis (of gebeurtenissen) heeft bezocht die worden gehost door het verkoopteam van de organisatie.
- Contactpersoon: De tabel Contactpersoon houdt personen bij die het verkoopteam uitnodigt voor evenementen.
- Gebeurtenis: De gebeurtenistabel houdt gebeurtenisgegevens bij zoals de naam, datum en locatie van elke gebeurtenis.
- Gebeurtenisdeelnemer: De tabel Gebeurtenisdeelnemer houdt bij wie elke gebeurtenis bijwoont en de aanwezigheidsgegevens. Deze tabel heeft een veel-op-veel-relatie tussen contactpersoon en gebeurtenis. Deze wordt gemaakt met een veel-op-één-relatie met de tabel Contactpersoon en een veel-op-één-relatie met de tabel Gebeurtenis. Met deze instelling kan deze veel-op-veel-tabel gegevens bevatten over de deelnemers van een gebeurtenis, zoals hun RSVP-status, aanwezigheidsstatus en of ze een vergoeding hebben betaald.
Gebruiksituatie
Het belangrijkste doel van de toepassing voor gebeurtenisbeheer is het bijhouden van aanwezigheid van gebeurtenissen en gerelateerde informatie. De vereisten zijn:
- De toepassing moet registreren wie aan elke gebeurtenis heeft deelgenomen en informatie over hun aanwezigheid.
- Eén persoon kan meerdere evenementen bijwonen.
Ingebouwde veel-op-veel-relatie
Terwijl het team dat de toepassing bouwt opties voor gegevensmodellering evalueerde, overwogen ze de ingebouwde ondersteuning voor veel-op-veel-relaties in Dataverse. Met deze benadering kan een contactpersoon meerdere gebeurtenissen bijwonen. Achter de schermen maakt Dataverse een interne intersecttabel waarmee de verbindingen tussen de contactpersoon en een of meer gebeurtenisrijen worden bijgehouden. Deze interne tabel kan niet worden gewijzigd. Er kunnen geen extra kolommen worden toegevoegd om gegevens over de relatie tussen de twee tabellen bij te houden. Hoewel deze benadering voldoet aan een deel van de vereisten van de app, is het niet mogelijk om informatie over elke gebeurtenis bij te houden die de contactpersoon bijwoont, zoals de RSVP-status.
Handmatige veel-op-veel-relatie
Als u aanvullende informatie wilt bijhouden over elke gebeurtenis die een contactpersoon bijwoont, moet u het relatiepatroon 'handmatig veel-op-veel' overwegen. Dit patroon omvat het maken van een aangepaste tabel die de intersect-tabel vertegenwoordigt en vervolgens twee veel-op-een-relaties tot stand brengt met de twee tabellen die de relatie definiëren. Met deze methode maakt u een aangepaste tabel, Gebeurtenisdeelnemer, om het snijpunt tussen contactpersoon en gebeurtenis weer te geven. De tabel Evenementdeelnemer bevat veel-op-één-relaties met de tabellen Contact en Evenement, waardoor het andere velden kan opslaan zoals RSVP-status, aanwezigheidsstatus en betalingsgegevens.
Hoewel dit patroon meer flexibiliteit biedt dan de ingebouwde veel-op-veel-relatie, kunt u dit alleen gebruiken wanneer u extra gegevens over de relatie moet opslaan.
Wanneer moet u elke benadering gebruiken
Ingebouwde veel-op-veel-benadering: Het beste als u alleen hoeft te weten welke contactpersonen zijn gekoppeld aan welke gebeurtenissen, geen extra informatie vereist. Automatiseert het beheer van het snijpunt tussen tabellen en rijen. Biedt een soepelere ervaring voor het koppelen van meerdere records tegelijk, met name in modelgestuurde apps, die zijn geoptimaliseerd voor de ingebouwde benadering.
Handmatig veel-op-veel: Gebruik deze functie wanneer u extra gegevens over elke relatie wilt opslaan. Eenvoudiger om aangepaste velden toe te voegen via de intersect-tabel. Biedt volledige controle over beveiliging en stelt u in staat om te automatiseren wanneer en wie de relatie tot stand kan brengen. Vereist meer stappen om aanvullende informatie te verstrekken voor elke rij (met name merkbaar bij het koppelen van meerdere rijen tegelijk).
In ons scenario kan het handmatige patroon inhouden dat de gebruiker een nieuw rijformulier te zien krijgt en dat hij of zij er op zijn minst op moet toezien dat de twee te koppelen rijen worden verstrekt. In Power Apps-canvastoepassingen kunnen makers deze complexiteit vereenvoudigen door een gebruikerservaring te bieden die de koppeling stroomlijnt. Houd er ook rekening mee dat wanneer u een handmatige relatie maakt, u de trapsgewijze opties voor de veel-op-een-relaties moet configureren om ervoor te zorgen dat als een van de gerelateerde rijen wordt verwijderd, de trapsgewijze opties het verwijderen van de aangepaste tabelrij automatiseren die de relatie bijhoudt. Als u de opties voor cascaderen niet juist configureert om de aangepaste intersecttabelrij te verwijderen, loopt u het risico zwevende rijen achter te laten.
Wanneer u kiest tussen de beste optie voor uw gegevensmodel, moet u er rekening mee houden dat er geen ingebouwde ondersteuning is voor het converteren tussen de twee benaderingen. Zodra u een benadering kiest, kunt u er niet tussen schakelen zonder uw gegevens te migreren. Evalueer zorgvuldig alle veel-op-veel-relaties om te bepalen of de aangepaste tabelbenadering nodig is. Overweeg ook of u niet alleen nu extra gegevens nodig hebt, maar ook in de toekomst. Het handmatige veel-op-veel-patroon, ondanks de complexiteit, biedt meer flexibiliteit.
Components
Power Apps wordt gebruikt om de gebruikerservaring van de oplossing te implementeren. Makers bouwen de toepassing om de gegevens in Dataverse te beheren. Makers moeten de gebruikerservaring implementeren voor alle veel-op-veel-relaties die ze maken.
Dataverse: Dataverse verwerkt de gegevensbehoeften van de toepassing. Dataverse biedt veel-op-een-, een-op-veel- en veel-op-veel-relatietypen om echte zakelijke gegevensverbindingen te modelleren.
Overwegingen
Deze overwegingen implementeren de pijlers van Power Platform Well-Architected, een set richtlijnen die de kwaliteit van een workload verbeteren. Meer informatie in Microsoft Power Platform Well-Architected.
Reliability
Werkbelastingen ontwerpen om te worden afgestemd op bedrijfsdoelstellingen en onnodige complexiteit of overhead voorkomen: Door het handmatige veel-op-veel-patroon te gebruiken voor alle relaties van dit type, wordt onnodige complexiteit toegevoegd aan het maken, onderhouden van toepassingen en de gebruikerservaring. Zorg ervoor dat u elke relatie evalueert om ervoor te zorgen dat de benadering die u kiest, het beste past bij uw vereisten.
Security
Ontwerp voor het beschermen van vertrouwelijkheid en integriteit: relaties tussen gegevens kunnen gevoelig zijn en rechtstreeks van invloed zijn op bedrijfsactiviteiten. Het Dataverse-beveiligingsmodel biedt standaard ondersteuning voor gedetailleerde beveiliging over hoe gegevens zijn gerelateerd en welke bewerkingen een gebruiker kan uitvoeren op basis van de gegevensrijen. Wanneer u een handmatige veel-op-veel-relatie maakt met een aangepaste intersecttabel, krijgt u extra besturingselementen die kunnen worden gebruikt om te beheren wie wat met die relatiegegevens kan doen.
Operationele uitmuntendheid
Automatiseer alle taken die niet profiteren van het inzicht en de aanpassingsbaarheid van menselijke interventie: gebruik trapsgewijze automatisering voor de relaties om aangepaste intersecttabelrijen automatisch op te schonen wanneer een van de gerelateerde rijen wordt verwijderd.
Optimalisatie van ervaring
Ontwerp voor eenvoud en efficiëntie: het kiezen van het type veel-op-veel-relatie heeft invloed op de manier waarop de gebruiker de relaties tussen gegevensrijen in de toepassing tot stand brengt. Wanneer u het handmatige patroon gebruikt, stelt u een consistente manier vast voor gebruikers om gegevens te relateren en algemene interactiescenario's op een consistente manier in de toepassing te optimaliseren. Voor modelgestuurde Power Apps-toepassingen kunt u overwegen om een meer aangepaste gebruikerservaring te bieden bij het gebruik van het handmatige patroon. Als u bijvoorbeeld een aangepaste Power Apps-canvaspagina of een PCF-besturingselement (Power Apps Component Framework) gebruikt, kunt u een vergelijkbare gestroomlijnde interactie-ervaring bieden als in een Power Apps-canvas-app.