Session V-XCAS

Datenmodellierung und -pflege: xCase und SDT

Markus Winhard
ProLib Software GmbH


Einleitung

Diese Session stellt zwei der wichtigsten Zusatzprogramme für den Visual FoxPro Programmierer vor. Das Datenmodellierungstool xCase und zur Datenpflege das Stonefield Database Toolkit. Ein Exkurs ins Gebiet der Client/Server Datenbanken zeigt das Upsizing einer VFP Datenbank auf ein SQL Backend.

Die Session fängt bei den Grundlagen an und ist deshalb auch für jene geeignet die xCase oder SDT bisher nicht kennen.

Auf der beiliegenden Konferenz-CD finden sie zu den Tools auch entsprechende Testversionen.

Datenmodellierung mit xCase

xCase ist eine ideale Ergänzung Ihrer FoxPro-Arbeitsumgebung. xCase für FoxPro ist ein Datenbankmodellierungs- und Analysewerkzeug nach dem neuesten Stand der Datenbanktechnologie, das unmittelbar mit FoxPro 2.x und Visual FoxPro zusammenarbeitet. Mit xCase schreiben Sie übersichtliche ER Diagramme, die Sie direkt in die Projektdokumentation übernehmen können.

xCase kennt auch die aktuellen Designmethoden wie Attributvererbung und Domänen und erzeugt automatisch Datenbankcode nach den von Ihnen vorgegebenen Regeln. Das ist natürlich nicht alles:

xCase unterstützt Sie während des gesamten Datenbankentwicklungsprozesses. Angefangen von der grundlegenden Analyse über das Design und die Erstellung der Dokumentation für das Pflichtenheft bis zur Generierung des Datenbankschemas und des Programmcodes steht Ihnen xCase in jeder Phase Ihrer Arbeit zur Seite. Sie können sich auf die wichtigen Aspekte Ihrer Arbeit konzentrieren, während xCase die lästigen und zeitraubenden Nebenarbeiten übernimmt. xCase reizt die Vorteile der graphischen Arbeitsoberfläche voll aus. Mit nur wenigen Tasten drücken oder Mausbewegungen produziert xCase perfekt gestaltete ER-Diagramme mit Erläuterungen in Form von Texten und Graphiken. Sie bestimmen selber Fonts, Farben, Größen und Formate. Mit xCase teilen Sie ganz einfach komplexe Modelle in mehrere Diagramme auf, die jeweils einen Aspekt des Gesamtbildes zeigen. Am Schluß haben Sie ein eindrucksvolles Gesamtbild Ihres Entwurfs, das jeden Kunden durch seine Klarheit und Verständlichkeit beeindruckt.

Aber xCase malt nicht nur schöne Bilder:

Das eingebaute Data Dictionary speichert umfangreiche Informationen über jedes Objekt Ihrer Datenbank und die logischen Regeln für den Datenbankaufbau. Ein übersichtlicher Editor hilft Ihnen bei der Definition der

Attribute verschiedener Komponenten Ihrer Datenbank. Sie können selbstverständlich das Data Dictionary auch um eigene Attribute erweitern. Mit dem eingebauten Reportgenerator erzeugen Sie in kürzester Zeit eine optimal lesbare und sauber gegliederte Dokumentation Ihres Datenbankmodells. Weil das Data Dictionary im FoxPro - Format vorliegt, können Sie auch jeden anderen Reportgenerator verwenden. Alles automatisch !

Während Sie mit der Maus auf dem Bildschirm Entitäten (Tabellen) entwerfen und Relationen definieren leistet xCase Schwerstarbeit hinter den Kulissen: Es erstellt Fremdschlüssel, Indizes und Zugriffsschlüssel und steuert die automatische Vererbung von Attributen nach den von Ihnen definierten Regeln. xCase registriert sofort alle Veränderungen, die Sie auf dem Bildschirm vornehmen und aktualisiert das Datenmodell automatisch auf allen Ebenen: Von den Indizes bis zum Code und hinunter zur Ebene der physikalischen Datenbank. xCase überprüft im Hintergrund ständig die Konsistenz Ihres Datenmodells, und verhindert so Designfehler schon zum frühestmöglichen Zeitpunkt. So stellen Sie die Integrität Ihrer Datenbank schon in der Entwurfsphase sicher.

Smart Views

Selbst die komplexesten SQL-Views definieren Sie mit xCase ohne Umwege direkt am Bildschirm. xCase sorgt für die automatische Vererbung von Feldattributen und setzt die Eigenschaften des Views, ohne daß Sie eine einzige Zeile Code schreiben müßten. xCase nutzt die Relationen und Indizes Ihres Modells optimal aus. JOIN-Anweisungen werden automatisch erzeugt und verwaltet. Und natürlich nutzt xCase, wo immer möglich, die Rushmore-Optimierung!

Codeerzeugung

Nur ein korrektes logisches Modell garantiert, daß auch im späteren Programm die referenzielle Integrität der Daten erhalten bleibt. Mit xCase erzeugen Sie den Code für Stored Procedures aus entsprechenden Vorlagen (Templates), wobei xCase sicherstellt, daß die referenzielle Integrität ebenso sicher gewährleistet ist wie die Beachtung der weiteren Regeln, die Sie definiert haben. Selbstverständlich können Sie den generierten Code hinterher noch anpassen und verändern.

Einfaches Re-Engineering

xCase kann die DBC-Dateien von Visual FoxPro sowohl lesen als auch schreiben. Weiterhin kann es Daten aus FoxPro-Datenbanken und aus jeder ODBC-fähigen Datenbank importieren. xCase fügt dem Hauptmenü von VFP einen Menüpunkt hinzu, mit dem Sie ein VFP-Modell direkt in ein übersichtliches xCase-Diagramm verwandeln. Die Professional Edition von xCase für FoxPro bearbeitet Tabellen aus SQL-Datenbanken zusammen mit FoxPro-Tabellen und schafft so eine ideale Lösung für das Design von Client/Serversystemen mit gemischter Datenhaltung.

xCase und FoxPro - eine ideale Kombination

xCase ist vollständig in die FoxPro-Arbeitsumgebung integriert. Es importiert und verändert FoxPro 2.x Tabellen, vergleicht Ihr Datenmodell mit den tatsächlichen Gegebenheiten und aktualisiert die Tabellen, ohne vorhandene Daten zu gefährden. Es erleichtert Ihnen damit nicht zuletzt den beträchtlichen Sprung von FoxPro 2.x auf Visual FoxPro.

xCase in der FoxPro-Arbeitsumgebung

xCase verbessert die FoxPro-Arbeitsumgebung durch die folgenden Features:

Ein flexibles und erweiterbares Data Dictionary, das Sie nach Ihren Vorstellungen einrichten können. Funktionen für die übersichtliche Entwicklung von extrem komplexen Datenmodellen wie z.B. Aufspaltung in Teildiagramme, Zoom-Funktionen, gleichzeitiges Öffnen von mehreren Fenstern. Verschiedene Sichten auf das Modell erleichtern die Hervorhebung von bestimmten Teilaspekten (Beschreibung, Felder, Indizes, Schlüssel usw.) Ausdrucken von qualitativ hochwertigen Diagrammen, die Sie ohne Nachbearbeitung für Präsentationen verwenden können.

Automatische Generierung von Indizes und Zugriffsschlüsseln

Die Überwachung der referenziellen Integrität arbeitet im Gegensatz zum VFP-Standard auch mit zusammengesetzten Schlüsseln korrekt. Eltern und Kind-Indizes dürfen unterschiedliche Schlüsselstrukturen haben.

Automatische Anpassung von Indizes, Sichten und Relationen bei Änderungen der Feldattribute. Die automatische Überwachung der Modellintegrität erkennt und unterbindet die Einrichtung von fehlerhaften Relationen z.B. bei unvollständigen Primär- oder Fremdschlüsseln.

Automatische Erstellung und Verwaltung von SQL-Views einschließlich der Rushmore-Optimierung. Einschluß von SQL-Server, Oracle und viele andere Datenbanksysteme in das erstellte Modell (Professionelle Version). Sehr verständliche und umfassende Reports zu allen Aspekten des Datenmodells.

Datenmodellierung

xCase ist vollständig integriert in Fox /Visual FoxPro. xCase kennt virtuelle Felder, redundante Felder und Felder vom Aufzählungstyp. Sie erstellen Prototypen ohne gleich den physikalischen Datenbankaufbau zu verändern.

Unterstützung für Domänen (benutzerdefinierte Feldtypen) und automatisch generierte Primärschlüssel.

Präsentation und Dokumentation

Verbessertes Data Dictionary

Intelligente Views

Viewdefinition über automatisch generierte Sätze von Relationen zur Verbindung von nicht unmittelbar verbundenen Datentabellen (sog. Pfade). Automatische Erstellung von komplexen SELECT-Anweisungen. Alle View-Attribute werden automatisch definiert, ohne daß Sie eine einzige Zeile Code schreiben müssen.

Automatische Verwaltung von JOIN-Anweisungen mit Rushmore-Optimierung

Codeerzeugung

Erzeugung von Code für die Einhaltung der referenziellen Integrität, Feldvalidierung oder Einhaltung von vorgegebenen Regeln

Datenbankneugestaltung und -übernahme

Übernahme von Datenbankmodellen aus DBC-Dateien und Aktualisierung von DBC-Dateien. Import von Datentabellen aus FoxPro 2.x und von ODBC-Datenbanken

Automatisierung

Automatische Erzeugung von SQL Joins und FROM-Anweisungen in Views

Dokumentation

xCase Professional

xCase Professional hat außer allen Funktionen der Standardedition noch folgende: xCase Professional unterstützt im vollen Funktionsumfang lokale- UND Serverdatenbanken (Oracle, MS SQL Server, und andere). Sie können nun die Modelle für lokale- und Serverdatenbanken nützen. Weiterhin können Sie heterogene Client/Server-Datenbanken bauen, die sowohl lokale-, als auch Servertabellen beinhalten.

Innerhalb einer lokalen Datenbank ist es möglich, Remote-Views zu gestalten, um auf Serverdaten zugreifen zu können. Nützen Sie bei lokalen- oder Serverdatenbanken überall die Technik des "Reverse-Engineerings". Diese Pro-Edition hilft Ihnen beim Übergang von lokalen- zu Serverdatenbanken. xCase Professional Edition ist ein guter Kauf für einen professionellen Entwickler.

xCase Professional unterstützt FoxPro, Visual FoxPro, Jet (Visual Basic und Access), MS SQL Server, Oracle, DB2, Informix, SQL Anywhere, Sybase, und Interbase.

Viewer Edition

Der Viewer (Betrachter), wie der Name schon sagt, erlaubt es auch anderen Benutzern, jedes einzelne Detail Ihres erzeugten Modells anzusehen. Jedoch ist es nicht möglich, irgendetwas an Ihrer Arbeit zu verändern. Somit ist der Viewer ideal für Ihre Kunden, Ihre Kollegen in einer Arbeitsgruppe und allgemein für Ihre Firma.

Den Viewer kann man mit allen xCase-Editionen einsetzen. Auch können Sie den Viewer an irgendeinem Zeitpunkt Ihrer Produktplanung einsetzen.

Mit dem Viewer haben Sie die Möglichkeit, statt unzähligen Seiten die das Produkt erklären, eine dynamische graphische Dokumentation anzubieten. Diese Möglichkeit erlaubt es Ihren Kunden, verschiedene Verknüpfungen Ihrer mit xCase erstellten Modells anzusehen. All das wird Ihren Planungs- und Arbeitsaufwand senken, Sie werden in der Lage sein, effizienter arbeiten zu können.

Das neue xCase 5.0 bietet eine Menge neuer Features zur besseren Datenbank-Modellierung:

Graphik/Ansicht:

Alle Elemente des Modells jederzeit verfügbar durch ein TreeView neben dem Diagramm, permanentes Zoom-Fenster, Dialoge folgen endlich den Windows-Standards, verbesserte Visualisierung und Mehrfachansichten eingebetteter Diagramme, erweitertes Display Management, Betrachtungsmöglichkeit von Datenmodellen und Echtdaten, verschiedene konfigurierbare Reports, Report Preview, Export von Hardcopies im WMF und EMF Format, Export in RTF und HTML

Diagramme:

Eingebettete Diagramme (Diagramm im Diagramm)

Editieren:

Drag & Drop aus dem TreeView ins Diagramm, das Rad der IntelliMouse wird unterstützt, Betrachten und Editieren von Daten in Modelltabellen über ODBC-Anbindung zur Datenbank, Up-/Downsizing von Datenmodellen

Allgemein:

Script Execution für SQL Datenbanken, Hinzufügen oder Entfernen von Feldern in SQL Datenbanken, Abfrage-/Ansichttypisierung. Stark erweitertes Menü mit großem Bedienungskomfort. Bugfixes der Vorgängerversion.

xCase 5.0 Professional Edition:

Kopieren von Modellen auf verschiedenen Ziel-Datenbanksysteme. Dabei können auf Wunsch auch die Daten kopiert werden.

Prüfen der Integrität von Datenbeständen auf SQL-Datenbanken mit detaillierten Reports.

Erweiterte Datenbankunterstützung:

Ein kleiner Exkurs: Upsizing auf SQL Server 7 in drei Schritten

Mit den folgenden drei Schritten können Sie aus einem vorhandenen VFP Datenmodell ein SQL-Server Datenmodell erzeugen und wenn Sie wollen auch gleich die Daten in die neue Datenbank kopieren (OK, damit sind es vier Schritte <g>).

   Fügen Sie folgende Zeilen am Beginn des Scripts ein:
   CREATE DATABASE <SQL Datenbank-Name>
   go
   USE <SQL Datenbank-Name>
   go

Auf Seite 2 des Assistenten Benutzername "sa" angeben, kein Passwort.

Auf Seite 3 keine Standard-Datenbank zuweisen.

Vor dem Kopieren der Daten werden alle Tabellen auf dem SQL-Server geZAPpt und alle Indizes gelöscht, nach dem Kopieren werden sie wieder aufgebaut.

Wenn die Zeit reicht werde ich das während das Vortrags vorführen.

Außerdem wird es ab Version 5.4 für xCase professional ein kleines VFP-Programm geben, mit dessen Hilfe man aus einem vorhandenen VFP-Modell ein neues VFP-Modell erzeugen kann, dessen Tabellen in Attached Entities des SQL Backends umgewandelt wurden. Gleichzeitig werden dabei die Local Views in Remote Views umgewandelt. Zum Zeitpunkt der Drucklegung lagen mir dazu leider noch keine Erfahrungen vor.

Sollten wir rechtzeitig mit dem Vortrag fertig werden, werde ich auch das kurz zeigen.

Datenpflege mit Stonefield Database Toolkit

Das Database Toolkit gehört zu den wichtigsten AddOns für VFP, denn es erweitert den VFP-Datenbankcontainer um alle Funktionen die zum echten DataDictionary fehlen. Das SDT ist voll DBCX2 - kompatibel und ermöglicht beliebige Properties zu jedem Datenbankfeld.

Durch das SDT ist auch eine komplette Dokumentation des DBC kein Problem mehr (vorausgesetzt Sie dokumentieren Ihre Felder <g>). Durch die vielen mitgelieferten Klassen können Sie auch datengetriebene Applikationen erstellen. Die Indexerstellung und Tabellenreparatur sowie die Übernahme aller Information aus dem Stonefield DataDictionary (FP2.x) gehören ebenfalls zu den Aufgaben, die das SDT ausgezeichnet beherrscht.

Durch die Möglichkeit, den Datenbankcontainer mit beliebigen Eigenschaften zu erweitern, ist es nun möglich, alle benötigten Informationen pro Tabellenfeld abzuspeichern:

  • Input Mask
  • Label-Caption
  • Min. und Max. Range
  • Tooltip Text
  • Statusbar Text
  • Hilfetext
  • Fremdsprachige Labels
  • usw.

Der im Paket enthaltene Autosize-Builder (neudeutsch: Steuerelementassistent) wird beim Drag&Drop eines Tabellenfeldes auf die Form aktiv und überträgt alle im DD gespeicherten Informationen selbsttätig in die Eigenschaften des Textbox-Objektes. Wahlweise wird dabei auch gleich noch ihre Wunsch-Klassenbibliothek und Wunschklasse eingetragen und auch noch das dazugehörige Label erstellt. Schneller geht's nimmer!

Des weiteren gehören die klassischen DD Routinen zum Lieferumfang:

 

 

  • Indexerstellung: Dadurch, daß im DD alle benötigten Informationen abgespeichert sind, kann ein Index wirklich neu erstellt werden (kein REINDEX!). Die COLLATE Sortierzuweisung erfolgt automatisch, und kann pro Indextag definiert werden.
  • Tabellenreparatur: Anhand der DD Informationen kann auch ein defekter DBF-Header komplett neu erstellt werden.
  • Tabellen-Strukturänderungen können auf einfachste Weise beim Kunden vollzogen werden durch Auslieferung der geänderten DD-Dateien und Starten der UPDATE() Funktion.
  • Indexorder setzen: Zeigt alle im DD definierten Indextags mit Langtext zur Auswahl an.
  • u.v.a.m.

Einsatz des SDT in eigenen Applikationen:

Die mitgelieferten intelligenten Formulare für den Einsatz in Ihren Applikationen können problemlos integriert werden. Inzwischen sind sämtliche Captions, Meldungen, etc. dieser Formulare in einer Headerdatei untergebracht. Damit ist es problemlos möglich diese Forms "einzudeutschen". Das haben wir natürlich bereits für sie erledigt.

Kurzum: Eines der Tools, auf die kein VFP Entwickler verzichten sollte.

Einige der neuen Funktionen des SDT für Visual FoxPro 5.0/6.0: