mardi 21 janvier 2020

Outil de modélisation de données

Même si nous sommes dans l'air du BigData, nous avons souvent besoin de modéliser les données d'une seule base dans l'objectif par exemple de créer un Dataware House pour gérer la restitution de l'activité d'un client.

Il existe de nombreux outils de modélisation de données.
Ils sont très graphiques et utiles pour avoir une vision globale de la structure des données facilitant l'échange avec les métiers dans leurs besoins. Toutefois la plupart d'entre eux fonctionnent en accès direct à la base et non à partir d'un simple fichier sql (facilite le reverse engineering).

  • PowerDesigner (PowerAMC) est l'outil par excellence, il permet d'ajouter des méta-données à notre modèle, il est très facile d'utilisation et très complet (mais cher). Il a été racheté par SAP.
  • WinDesign : produit français prometteur, mais je n'ai pas suivi son évolution (payant).
  • DbDesigner : Projet Open source de modélisation de données. Il ne permet pas le reverse engineering à partir d'un script.
  • MySqlWorkBench : remplaçant de DbDesigner et racheté par Oracle il est inclut dans le package pour installer MySql. Il permet le reverse engineering à partir d'un script (create table).
  • DBeaver (Community Edition : CE) : moins connu, efficace et disponible en français, il est nécessaire de créer une connexion à la base pour exécuter le reverse. Il existe une version Communautaire et une version entreprise.
Database Schema Design and Modeling Tool ; Visual Database Design

jeudi 16 janvier 2020

SQL Parser

Vous avez besoin d'analyser une requête SQL ?
Par exemple afin de connaître l'ensemble des champs et tables de plusieurs requêtes afin de déterminer un périmètre de données pour la mise en place d'un dataware house ou la création de restitution.

Nombreux sites expliquent la façon dont un parseur doit fonctionner (analyse syntaxique du langage), d'autres en font des analyses graphiques. Mais si vous avez simplement besoin de récupérer les tables et les champs, ces outils sont fait pour vous.

Il existe des parseurs SQL en ligne :

Il existe aussi un exécutable "General SQL Parser" qui fonctionne plutôt bien.



En revanche si vous souhaitez aller plus loin pour récupérer les jointures ou les conditions de filtres, il faudra vous penchez un peu plus sur les codes sources / outils présentés ci-dessous.

En langage de programmation :
#AnalyseSyntaxique #Sql #SqlParser #ParseurSql