Het verkennen van een onbekende database met DatabaseSpy

Softwareontwikkelaars die aan een nieuwe app werken, data-specialisten in diverse bedrijven, en zelfs databasebeheerders komen vaak onbekende databases tegen en hebben een database-tool nodig om snel tabellen en relaties te kunnen bekijken.

Altova DatabaseSpy is een uniek hulpmiddel voor het uitvoeren van queries, het ontwerpen en vergelijken van databases, met een grafische database-ontwerpeditor. Dit stelt gebruikers in staat die een onbekende database verkennen, om snel tabellen, relaties en zelfs datatype-definities te visualiseren, die mogelijk uniek zijn voor verschillende soorten databases.

DatabaseSpy Ondersteunt alle gangbare databases:

  • Vuurvogel
  • IBM DB2®
  • Informix®
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase®

Chinook is een open-source voorbeelddatabase die beschikbaar is voor SQL Server, Oracle, MySQL, DB2, PostgreSQL, SQLite en meer. Het implementeert een datamodel voor een digitale mediastore. Laten we de SQLite-versie bekijken met behulp van DatabaseSpy.

De verbindingswizard van DatabaseSpy maakt snel verbinding met SQLite en voegt de database toe aan een nieuw DatabaseSpy-project:

Een DatabaseSpy-project kan verbindingen bevatten met meer dan één database, zelfs databases van verschillende types. Met de online browser-hulpvenster kunnen we direct de lijst met tabellen bekijken en het aantal rijen genereren:

Voor een complexere database toont de online browser ook meerdere databaseschema's, weergaven, procedures, functies, enzovoort, zoals te zien is in dit overzicht van de SQL Server AdventureWorks voorbeelddatabase:

Wij zijn geïnteresseerd in de database van de digitale muziekwinkel, omdat wij ook een CSV-bestand hebben met metadata van een aanvullende verzameling mediabestanden die we graag aan de database willen toevoegen. Het CSV-bestand bevat de volgende velden:

We kunnen op de plusknop naast de tabel "Track" in het venster van de online browser klikken, of, nog beter, de tabel openen in een nieuw venster van de ontwerpeditor:

De tabel "Track" bevat velden die verwijzen naar andere tabellen. Door met de rechtermuisknop te klikken, opent er een contextmenu waarmee we de tabellen waarnaar wordt verwezen kunnen toevoegen. Dit helpt om de relaties tussen deze tabellen in kaart te brengen, waardoor een completer overzicht ontstaat, vergelijkbaar met een entiteitsrelatiediagram.

Bij het vergelijken van dit schema met onze nieuwe velden in het CSV-bestand blijkt een probleem. Onze data bevatten aparte velden voor de artiest van het nummer en de artiest van het album. Dit is bedoeld om compilaties te kunnen verwerken, zoals soundtracks van films en andere gevallen waarin het album algemeen wordt toegeschreven aan een verzameling artiesten, bijvoorbeeld "Diverse artiesten", maar we willen nog steeds de juiste muzikant voor elk nummer registreren.

De huidige tabel met nummers identificeert niet de muzikant voor elk nummer, maar verwijst in plaats daarvan naar de AlbumID, die op zijn beurt verwijst naar de tabel met artiesten om de artiest van een bepaald album te identificeren.

Grafisch bewerken van database tabellen

Geen probleem! We kunnen op het plusteken-icoon in de tabel "Track" klikken, direct onder de kolom "UnitPrice", om een nieuwe kolom aan de tabel toe te voegen. DatabaseSpy voegt de kolom toe met standaardwaarden:

Ten eerste kunnen we de nieuwe kolom een naam geven en het datatyp bepalen. Let op: DatabaseSpy biedt handig een pop-upmenu waarmee we elk geldig datatype voor deze database kunnen selecteren. De nieuwe kolom voor de artiest van het nummer wordt zelden gebruikt, omdat deze alleen nodig is wanneer we de ArtistId van het album willen overschrijven. We kunnen deze eenvoudig als een tekstveld met een beperkte lengte laten, zoals de kolom voor de componist.

Let op het plusteken naast de kolomnaam "TrackArtist" op de screenshot hierboven. DatabaseSpy wijzigt de database niet direct wanneer we het diagram bewerken. In plaats daarvan genereert DatabaseSpy automatisch een script voor databasewijzigingen in een apart venster.

Dit stelt gebruikers in staat om meerdere wijzigingen in de ontwerpeditor aan te brengen zonder risico. Zodra alle wijzigingen zijn voltooid, kunnen we het script direct uitvoeren, het script voor bewerking openen in een nieuw SQL-venster, het script opslaan in een bestand, of alle wijzigingen verwerpen en het script verwijderen.

We gaan het script openen in een SQL-editorvenster om een limiet toe te voegen aan de lengte van het tekstveld, zodat deze overeenkomt met de limiet voor de kolom "Composer":

We kunnen het script uitvoeren vanuit het bewerkingsvenster en de database opnieuw laden om de wijzigingen in de ontwerpeditor te bekijken.

De ontwerpeditor is slechts één van de handige en intuïtieve functies die u helpen bij het verkennen van een onbekende database. Download een gratis proefversie om zelf te ervaren hoe DatabaseSpy het uitvoeren van queries, het visualiseren, beheren, vergelijken en weergeven van database-resultaten vereenvoudigt.