Beispiel: Aktualisieren einer Datenbank anhand des Modells

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  UModel und Datenbanken > Modellieren von Datenbanken in UModel >

Beispiel: Aktualisieren einer Datenbank anhand des Modells

In diesem Beispiel wird beschrieben, wie Sie die Struktur einer Datenbank mit Hilfe von mit UModel generierten Skripts aktualisieren. In diesem Beispiel wird eine lokale Access-Datenbank verwendet, die unter dem folgenden Pfad zur Verfügung steht: C:\\Benutzer\<Benutzername>\Dokumente\Altova\UModel2019\UModelExamples\Tutorial\altova.mdb. Wir fügen in diesem Beispiel eine neue Tabelle zur Datenbank in UModel hinzu, generieren dann ein SQL-Skript, das die Struktur der zugrunde liegenden Access-Datenbank aktualisiert.

 

Um mit diesem Beispiel fortzufahren, importieren Sie zuerst die Datenbank in das Modell, wie im Kapitel Importieren von SQL-Datenbanken in UModel beschrieben. Wie unten aufgelistet, enthält Ihr Projekt nach dem Import die folgenden Komponenten:

 

eine Code Engineering-Komponente für die Codegenerierung in beide Richtungen (anhand des Modells in die Datenbank und umgekehrt). Um die Code Engineering-Komponente zu sehen, erweitern Sie "Component View".
ein Paket, das die Struktur der importierten Datenbank repräsentiert (so ist z.B. jede Datenbanktabelle eine Klasse).
das Datenbankprofil für die Arbeit mit Datenbankmodellierungsprojekten.

um_db_import_07

 

Hinzufügen einer Tabelle

Fügen wir nun eine neue Tabelle zur Datenbank im Modell hinzu.

 

1.Doppelklicken Sie auf das Diagramm "Inhalt von tutorial_database...".
2.Klicken Sie mit der rechten Maustaste in das Diagramm und wählen Sie im Kontextmenü den Befehl Neu | Tabelle.
3.Geben Sie einen Tabellennamen ein, z.B., "Products".

um_db_update_01

4.Klicken Sie auf die Tabelle und drücken Sie F7, um eine neue Eigenschaft hinzuzufügen (diese wird in der Datenbank zu einer Tabellenspalte).
5.Geben Sie im Hauptteil der Eigenschaft <<PK, autoincrement>> id:int ein.

um_db_update_02

6.Fügen Sie auf dieselbe, oben beschriebene Art, eine neue Spalte "title" vom Typ "text" hinzu.

um_db_update_03

 

Vorbereiten des Modells für das Forward Engineering

Bevor eine Tabelle mittels Forward Engineering vom Modell aus in der Datenbank übernommen werden kann, muss sie zum richtigen Namespace gehören. Stellen Sie dazu im Fenster "Modell-Struktur" sicher, dass sich die Klasse "Products" unter dem Namespace "tutorial_database" befindet. Falls dies nicht der Fall ist, ziehen Sie sie einfach mit der Maus auf den Namespace "tutorial_database". Ihr Modell sollte nun folgendermaßen aussehen:

 

um_db_update_04

 

Wie unter Konfigurieren des Round-Trip Engineering für Datenbanken erläutert, empfiehlt es sich, die Projektsyntax zu validieren, bevor Sie versuchen, die Datenbank zu aktualisieren. Wenn Sie zu diesem Zeitpunkt F11 drücken, um die Projektsyntax zu überprüfen, wird im Fenster "Meldungen" eine Warnung angezeigt, dass die Tabelle "Products" keine Realisierung zu einer Komponente aufweist.

 

Folgendermaßen können Sie schnell eine Realisierung zu einer Komponente erstellen:

 

Ziehen Sie die Klasse "Products" im Fenster "Modell-Struktur" auf die Komponente "tutorial_database".

um_db_update_05

 

Generieren des SQL-Skripts

Wenn das Projekt bei Drücken von F11 keine weiteren Fehler oder Warnungen aufweist, können Sie fortfahren, um das Datenbank-Skript zu generieren:

 

1.Klicken Sie im Menü Projekt auf Überschreibe Programmcode aus UModel-Projekt. (Mit "Programmcode" ist im Zusammenhang mit Datenbanken die Datenbank selbst gemeint)
2.Im Dialogfeld unten können Sie wählen, ob Sie die Änderungen in der Datenbank zusammenführen möchten oder die Datenbanken durch die Änderungen überschreiben möchten. In diesem Beispiel wählen wir die Option Code anhand von Modell überschreiben. Sie können aber je nach Fall auch die Option Modell in Code zusammenführen auswählen. Nähere Informationen dazu finden Sie unter Codesynchronisierungseinstellungen.

um_db_update_06

3.Klicken Sie auf OK. Daraufhin wird ein Datenbank-Skript mit den am Modell vorgenommenen Änderungen generiert.

um_db_update_07

Sie haben zu diesem Zeitpunkt die folgenden Möglichkeiten:

 

Öffnen Sie das Skript in Altova DatabaseSpy, um es zu überprüfen oder auszuführen. Nähere Informationen zu DatabaseSpy finden Sie unter https://www.altova.com/de/databasespy.
Speichern Sie das Skript in einer Datei, um es später zu verwenden.
Klicken Sie auf Ausführen und führen Sie das Skript an der Datenbank aus. Führen Sie diesen Schritt nur dann durch, wenn Sie genau wissen, welche Folgen dies haben wird (die Datenbank wird dadurch sofort aktualisiert).

© 2019 Altova GmbH