Zusammenführen von Schemas

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

Startseite >  Tutorials > Datenbank "ZooDB" > Vergleichen von Datenbankschemas >

Zusammenführen von Schemas

Nachdem Sie einen Vergleich gestartet und die Unterschiede untersucht haben, können Sie die beiden Schemas zusammenführen. Da Änderungen der Datenbankstruktur nicht leicht rückgängig gemacht werden können, führt DatabaseSpy keine direkte Zusammenführung durch sondern zeigt in einem SQL Editor-Fenster das Merge Script an. Dort können Sie das Script überprüfen und ausführen, wenn Sie sicher sind, dass die Änderungen an der Datenbankstruktur in der Datenbank gespeichert werden sollen.

 

Sie können entweder alle Unterschiede auf einmal zusammenführen (d.h. ein Merge Script erzeugen, das alle Änderungen an der Schemastruktur enthält) oder eine oder mehrere einzelne Änderungen für die Zusammenführung auswählen (d.h. ein Merge Script erzeugen, das nur die ausgewählten Änderungen enthält). Die Zusammenführung selbst kann in beide Richtungen erfolgen, das heißt, von links nach rechts oder von rechts nach links. Sie können daher auch eine Mischung der Schemastruktur durchführen, indem Sie einige Änderungen von links nach rechts und andere von rechts nach links zusammenführen.

 

Die unten stehende Abbildung zeigt das Merge Script mit dem die Struktur des Schemas "dbo" in das Schema "test" kopiert wird (von links nach rechts zusammenführen).

 

merge_l2r

 

Wenn Sie die Änderungen von rechts nach links zusammenführen, wird ein anderes Merge Script erzeugt:

 

merge_r2l

 

In diesem Abschnitt des Tutorials werden Sie test.tblVets in test.tblVeterinarians umbenennen (von links nach rechts zusammenführen) und die Spalte "Email" sowohl zu dbo.tblZookeepers (von rechts nach links zusammenführen) als auch zu test.tblVeterinarians (von links nach rechts zusammenführen) hinzufügen.

 

So führen Sie Schemas in der Zoo-Datenbank zusammen:

1.Wählen Sie die Menüoption Schemavergleich | Elemente reduzieren oder klicken Sie mit der rechten Maustaste in die Titelleiste einer beliebigen Komponente und wählen Sie Elemente reduzieren aus dem Kontextmenü.
2.Erweitern Sie Datenbank und Schema und markieren Sie entweder dbo.tblVeterinarians oder test.tblVets.
3.Wählen Sie die Menüoption Schemavergleich | Merge Script anzeigen: Links nach Rechts oder klicken Sie in der Komponente mit der rechten Maustaste auf die Tabelle und wählen Sie Merge Script anzeigen: Links nach Rechts aus dem Kontextmenü. Das Merge Script wird in einem neuen SQL Editor-Fenster angezeigt.

 

merge_tblVets

 

Beachten Sie, dass das Script nur SQL für die Umbenennung der Tabelle selbst enthält und rufen Sie sich in Erinnerung, dass die Tabelle auch zwei Spalten mit unterschiedlichen Namen enthält. Damit ein Merge Script generiert wird, das nicht nur die Tabelle selbst, sondern auch die beiden Spalten umbenennt, müssen Sie auch die Spalten markieren bevor Sie das Merge Script generieren. Schließen Sie das SQL Editor-Fenster ohne das Script auszuführen oder zu speichern und kehren Sie in das Schemavergleichsfenster zurück.

4.Erweitern Sie tblVeterinarians und markieren Sie den Tabellennamen sowie die Spalten LastName, Telephone und Email (halten Sie die Taste Strg gedrückt um mehrere Elemente anzuklicken).

 

merge_select-cols

 

5.Wählen Sie die Menüoption Schemavergleich | Merge Script anzeigen: Links nach Rechts und überprüfen Sie das Merge Script im SQL Editor.

 

merge_tblVets-complete

 

Nun werden sowohl Tabelle als auch Spalten umbenannt und die Spalte Email zum Schema test hinzugefügt.

6.Stellen Sie sicher, dass der SQL Editor noch mit ZooDB verbunden ist und klicken Sie auf Ausführen ic_execute-sql.
7.Klicken Sie im Online Browser in der Symbolleiste auf die Schaltfläche Aktualisieren ic_refresh-datasource oder klicken Sie mit der rechten Maustaste auf ZooDB und wählen Sie Aktualisieren aus dem Kontextmenü. Beachten Sie, dass dbo.tblVeterinarians im Schemavergleichsfenster nun kein Mapping mehr aufweist.

 

merge_tblVets-unmapped

 

8.Doppelklicken Sie die Titelleiste der rechten Vergleichskomponente und wählen Sie im Dialogfeld Datenbankobjekte zum Vergleich auswählen die umbenannte Tabelle tblVeterinarians aus.
9.Klicken Sie in der Symbolleiste des Vergleichsfensters auf die Schaltfläche Vergleichen ic_start-db-comparison. Es existieren nun keine Unterschiede mehr zwischen dbo.tblVeterinarians und test.tblVeterinarians.
10.Erweitern Sie test.tblZookeepers, klicken Sie mit der rechten Maustaste auf die Spalte Email und wählen Sie Merge Script anzeigen: Rechts nach Links aus dem Kontextmenü.

 

merge_tblZook-r2l

 

11.Führen Sie das Merge Script aus, aktualisieren Sie die Datenbank und führen Sie im Schemavergleichsfenster einen Vergleich durch. Es existieren nun keine Unterschiede mehr zwischen dbo.tblZookeepers und test.tblZookeepers.

© 2019 Altova GmbH