Der MySqlManager ist ein in C# geschriebenes Query- und Modellierungsprogram für MySQL Datenbanken (Version 4).

 
Das Programm ist in zwei Teile aufgebaut, ein GUI und eine Businesslogik.

 
In der Businesslogik befinden sich Datenobjekte (wie Server, Datenbank, Tabelle usw...). All diese Objekte sind von derselben Basisklasse abgeleitet, welche es erlaubt, Child-Objekte des Types Basis zu beinhalten. So kann der Datenbankaufbau perfekt abgebildet werden (Ein Server hat mehrere Datenbanken, diese wiederum mehrere Tabellen usw...). Jedes dieser Objekte hat eine ToSqlString und eine FromSqlString Funktion, welche es erlauben, das Objekt als gültigen SQL-Script zu exportieren, bzw. ein Objekt aus einem SQL-Script zu erstellen. Auch beinhalten diese Objekte ein Refresh Mechanismus, welche über die MySQL Datenbank ihre Child-Objekte automatisch laden.

 
Das UI (User Interface) bildet diese Objekthierarchie in einer übersichtlichen Baumansicht dar. Es kann so durch die Objekte navigiert werden. Zusätzlich ermöglicht es, auf Datenbanken Querys in einem Editor (welcher SQL-Beriffe und Kommentare in anderer Farbe darstellt) zu erstellen und auch auszuführen. Das Resultat wird in einer leserlichen Tabelle angezeigt.

 
Ausserdem kann (und das ist der Hauptteil des Programmes) man Datenbanken modellieren, d.h. Tabellen in einer graphischen Umgebung erstellen, diese untereinander zu verknüpfen um schlussendlich ein sauberes SQL-Script zu exportieren. Durch den guten Aufbau der Businesslogik ist der Modellierer ein Abbild verschiedener Businessobjekte. Und durch die ToSqlString Funktion kann somit ein für jede MySQL Datenbank leserliches Script erstellt werden. Spezielle Informationen werden in Kommentar Linien untergebracht.

Der Umgekehrte weg, also aus einem SQL-Script ein Modell zu erstellen, ist auch möglich. Der Parser liest alle Zeilen aus der Datei und die daraus gelesenen Scripts erstellen mit der FromSqlString Funktion neue Objekte (Tabellen, Felder und Relationen) und fügen sie in das Modell ein.

 
Der ganze Modellierer arbeitet verbindungslos, trotzdem ist es möglich, aus einer vorhandenen MySQL Datenbank ein Modell zu generieren.

 
Vorteil dieses Aufbau ist zusätzlich die Erweiterbarkeit: Um das Tool an eine andere Datenbank anzubinden, müsste lediglich die Parserfunktionen der Businesslogik verändert werden (Sofern die Datenbank andere Syntax und Befehle erwartet). Das UI könnte unangetastet bleiben da das Zusammenspiel mit der Businesslogik dasselbe bleiben würde.

Downloads

Klassenbeschreibungen.pdf

Management_Summary.pdf

Klassendiagramm.pdf

Logo.jpg

App.rar