Explorer une base de données inconnue avec DatabaseSpy
Les développeurs de logiciels travaillant sur une nouvelle application, les professionnels des données dans divers secteurs d'activité, et même les administrateurs de bases de données, sont souvent confrontés à des bases de données inconnues et ont besoin d'un outil de gestion de bases de données pour explorer rapidement les tables et les relations.
Altova DatabaseSpy est un outil unique qui permet de réaliser des requêtes, de concevoir des bases de données et de les comparer, le tout grâce à un éditeur graphique de conception de bases de données. Cet outil permet aux utilisateurs qui explorent une base de données inconnue de visualiser rapidement les tables, les relations et même les définitions des types de données, qui peuvent être spécifiques à certains types de bases de données.

DatabaseSpy prend en charge toutes les bases de données les plus courantes :
- Firebird
- IBM DB2®
- Informix®
- Microsoft Access™
- Microsoft® Azure SQL
- Microsoft® SQL Server®
- MySQL®
- Oracle®
- PostgreSQL
- Progress OpenEdge
- SQLite
- Sybase®
Chinook est une base de données de démonstration open source, disponible pour SQL Server, Oracle, MySQL, DB2, PostgreSQL, SQLite, et d'autres, qui implémente un modèle de données pour une boutique de médias numériques. Explorons la version SQLite avec DatabaseSpy.
L'assistant de connexion de DatabaseSpy permet de se connecter rapidement à SQLite et d'ajouter la base de données à un nouveau projet DatabaseSpy :


Un projet DatabaseSpy peut contenir des connexions à plusieurs bases de données, même des bases de données de types différents. La fenêtre d'assistance du navigateur en ligne nous permet de visualiser immédiatement la liste des tables et de générer des décomptes de lignes :

Pour une base de données plus complexe, le navigateur en ligne affiche également plusieurs schémas de base de données, des vues, des procédures, des fonctions, etc., comme on peut le voir dans cet exemple de la base de données de démonstration SQL Server AdventureWorks :

Nous sommes intéressés par la base de données de la boutique de musique numérique, car nous disposons également d'un fichier CSV contenant des métadonnées provenant d'une autre bibliothèque de fichiers multimédias que nous souhaitons ajouter à la base de données. Le fichier CSV contient les champs suivants :

Nous pouvons cliquer sur le bouton "plus" situé à côté du tableau "Track" dans la fenêtre du navigateur en ligne, ou, mieux encore, ouvrir le tableau dans une nouvelle fenêtre de l'éditeur de conception :

La table "Track" contient des clés qui font référence à d'autres tables. Un menu contextuel accessible en cliquant avec le bouton droit permet d'ajouter les tables référencées et d'illustrer leurs relations, afin de créer une vue plus complète, similaire à un diagramme de relations d'entités.

En comparant ce schéma à nos nouveaux champs dans le fichier CSV, on constate un problème. Nos données incluent des champs distincts pour l'artiste de l'album et l'artiste du morceau. Cela est prévu pour prendre en compte les compilations, comme les bandes originales de films, et autres cas où l'album peut être crédité de manière générale avec une mention comme "Divers artistes", mais nous souhaitons tout de même enregistrer le nom du musicien correct pour chaque morceau.
La table actuelle des pistes ne précise pas le nom du musicien pour chaque piste, mais fait plutôt référence à l'identifiant de l'album (AlbumID), qui à son tour fait référence à la table des artistes pour identifier l'artiste principal de cet album.
Modifier graphiquement les tables de base de données
Pas de problème ! Nous pouvons cliquer sur l'icône du signe plus dans le tableau "Track", juste en dessous de la colonne "UnitPrice", pour ajouter une nouvelle colonne au tableau. DatabaseSpy ajoute la colonne avec des valeurs par défaut :

Tout d'abord, nous pouvons renommer la nouvelle colonne et lui attribuer son type de données. Il est important de noter que DatabaseSpy propose une liste déroulante qui nous permet de choisir n'importe quel type de données valide pour cette base de données. La nouvelle colonne pour l'artiste de l'album sera rarement utilisée, car elle n'est nécessaire que lorsque nous souhaitons remplacer l'identifiant de l'artiste provenant de l'album. Nous pouvons simplement la laisser en tant que type de données texte avec une longueur limitée, comme la colonne "Compositeur".

Notez le signe plus (+) à côté du nom de la colonne "TrackArtist" sur la capture d'écran ci-dessus. DatabaseSpy ne modifie pas réellement la base de données lorsque nous modifions le schéma. Au lieu de cela, DatabaseSpy crée automatiquement un script de modification de la base de données dans une fenêtre séparée.

Cela permet aux utilisateurs de modifier plusieurs éléments dans l'éditeur de conception sans risque. Une fois toutes les modifications terminées, nous pouvons soit exécuter le script directement, ouvrir le script pour le modifier dans une nouvelle fenêtre SQL, enregistrer le script dans un fichier, ou bien annuler toutes les modifications et supprimer le script.
Nous allons ouvrir le script dans une fenêtre d'éditeur SQL afin d'ajouter une limite à la longueur du champ de texte, en la faisant correspondre à la limite du champ "Composer" :

Nous pouvons exécuter le script depuis la fenêtre de l'éditeur et recharger la base de données pour visualiser les modifications dans l'éditeur de conception.

L'éditeur de conception est une fonctionnalité pratique et intuitive qui vous aide à explorer une base de données que vous ne connaissez pas. Téléchargez une version d'essai gratuite pour constater par vous-même comment DatabaseSpy simplifie l'interrogation, la visualisation, la gestion, la comparaison et la création de graphiques à partir des résultats des requêtes de base de données.