Änderungen an einem EDM durch den Modellaktualisierungs-Assistenten
Mit dem Modellaktualisierungs-Assistenten können Sie ein Entity Data Model (EDM) aktualisieren, nachdem Änderungen an der zugrunde liegenden Datenbank vorgenommen wurden. Zwei wichtige Dinge sollten bei der Verwendung des Modellaktualisierungs-Assistenten zur Aktualisierung eines EDM beachtet werden:
Beim Aktualisieren des EDM auf Grundlage von Datenbankänderungen überschreibt der Modellaktualisierungs-Assistent das vorhandene Speichermodell. Dies bedeutet, dass sich am Speichermodell durchgeführte benutzerdefinierte Änderungen im aktualisierten Modell nicht widerspiegeln.
Der Modellaktualisierungs-Assistent nimmt nur hinzufügende Änderungen am konzeptionellen Modell und den Mappings vor. Das bedeutet, dass der Modellaktualisierungs-Assistent dem konzeptionellen Modell entsprechende Entitäten, Zuordnungen und Mappings hinzufügt, wenn der Datenbank ein neues Objekt hinzugefügt wird. Wenn jedoch Objekte aus der Datenbank entfernt werden, entfernt der Modellaktualisierungs-Assistent die entsprechenden Entitäten und Zuordnungen nicht aus dem konzeptionellen Modell (entsprechende Mappings werden entfernt).
Die folgende Tabelle enthält genauere Informationen über die Änderungen, die der Modellaktualisierungs-Assistent am konzeptionellen Modell vornimmt, wenn ein Objekt der Datenbank geändert wurde.
Datenbankobjekt | Änderung am Objekt in der Datenbank | Änderungen am EDM bei der Aktualisierung durch die Datenbank |
---|---|---|
Tabelle/Sicht |
Hinzugefügt |
Der neue EntityType und die entsprechenden Zuordnungen und Mappings werden dem konzeptionellen Modell hinzugefügt. |
Gelöscht |
Die Tabelle oder Sicht wird aus dem Speichermodell gelöscht. Alle Mappings zur Tabelle werden gelöscht. Wenn die Tabelle oder Sicht über eine oder mehrere Spalten verfügt, in denen Schlüssel für eine Fremdschlüsselbeziehung gespeichert werden, werden die Mappings für die entsprechenden Zuordnungen gelöscht. |
|
Umbenannt |
Das Umbenennen einer Tabelle oder Sicht hat die gleiche Wirkung auf das konzeptionelle Modell und die Mappings, wie das Löschen der Tabelle/Sicht mit dem alten Namen und das Hinzufügen der Tabelle/Sicht mit dem neuen Namen. |
|
Primärschlüssel geändert |
Wenn dem Primärschlüssel der Tabelle oder Sicht neue Spalten hinzugefügt werden, werden für alle Fremdschlüssel, die auf den neuen Primärschlüssel verweisen, Zuordnungen hinzugefügt. Die entsprechenden neuen Zuordnungen werden dem konzeptionellen Modell hinzugefügt. Bereits vorhandene Zuordnungen werden nicht mehr zugeordnet. Wenn eine Spalte des Primärschlüssels entfernt wird, muss die Schlüsselbezeichnung der entsprechenden Entitätseigenschaft entfernt werden. Wenn eine Spalte aus einem Fremdschlüssel entfernt wird, wird zwischen den verbleibenden Ende-Eigenschaften eine neue Zuordnung erstellt. Wenn dem Primärschlüssel eine Spalte hinzugefügt wird, die als Entitätseigenschaft vorhanden war, muss die Entitätseigenschaft in einen Entitätsschlüssel umgewandelt werden. Weitere Informationen zum Ändern von Eigenschaften finden Sie unter Gewusst wie: Erstellen und Ändern skalarer Eigenschaften. Wenn eine hinzugefügte Primärschlüsselspalte bisher einer Zuordnung zugeordnet war (und nicht einer Entitätseigenschaft), wird eine entsprechende neue Entitätseigenschaft erstellt. |
|
Spalte |
Hinzugefügt |
Die entsprechenden Entitäten werden mit entsprechenden Eigenschaften und Mappings aktualisiert. Wenn die entsprechenden Typen Teil einer Vererbungshierarchie sind, wird nur der EntityType, der dem Stamm der Hierarchie am nächsten liegt und der betroffenen Tabelle zugeordnet ist, mit den entsprechenden Eigenschaften aktualisiert. Damit wird verhindert, dass in untergeordneten Entitäten in der Hierarchie die gleichen Eigenschaften definiert werden, wie in deren übergeordneten Elementen. |
Gelöscht |
Mappings zur Spalte werden gelöscht. |
|
Umbenannt |
Das Umbenennen einer Spalte hat die gleiche Wirkung auf das konzeptionelle Modell, wie das Löschen der Spalte mit dem alten Namen und das Hinzufügen einer Spalte mit dem neuen Namen. |
|
Definition geändert |
Am konzeptionellen Modell und den Mappings werden keine Änderungen vorgenommen. Unter Umständen muss das Modell manuell aktualisiert werden, wenn der Spaltentyp so geändert wurde, dass der entsprechende Typ der Entitätseigenschaft nicht kompatibel ist. Weitere Informationen zum Ändern von Eigenschaften finden Sie unter Gewusst wie: Erstellen und Ändern skalarer Eigenschaften. |
|
Fremdschlüssel |
Hinzugefügt |
Wenn alle notwendigen Entitätstypen vorhanden sind, werden dem konzeptionellen Modell eine neue Zuordnung und die erforderlichen Mappings hinzugefügt. |
Gelöscht |
Am konzeptionellen Modell und den Mappings werden keine Änderungen vorgenommen. |
|
Umbenannt |
Am konzeptionellen Modell und den Mappings werden keine Änderungen vorgenommen. |
|
Gespeicherte Prozedur |
Hinzugefügt |
Am konzeptionellen Modell und den Mappings werden keine Änderungen vorgenommen. Die gespeicherte Prozedur kann dem konzeptionellen Modell manuell als Function Import hinzugefügt werden. Weitere Informationen finden Sie unter Gewusst wie: Importieren einer gespeicherten Prozedur. |
Gelöscht |
Mappings zur gespeicherten Prozedur werden gelöscht. Wenn der gespeicherten Prozedur ein Function Import zugeordnet wurde, muss der Function Import gelöscht oder einer anderen gespeicherten Prozedur zugeordnet werden. Wenn das Einfügungs-, Aktualisierungs- oder Löschverhalten eines Entitätstyps einer gespeicherten Prozedur zugeordnet war, werden die Mappings gelöscht. |
|
Umbenannt |
Mappings zur gespeicherten Prozedur jedes Function Import oder Einfügungs-, Aktualisierungs- und Löschverhaltens eines Entitätstyps werden gelöscht. Dies hat die gleiche Wirkung auf das konzeptionelle Modell, wie das Löschen der gespeicherten Prozedur mit dem alten Namen und das Hinzufügen einer gespeicherten Prozedur mit dem neuen Namen. Es muss ein neuer Funktionsimport für die umbenannte gespeicherte Prozedur erstellt werden, oder der ursprüngliche Funktionsimport muss der umbenannten gespeicherten Prozedur neu zugeordnet werden. |
|
Definition geändert |
Wenn Parameter für die gespeicherte Prozedur hinzugefügt oder entfernt werden, werden alle Mappings zu der gespeicherten Prozedur ungültig. Wenn der gespeicherten Prozedur ein Function Import zugeordnet wurde, muss der Function Import gelöscht und neu erstellt werden. Wenn das Einfügungs-, Aktualisierungs- und Löschverhalten eines Entitätstyps der gespeicherten Prozedur zugeordnet war, muss das Verhalten unter Umständen neu zugeordnet werden. |
Siehe auch
Aufgaben
Gewusst wie: Aktualisieren eines EDM bei Änderungen an der Datenbank
Weitere Ressourcen
Modellaktualisierungs-Assistent
Aufgaben der Entity Data Model-Tools