Altova DatabaseSpy 2024 Enterprise Edition

Einige Datenbanken enthalten eine spezielle Spalte, die so genannte ID- oder Autoinkrementierungsspalte. Wenn eine Spalte als ID-Spalte definiert ist, generiert die Datenbank automatisch einen eindeutigen, inkrementierten Wert für diese Spalte, wenn eine neue Zeile in die Tabelle eingefügt wird. Die Unterstützung für ID-Spalten ist von Datenbank zu Datenbank unterschiedlich.

 

Anmerkung:Der Design Editor unterstützt die Definition von ID-Spalten für die folgenden Datenbanktypen nicht: Firebird, Informix, Oracle, PostgreSQL, Progress OpenEdge, Teradata und SQLite.

 

Wenn dies von der Datenbank unterstützt wird, steht im Fenster "Eigenschaften" eine Eigenschaft namens Automatisch inkrementieren (oder in einigen Datenbanken Identity) zur Verfügung, wenn Sie im Design Editor auf die Spalte klicken (vorausgesetzt die Spalte hat einen numerischen Typ, siehe "Voraussetzungen" weiter unten). In Datenbanken wie IBM DB2 und SQL Server können Sie zusätzlich zur Eigenschaft Identity auch die Eigenschaften Anfangswert und Inkrementieren definieren.

ds_identity_column_01

Fenster "Eigenschaften" (SQL Server Datenbank)

Voraussetzungen:

 

Normalerweise können Sie ID-Spalten zum Zeitpunkt der Erstellung der Tabelle erstellen, später aber nicht mehr. Bei einigen Datenbanken (Microsoft Access, Microsoft SQL Server) können Sie eine Spalte als Identity-Spalte definieren, wenn Sie eine neue Spalte zu einer vorhandenen Tabelle hinzufügen.

Die Spalte darf keine Nullwerte zulassen. D.h. das Kontrollkästchen Null-Werte zulässig darf im Fenster "Eigenschaften" (oder im Tabellendesign) nicht aktiviert sein.

Die Spalte muss einen numerischen Typ haben (z.B. INT, INTEGER, SMALLINT, BIGINT oder sogar DECIMAL mit einer Skalierung 0). Je nach Datenbank können auch andere numerische Typen verwendet werden.

So erstellen Sie eine ID-Spalte:

1.Wählen Sie die Spalte, die Sie als ID-Spalte verwenden möchten, im Design Editor oder im Online Browser aus.

2.Aktivieren Sie im Fenster "Eigenschaften" das Kontrollkästchen Identity (oder je nach Datenbank das Kontrollkästchen Automatisch inkrementieren).

 

Anmerkung:In Microsoft Access wird der Spaltendatentyp automatisch in COUNTER konvertiert, wenn Sie das Kontrollkästchen Automatisch inkrementieren aktivieren. Dieser Datentyp ist Microsoft Access-spezifisch und stellt sicher, dass der Wert automatisch inkrementiert wird.

 

3.Ändern Sie gegebenenfalls die Standardwerte in den Feldern Anfangswert und Inkrementieren. Anfangswert definiert den Anfangswert, der von der Datenbank generiert wird, während Inkrementieren angibt, um wie viel der Anfangswert bei jeder Einfügung inkrementiert werden soll. Normalerweise sind dies die Werte 1 bzw. 1.

 

Wie immer, wenn Änderungen an der Datenbankstruktur erfolgen, wird ein Change Script generiert, das ausgeführt werden muss, damit die ID-Spalte tatsächlich in der Datenbank erstellt wird. DatabaseSpy führt eine Validierung der Spaltendefinition, die für die ID-Spalte verwendet wird, durch. In der Abbildung unten sehen Sie ein Script, bei dem die Validierung fehlgeschlagen ist, da die Spalte Null-Werte zulässt und keine numerischen Typ hat:

ds_identity_column_02

Ein gültiges Script könnte z.B. folgendermaßen aussehen:

ds_identity_column_03

Wenn das Script gültig ist und Sie die Änderungen in die Datenbank schreiben möchten, klicken Sie im Fenster "Datenbankstruktur Change Script" auf Ausführen dbs_ic_execute_script.

© 2018-2024 Altova GmbH