Configuration de table

Effectué

La section Configuration de table du modèle identifie les informations sur les décisions de conception impactant la qualité globale du modèle de données et permet d’éviter les erreurs de configuration de table Common Data Model. Répondez aux questions suivantes sur les diapositives sur la configuration de table du modèle :

Question Raison d’être
Avez-vous supprimé toutes les options superflues lors de la création d’une table ? Toutes les options superflues (telles que les notes et les connexions) doivent être supprimées lors de la création d’une table, sinon elles peuvent créer des attributs et relations inutiles susceptibles d’impacter l’expérience utilisateur. Ces options peuvent être ajoutées ultérieurement.
Utilisez-vous des fonctionnalités prêtes à l’emploi au lieu de créer des colonnes (par exemple « Envoi d’e-mail » ou « Table d’activité » pour la prise en charge des listes de groupes, etc.) ? Si vous avez besoin de colonnes telles que Participants, À, De et Début prévu, utilisez une table d’activité personnalisée. Les tables d’activité personnalisées contiennent de nombreuses colonnes d’activité par défaut (telles que À, De, etc.) pouvant être utiles dans des scénarios spécifiques. Si vous devez envoyer des e-mails à un enregistrement de table personnalisée, activez-le pour les e-mails afin qu’une colonne d’adresse e-mail soit ajoutée automatiquement à ses colonnes.
Utilisez-vous des relations N:N ? Les relations plusieurs-à-plusieurs (N:N) sont à la fois légères et limitées dans leur extensibilité, et l’association de données entre deux enregistrements peut être difficile à importer.
Au lieu de relations N:N, avez-vous envisagé d’utiliser des tables personnalisées passerelles ? Une alternative aux relations N:N standard est une table passerelle, également appelée table d’intersection ou relation manuelle plusieurs-à-plusieurs. Au lieu d’utiliser une relation N:N standard, vous pouvez créer une table passerelle entre les deux tables associées avec une colonne de recherche référençant chaque côté de la relation. Cette approche permet de créer d’autres colonnes sur la relation décrivant la relation. Gardez à l’esprit que l’expérience utilisateur est plus compliquée qu’une relation N:N standard.
Tirez-vous parti des mappages de colonnes dans vos relations de table ? Lors de la création d’une relation, vous pouvez spécifier des mappages de colonnes pour renseigner automatiquement les colonnes de la table associée. Cette approche est utile si vous devez définir des valeurs communes entre les enregistrements parents et enfants (comme le remplissage automatique de l’adresse d’un contact lors de sa création à partir d’un compte parent). Cependant, cette approche ne doit pas servir à créer des données en double pour les colonnes critiques, et des alternatives telles que les aperçus doivent être envisagées pour afficher les attributs en lecture seule d’un parent sur le formulaire d’enregistrement d’un enregistrement enfant.
Utilisez-vous un seul éditeur pour votre personnalisation et un préfixe personnalisé ? Évitez d’utiliser plusieurs éditeurs avec le même nom technique mais avec des GUID différents. Créez l’éditeur de votre projet dans un environnement unique, puis déployez-le dans d’autres environnements de développement avec une solution non gérée. Si des personnalisations proviennent d’environnements différents avec le même éditeur de solutions (nom et nom système), les composants tels que les tables et les colonnes doivent également être vraiment uniques (même GUID) pour éviter tout problème de déploiement. Si le même nom de schéma est utilisé sur la même colonne créée séparément dans deux environnements, l’importation de la solution échoue lors de l’importation de la colonne dans l’environnement.

Colonnes de choix, tables personnalisées et localisation

Les colonnes de choix sont des colonnes de liste déroulante permettant de standardiser la capture de données dans Dynamics 365 et de rendre la recherche d’enregistrements bien plus pratique. Si tous les éléments utilisaient des colonnes de texte, vous finiriez par disposer d’une orthographe et d’abréviations radicalement différentes des mêmes valeurs dans plusieurs enregistrements, ce qui compliquerait le reporting et nuirait à la convivialité. Cependant, réfléchissez-bien pour veiller à optimiser l’utilisation des colonnes de choix. Répondez aux questions suivantes dans la section Colonnes de choix, tables personnalisées et localisation du modèle :

Question Raison d’être
Utilisez-vous des tables personnalisées à la place de colonnes de choix ? Lors de la définition d’une liste d’options parmi lesquelles un utilisateur peut faire son choix, vous pouvez soit utiliser une colonne d’options, soit définir une table personnalisée pour contenir une liste d’enregistrements et remplacer la colonne d’options par une colonne de recherche. Lors du choix entre des colonnes de choix et des colonnes de recherche, tenez compte des facteurs suivants : les valeurs d’une colonne d’options prennent en charge la traduction dans de nombreuses langues différentes, ce qui permet aux utilisateurs de voir les valeurs dans leur propre langue ; les choix (colonnes à choix multiple) peuvent afficher plusieurs valeurs dans une seule colonne ou sur une ligne dans une vue ; les colonnes de recherche peuvent être désactivées, laissant ainsi la valeur sur les enregistrements plus anciens à des fins historiques ; les valeurs d’une colonne d’options peuvent être uniquement supprimées ; les enregistrements de table personnalisée utilisés pour les options de colonne de recherche peuvent être modifiés, ajoutés ou supprimés par des non-administrateurs ; les valeurs d’une colonne d’options doivent être ajoutées ou modifiées par les administrateurs et intégrées aux pratiques Application Lifecycle Management (ALM) utilisées ; les valeurs d’une colonne d’options sont transférées avec les solutions, les enregistrements de table personnalisée utilisés dans les colonnes de recherche doivent être créés et gérés individuellement dans chaque environnement, ou des processus de migration de données doivent être établis pour maintenir la synchronisation des données de table personnalisée entre les environnements ; les tables personnalisées sont mieux adaptées aux grandes quantités d’options, car elles offrent plus de possibilités de recherche que les colonnes de choix.
Filtrez-vous les enregistrements en fonction de la langue de l’utilisateur à l’aide des attributs « nombre entier » du format « langue » ? La création d’une colonne de nombre entier avec l’option de format langue entraîne l’affichage d’une liste des langues prises en charge pour votre organisation. L’utilisation d’une colonne de nombre entier « langue » vous permet de filtrer les enregistrements en fonction de la langue de l’utilisateur actuel. Les valeurs s’affichent sous forme de liste déroulante de noms de langues, mais les données sont stockées sous forme de nombres utilisant des codes LCID. Les codes langue sont des ID de paramètres régionaux à quatre ou cinq chiffres. Les valeurs d’ID de paramètres régionaux valides sont consultables sur la page Valeurs d’ID de paramètres régionaux Microsoft.

Sécurité, relations et performances

La sécurité est traitée plus en détail dans le module Évaluer le modèle de sécurité de vos solutions Dynamics 365. Aux fins de ce module, vous allez évaluer l’impact de la conception du modèle de données sur le modèle de sécurité. Répondez aux questions suivantes dans la section Sécurité, relations et performances du modèle de l’atelier Modèle de données :

Question Raison d’être
Avez-vous envisagé d’utiliser des tables appartenant à un utilisateur/une équipe plutôt que des tables appartenant à une organisation ? En général, les données de référence ne nécessitent pas de propriété si la visibilité de l’enregistrement ne doit pas être limitée à des utilisateurs ou groupes spécifiques. En cas de doute, le meilleur choix à votre disposition consiste à créer la table avec une propriété Utilisateur ou équipe, car vous pouvez toujours accorder aux utilisateurs un accès à ces enregistrements au niveau de l’organisation. Le choix de la propriété Organisation ne peut pas être modifié et à mesure que votre société se développe, vous devrez peut-être restreindre l’accès à certains enregistrements ultérieurement. Voilà pourquoi l’option Utilisateur ou équipe doit être sélectionnée, car elle offre une flexibilité maximale pour les futurs changements métier.
Avez-vous examiné les relations au sein de votre modèle de données et leur impact sur la sécurité ? Voici les comportements relationnels impactant la sécurité : Affecter (en cascade, du parent aux enfants), Partager (en cascade, du parent aux enfants), Annuler le partage (en cascade, du parent aux enfants) et Apparenter à nouveau (non en cascade ; se produit lors de l’association de l’enregistrement enfant au parent, ce qui est important pour le partage implicite).
Utilisez-vous la sécurité au niveau de la colonne ? La sécurité au niveau de la colonne est une bonne option pour sécuriser les données dans des colonnes spécifiques. Cependant, la surutilisation des colonnes sécurisées peut impacter les performances et compliquer l’administration.
Avez-vous envisagé de transférer des données sensibles vers une table distincte ? La sécurité au niveau de la colonne fonctionne au niveau global et n’est pas sensible au contexte de l’utilisateur/du centre de profit (sauf si ces colonnes sont partagées par enregistrement), tandis que l’utilisation d’une table associée personnalisée pour les données sensibles offre davantage de flexibilité afin de disposer de niveaux d’autorisation différents pour les données sensibles entre les centres de profit.
Effectuez-vous un suivi ou disposez-vous de conventions d’affectation de noms pour les colonnes d’informations personnelles sensibles ? Les colonnes contenant des informations personnelles doivent faire l’objet d’une attention particulière pour rester en conformité avec les réglementations relatives à la sécurité des données. Une approche de la gestion des colonnes d’informations personnelles consiste à établir des conventions d’affectation de noms pour les colonnes d’informations personnelles, par exemple l’ajout de « personne » ou « informations confidentielles » au début du nom du schéma pour les colonnes d’informations personnelles.

Clés secondaires, colonnes calculées et colonnes cumulatives

Dans cette section, vous pouvez capturer des informations sur divers types de colonnes en répondant aux questions suivantes :

Question Raison d’être
Utilisez-vous des clés secondaires ? Les clés secondaires permettent à l’administrateur de définir des clés composites contenant plusieurs colonnes de la table. Les clés secondaires assurent l’unicité de l’enregistrement. Les valeurs de clé sont indexées, ce qui augmente la vitesse de recherche et améliore l’efficacité des importations de données en permettant de mettre en correspondance l’enregistrement pour mise à jour en fonction de la valeur de clé secondaire. Soyez prudent en cas d’ajout à un système existant susceptible de briser la logique de création d’enregistrement sans fournir de valeurs uniques. Les clés secondaires peuvent être utiles pour les scénarios d’intégration lorsque vous souhaitez bénéficier des fonctionnalités d’upsert : en fournissant la clé, le système sait s’il peut mettre à jour un enregistrement ou en créer un.
Utilisez-vous des colonnes calculées ? Un excès de JavaScript, de règles métier et de plug-ins peut dégrader les performances du système. Les colonnes calculées permettent d’effectuer des calculs en temps réel lors de la consultation des données et peuvent être plus efficaces. Comme la valeur est mise à jour uniquement en cas d’extraction, veillez à ne pas avoir besoin de mises à jour en temps réel, car les valeurs source calculées changent.
Utilisez-vous des colonnes cumulatives ? Lors du report des valeurs des enregistrements enfants dans le parent, de nombreux clients utilisent des plug-ins synchrones. Ce choix entraîne une surcharge supplémentaire sur les performances en cas de surutilisation. En utilisant des colonnes cumulatives standard, vous pouvez éviter les plug-ins superflus, simplifier les futures mises à niveau et améliorer les performances du système. Gardez à l’esprit que les colonnes cumulatives effectuent des calculs uniquement toutes les 12 heures par défaut. Par conséquent, si vous disposez de données à évolution rapide, les colonnes cumulatives standard peuvent ne pas fournir des informations à jour, et des plug-ins doivent être utilisés. Cependant, en utilisant des colonnes cumulatives pour des données à évolution plus lente, vous améliorez les performances.
Avez-vous vérifié que la longueur ou valeur minimale/maximale de chacune de vos colonnes était cohérente avec les besoins métier et toute intégration de données ou tout mappage de données ? Si le client doit migrer ou intégrer des données Dynamics 365 avec d’autres systèmes, vous devez vérifier que les longueurs de colonne configurées sont cohérentes avec les longueurs de colonne de données dans d’autres systèmes.
Avez-vous envisagé d’utiliser des colonnes de date au format « Date uniquement » ou « Sans fuseau horaire » ? Le comportement par défaut d’une colonne de date est Heure locale de l’utilisateur. Cette option affiche les valeurs de date et d’heure dans le fuseau horaire de l’utilisateur consultant l’enregistrement. Cette option est judicieuse pour les dates où l’heure spécifique est importante, mais elle peut causer des problèmes pour d’autres types de dates. Par exemple, si le champ « anniversaire » est au format « Heure locale de l’utilisateur », en cas d’anniversaire le 5 janvier à minuit, la date correspondante présentée à un utilisateur situé dans le fuseau horaire adjacent à l’ouest de celui où se trouve le créateur de l’enregistrement est la veille à 23 h. Le format « Date uniquement » stocke uniquement la valeur de la date et le format « Sans fuseau horaire » stocke l’heure, mais tous les utilisateurs voient la valeur de date correcte.

Audit

L’audit est important pour la traçabilité de la sécurité et la résolution des problèmes liés aux données. Dans la section Audit du modèle de l’atelier Modèle de données, capturez les informations suivantes sur les paramètres d’audit dans l’environnement du client :

Question Raison d’être
Avez-vous configuré l’audit ? De nombreux clients supposant avoir configuré l’audit ne disposent en réalité d’aucune stratégie d’audit complète. L’audit n’est pas activé par défaut pour les tables. Nous vous recommandons d’activer l’audit uniquement pour les colonnes spécifiques que vous souhaitez suivre. Lorsque des tables sont ajoutées, il peut être facile d’oublier d’activer l’audit pour la table concernée. Ensuite, si des données sont supprimées ultérieurement, l’administrateur découvre qu’il n’existe aucun journal d’audit : il est donc impossible de savoir qui a supprimé les données.
Supprimez-vous régulièrement les journaux d’audit ? Les données du journal d’audit s’accumulent jusqu’à de grands volumes au fil du temps et doivent être régulièrement supprimées pour économiser de l’espace de stockage.
Avez-vous mis en place un processus pour nettoyer régulièrement les données du journal ? Les données du journal d’audit s’accumulent jusqu’à de grands volumes au fil du temps et doivent être régulièrement supprimées pour économiser de l’espace de stockage.
Avez-vous mis en place un processus pour archiver régulièrement les données transactionnelles ? Les données transactionnelles importées sur plusieurs mois peuvent représenter de grands volumes, impactant ainsi les performances du système et augmentant les coûts de stockage. Des stratégies de conservation des données doivent être établies pour toutes les données transactionnelles non exploitables. Les données en dehors de la période de rétention doivent être archivées ou supprimées du système. Les tâches de suppression en bloc du système permettent de supprimer automatiquement des enregistrements selon un calendrier.

Affichage ou intégration de données externes

De nombreux déploiements Dynamics 365 comprennent des intégrations à d’autres systèmes, ce qui étend le modèle de données hors les murs de Dataverse. De nombreuses migrations de données peuvent être remplacées par des options plus flexibles, ce qui réduit la taille de la base de données et améliore les performances du système. Répondez aux questions suivantes dans cette section du modèle de l’atelier Modèle de données :

Question Raison d’être
Copiez-vous des données externes dans des tables Dynamics 365 ? Une intégration de données transfère des données dans Dataverse et permet aux utilisateurs Dynamics 365 d’accéder à des données système externes. Cependant, les intégrations de données physiques peuvent poser des problèmes : les migrations et intégrations de données volumineuses augmentent considérablement la taille et les coûts de stockage du système. Les migrations de données volumineuses prennent du temps et peuvent retarder le déploiement de l’application. Les migrations et intégrations de données volumineuses créent des copies des données système sensibles, ce que les responsables sécurité et conformité peuvent voir d’un mauvais œil. Des intégrations de données volumineuses fréquemment exécutées peuvent dégrader les performances du système.
Avez-vous envisagé d’afficher des données externes à l’aide d’applications canevas de Microsoft Power Apps ? Les applications canevas de Power Apps peuvent être intégrées à des formulaires d’application Dynamics 365 pilotées par modèle à l’aide de plus de 300 connecteurs standard, en fournissant des Assistants pratiques pour simplifier les tâches utilisateur courantes. Les applications canevas peuvent également créer des enregistrements dans d’autres systèmes à l’aide de connecteurs, ce qui leur permet de faire office de pont idéal entre les applications sans avoir besoin de copier physiquement les données.
Avez-vous envisagé d’afficher des données externes à l’aide de Power Apps Component Framework ? Les contrôles Power Apps Component Framework permettent aux administrateurs de remplacer les contrôles système par des contrôles personnalisés et d’afficher des données externes.
Avez-vous envisagé d’intégrer des vignettes Microsoft Power BI pour afficher des données externes ? En intégrant des vignettes Power BI à vos formulaires d’application Dynamics 365 pilotée par modèle, vous pouvez afficher des données stockées dans d’autres systèmes et les filtrer afin qu’elles soient contextuelles dans un enregistrement, sans avoir à les copier dans Dynamics 365.
Utilisez-vous des tables virtuelles ? Les tables virtuelles ne contiennent aucune donnée : elles se connectent à une source de données externe, tout en présentant les données aux utilisateurs comme si elles se trouvaient dans Dataverse. Ces données sont disponibles pour les vues, les sous-grilles et les requêtes de recherche avancée. À l’heure actuelle, les tables virtuelles prennent en charge uniquement la lecture de données et toutes les données de table virtuelle sont visibles par tous les utilisateurs du système. Si une sécurité granulaire est requise, vous devez envisager d’autres options.
Avez-vous envisagé d’utiliser le service d’exportation vers Azure Data Lake ou le service d’exportation de données si vous avez besoin de données Dynamics à des fins de décisionnel externe ? Le service d’exportation vers Data Lake est un pipeline permettant d’exporter continuellement des données de Dataverse vers Microsoft Azure Data Lake Storage Gen2. Le service d’exportation vers Data Lake est conçu pour l’analytique Big Data d’entreprise en offrant une haute disponibilité évolutive avec des fonctionnalités de reprise d’activité après sinistre. Les données sont stockées au format Common Data Model, qui fournit une cohérence sémantique entre les applications et les déploiements. Le service d’exportation Dynamics synchronise les données Dynamics 365 avec une base de données Azure SQL, ce qui est l’idéal pour le reporting sur des jeux de données volumineux à partir de Dynamics, car le nombre d’enregistrements pouvant faire l’objet d’un reporting à l’aide d’une requête directe à partir de Power BI lors de la connexion directe à Dynamics 365 est limité. Le reporting à partir d’une base de données externe est également préférable du point de vue des performances.

Expérience utilisateur

Même si l’objet principal du modèle de données est de comprendre les associations de tables et les flux de données dans le système, le modèle de données doit être influencé par une bonne expérience utilisateur pour optimiser l’adoption utilisateur du système. La modélisation des données dans Dynamics 365 peut avoir un fort impact sur l’expérience utilisateur et sur la convivialité de l’application. Prenez le temps de « nettoyer » les données de colonne et de table, afin d’éviter toute confusion pour les utilisateurs quant aux données à utiliser. Répondez aux questions suivantes dans la section Expérience utilisateur du modèle de l’atelier Modèle de données :

Question Raison d’être
Avez-vous exclu les colonnes et relations inutilisées de la recherche ? La définition de colonnes comme ne pouvant pas faire l’objet d’une recherche exclut ces colonnes et relations du concepteur de filtres de Recherche avancée et facilite les recherches d’informations des utilisateurs. La limitation des colonnes « Rechercher » de recherche rapide aux seules colonnes principales contribue à accélérer les recherches rapides.
Avez-vous préfixé les colonnes inutilisées (par exemple « ZZ colonne ») pour vous assurer qu’elles s’affichent à la fin de la liste ? La définition de colonnes comme ne pouvant pas faire l’objet d’une recherche ne les exclut pas de la conception de disposition de vue. Une approche pour simplifier la création de vues consiste à ajouter un préfixe tel que « ZZ » ou une autre notation standardisée aux noms d’affichage des colonnes, afin qu’elles s’affichent alphabétiquement en dernier et ne risquent pas de submerger les utilisateurs.
Avez-vous adopté une convention d’affectation de noms cohérente pour les métadonnées afin de simplifier l’UX ? Lors de la conception d’un modèle de données, vous devez créer des conventions d’affectation de noms cohérentes pour fournir des libellés cohérents et compréhensibles. Cette notion s’applique également aux noms de schéma de colonnes présentés aux développeurs ou aux utilisateurs accédant aux données au moyen d’API (par exemple à l’aide de Power BI).
Avez-vous adopté une procédure cohérente de gestion des métadonnées (par exemple en cas d’ajout de nouvelles colonnes) pour éviter les conflits et les doublons ? Lorsque plusieurs équipes ou flux de projets travaillent sur une même implémentation, il est particulièrement important qu’une gouvernance soit en place pour gérer les métadonnées (notamment les colonnes), afin de disposer d’un modèle de données cohérent et d’éviter les doublons potentiels.

À la fin de l’atelier, l’architecte de solution doit expliquer la nature des prochaines étapes et des actions que le client et le partenaire doivent suivre et entreprendre. Indiquez que des conclusions et des recommandations seront envoyées et qu’une réunion de suivi sera planifiée avec le client pour examiner le statut des éléments de suivi si nécessaire.