Esplorare un database sconosciuto con DatabaseSpy
Gli sviluppatori di software che lavorano a una nuova applicazione, i professionisti dei dati in diversi settori, e persino gli amministratori di database, spesso si trovano a dover lavorare con database sconosciuti e necessitano di uno strumento per la gestione dei database per esplorare rapidamente tabelle e relazioni.
Altova DatabaseSpy è uno strumento unico per l'interrogazione, la progettazione e il confronto di database, che offre un editor grafico per la progettazione di database. Questo strumento consente agli utenti che esplorano un database sconosciuto di visualizzare rapidamente tabelle, relazioni e persino definizioni di tipi di dati, che potrebbero essere specifiche per quel particolare tipo di database.

DatabaseSpy supporta tutti i database più diffusi:
- Uccello di fuoco
- IBM DB2®
- Informix®
- Microsoft Access™
- Microsoft® Azure SQL
- Microsoft® SQL Server®
- MySQL®
- Oracle®
- PostgreSQL
- Progress OpenEdge
- SQLite
- Sybase®
Chinook è un database di esempio open source disponibile per SQL Server, Oracle, MySQL, DB2, PostgreSQL, SQLite e altri sistemi, che implementa un modello di dati per un negozio di contenuti digitali. Esploriamo la versione SQLite utilizzando DatabaseSpy.
L'utilità DatabaseSpy Connection Wizard consente di connettersi rapidamente a SQLite e di aggiungere il database a un nuovo progetto DatabaseSpy:


Un progetto DatabaseSpy può contenere connessioni a più database, anche database di tipi diversi. La finestra di supporto del browser online ci permette di visualizzare immediatamente l'elenco delle tabelle e di generare il conteggio delle righe:

Per un database più complesso, il browser online mostra anche schemi di database multipli, viste, procedure, funzioni, ecc., come si può vedere in questa visualizzazione del database di esempio SQL Server AdventureWorks:

Siamo interessati al database del negozio di musica digitale perché possediamo anche un file CSV contenente metadati provenienti da un'ulteriore libreria di file multimediali che vorremmo aggiungere al database. Il file CSV contiene i seguenti campi:

Possiamo cliccare sul pulsante "più" accanto alla tabella "Traccia" nella finestra del browser online, oppure, ancora meglio, aprire la tabella in una nuova finestra dell'editor di progettazione:

La tabella "Track" include chiavi che fanno riferimento ad altre tabelle. Un menu contestuale accessibile con un clic destro consente di aggiungere le tabelle a cui si fa riferimento, illustrando le loro relazioni per creare una rappresentazione più completa, simile a un diagramma delle relazioni tra entità.

Confrontando questo schema con i nuovi campi presenti nel file CSV, emerge un problema. I nostri dati includono campi separati per l'artista del brano e l'artista dell'album. Questo è stato pensato per gestire raccolte di brani, come le colonne sonore dei film e altri casi in cui l'album potrebbe essere attribuito genericamente a "Varie edizioni", ma vogliamo comunque registrare il musicista corretto per ogni singolo brano.
La tabella "Track" attuale non identifica il musicista per ogni brano, ma fa riferimento all'ID dell'album, che a sua volta fa riferimento alla tabella "Artist" per indicare l'artista principale di quell'album.
Modificare graficamente le tabelle del database
Nessun problema! Possiamo cliccare sull'icona del segno più nella tabella "Track", appena sotto la colonna "UnitPrice", per aggiungere una nuova colonna alla tabella. DatabaseSpy aggiungerà la colonna con valori predefiniti:

Innanzitutto, possiamo rinominare la nuova colonna e assegnarle il tipo di dati appropriato. È importante notare che DatabaseSpy offre comodamente un elenco a comparsa che ci permette di scegliere qualsiasi tipo di dati valido per questo database. La nuova colonna per l'artista del brano verrà utilizzata raramente, poiché è necessaria solo quando vogliamo sovrascrivere l'identificativo dell'artista (ArtistId) proveniente dall'album. Possiamo semplicemente lasciarla come un tipo di dati testuale con una lunghezza limitata, come la colonna del compositore.

Notare il segno più accanto al nome della colonna "TrackArtist" nello screenshot qui sopra. DatabaseSpy non modifica effettivamente il database mentre modifichiamo il diagramma. Invece, DatabaseSpy crea automaticamente uno script per le modifiche al database in una finestra separata.

Questo permette agli utenti di modificare più elementi contemporaneamente nell'editor di progettazione, senza rischi. Una volta completate tutte le modifiche, è possibile eseguire direttamente lo script, aprirlo per la modifica in una nuova finestra SQL, salvarlo in un file, oppure annullare tutte le modifiche e scartare lo script.
Apriremo lo script in una finestra dell'editor SQL per aggiungere un limite alla lunghezza del campo di testo, in modo che corrisponda al limite del campo "Composer":

Possiamo eseguire lo script dalla finestra dell'editor e ricaricare il database per visualizzare le modifiche apportate nell'editor di progettazione.

L'editor di progettazione è solo una delle tante funzionalità intuitive e pratiche progettate per facilitare l'esplorazione di un database sconosciuto. Scaricate una versione di prova gratuita per scoprire di persona come DatabaseSpy semplifica l'interrogazione, la visualizzazione, la gestione, il confronto e la creazione di grafici a partire dai risultati delle query sui database.