Erstellen von Identity-Spalten

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

Startseite >  Anzeigen und Ändern der Datenbankstruktur > Gestalten von Tabellen im Design Editor >

Erstellen von Identity-Spalten

Einige Datenbanken enthalten eine spezielle Spalte, die so genannte Identity- oder Autoinkrementierungsspalte. Wenn eine Spalte als Identity-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 Identity-Spalten für die folgenden Datenbanktypen nicht: Firebird, Oracle, PostgreSQL, Progress OpenEdge 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.
Null-Werte dürfen in der Spalte nicht zulässig sein, 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 Identity-Spalte:

1.Wählen Sie die Spalte, die Sie als Identity-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 vorgenommen werden, wird ein Change Script generiert, welches ausgeführt werden muss, um die Identifier-Spalte in der Datenbank zu erstellen. DatabaseSpy führt an der Spaltendefinition, die für die Identifier-Spalte verwendet wird, eine Validierung 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 .

 

 


© 2019 Altova GmbH