Process Mining
Plus récente (Latest)
False
Image de fond de la bannière
Process Mining
Dernière mise à jour 17 avr. 2024

Tips for writing SQL

Introduction

Cette page contient des trucs et astuces pour écrire des transformations SQL.

Général

  • Dans les unions, les noms et l'ordre des champs doivent correspondre exactement. Il peut être nécessaire de créer des champs vides sur des parties de l'union pour aligner tous les champs, avec l'instruction { select null as "Field_X" .
  • Lors de l'écriture de dbt pour SQL Server, toutes les instructions Jinja sont compilées en code SQL, qu'elles se trouvent ou non dans des commentaires SQL. Par exemple, dans le -- {{ ref('Table1') }} suivant, le Jinja sera compilé en code SQL.
  • N’arrondissez pas les nombres, cela peut entraîner des incohérences. La plate-forme le fera automatiquement chaque fois qu'une valeur d'affichage l'exigera.

Structure de transformation

Dans SQL, il est possible que toutes les transformations ne soient pas être calculées dans une même table. Cela peut être causé par des agrégats ou des propriétés qui ne peuvent pas être exprimés dans une seule instruction select. Vous pouvez créer des tables support à cette fin. La création d'une table support dans la base de données vous permet d'utiliser le modèle dans plusieurs transformations. S'il n'est pas nécessaire de réutiliser le modèle, la transformation support peut également être ajoutée en tant que requête de prétraitement dans la table existante.

Pour faire la distinction entre les transformations de prise en charge et les autres transformations, vous pouvez les regrouper dans un sous-répertoire distinct.

Performances

Pour accélérer l'exécution de votre requête :

  • Évitez select distinct où il est également possible de créer un agrégat et de ne prendre qu’un seul enregistrement à l’aide d’une clause where .
  • Utilisez union all au lieu de union . À l'aide de union all , les enregistrements des tables sont concaténés, tandis que union supprime les doublons.
  • Si vous travaillez sur un ensemble de données volumineux, vous pouvez limiter les données avec lesquelles vous travaillez pendant le développement. Selon le dialecte SQL, vous pouvez par exemple y parvenir à l'aide des fonctions limit ou top .
  • Tous les modèles (à l'exception des modèles du répertoire 1_input ) sont matérialisés sous forme de table par dbt. Ce sont les paramètres par défaut de tous les connecteurs Process Mining. Pour plus d'informations, consultez la documentation dbt sur les matérialisations.
  • Lors de la génération d'un champ d'identification, utilisez la macro id() disponible dans pm-utils. Des exemples se trouvent dans le devkit-connector.

Guide de style SQL

Le guide de style suivant a été utilisé pour développer les modèles d'application Process Mining . Il est recommandé de suivre ces directives pour une cohérence et une lisibilité.

  • Écrivez les commandes et les fonctions SQL en minuscules.
  • Utilisez le même niveau de retrait pour select , from , where , join , etc., afin de comprendre plus facilement la structure du modèle.
    • Utilisez l'indentation pour l'utilisation des fonctions si cela améliore la lisibilité. Par exemple, utilisez le retrait pour chaque instruction dans une fonction case .
  • Utilisez des conventions de dénomination cohérentes pour les tables et les champs afin d'éviter les erreurs SQL indiquant que les tables ou les champs n'existent pas dans la base de données. Respectez les directives suivantes :

    • Les tables et les champs commencent par une majuscule.
    • Utilisez un trait de soulignement _ entre des mots distincts dans les tables et les champs.
    • Tous les champs comportent des guillemets.
    • Les tableaux ne contiennent pas de guillemets. Cela améliore la lisibilité en combinaison avec des champs comportant des guillemets.
  • Tous les champs sont précédés de la table dont ils proviennent, pour rendre le modèle plus facile à comprendre et à étendre.
  • Les virgules utilisées pour la séparation des champs sont placées à la fin de la ligne.
  • Utilisez des commentaires en ligne lorsque certaines constructions doivent être expliquées. Lorsque cela est fait, assurez-vous que le commentaire ajoute de la valeur.
  • Pour plus de lisibilité et de facilité de maintenance, utilisez des instructions de sélection explicites dans la partie transformation de la requête et n'utilisez pas select * . En particulier pour les syndicats, l'utilisation de select * peut générer des erreurs.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.