Aktualisieren von Daten mit SQL
Sie haben die Möglichkeit, nach dem Laden einer großen Datenmenge in die Geodatabase viele Attributwerte gleichzeitig zu aktualisieren. Bei einer ArcSDE-Geodatabase können Sie die Daten versionieren und dann in ArcMap bearbeiten, um die Aktualisierung durchzuführen. Das Problem bei dieser Vorgehensweise ist, dass sich alle aktualisierten Features in Deltatabellen befinden; Sie sollten die Datenbank komprimieren, um die aktualisierten Features in die Basistabellen zu übertragen.
Eine andere Möglichkeit ist die Massenaktualisierung der Attribute, die mithilfe von SQL durchgeführt werden kann, bevor die Daten versioniert werden. Bei dieser Methode wird die Aktualisierung durchgeführt, bevor die Datenbank versioniert wird, und alle Features bleiben in den Basistabellen.
Es gibt einige Regeln, die bei der Durchführung von Aktualisierungen mit SQL zu beachten sind. Es ist wichtig, dass Sie Ihre Datenmodelle verstehen, sodass die Attribute, die Sie aktualisieren, keine anderen Objekte in der Datenbank durch Beziehungen oder anderes Verhalten beeinflussen. Das Verwenden von SQL für diesen Vorgang ohne genaue Kenntnis des Datenmodells kann zur Beschädigung der Daten führen. Beispiel: Wenn Sie SQL zur Änderung der Attribute eines Features verwenden, aus denen der Text für Feature-bezogene Annotations abgeleitet wird, erhalten die Annotation-Features keine Mitteilung über die Aktualisierung, sodass Annotation und Feature nicht mehr synchron sind. Wenn diese Attribute in ArcGIS aktualisiert werden, werden alle notwendigen Schritte durchgeführt.
Folgende Richtlinien sind zu beachten, wenn Sie Aktualisierungen mit SQL außerhalb des ArcGIS-Kontextes durchführen:
- Aktualisieren Sie Datensätze nie in SQL, nachdem Sie die Daten versioniert haben.
- Ändern Sie beim Aktualisieren der Daten mit SQL keine Attribute, die durch Geodatabase-Verhalten andere Objekte in der Datenbank beeinflussen.
- Aktualisieren Sie nie das Feld ObjectID mit SQL.
- Aktualisieren Sie nie die Felder "Enabled" oder "AncillaryRole" oder ein Gewichtungsfeld für eine Geometric-Network-Feature-Class mit SQL. Wenn diese Felder über ArcGIS aktualisiert werden, entstehen daraus Änderungen an den Topologietabellen des geometrischen Netzwerkes, die SQL nicht auslöst.
- Aktualisieren Sie nie die Felder Element, SymbolID, TextString, FontName, FontSize, Bold, Italic, Underline, VerticalAlignment, HorizontalAlignment, XOffset, YOffset, Angle, FontLeading, WordSpacing, CharacterWidth, CharacterSpacing, FlipAngle oder Override einer Annotation-Feature-Class. Wenn diese Felder über ArcGIS aktualisiert werden, entstehen daraus Änderungen am BLOB-Element des Features, die SQL nicht auslösen würde. Wenn Sie diese Felder außerhalb von ArcGIS mit SQL aktualisieren, werden die mit jedem Annotation-Feature verknüpften Textsymbolfelder nicht aktualisiert.