Tabelle mit Identity Column im Oracle Data Modeler erstellen

von Tobias Redmann

Ich zeige euch in diesem Post wie ihr mit dem Oracle Data Modeler 4.1.2 eine Tabelle mit einer Identity Column erstellen könnt. Im das Feature nutzen zu können, benötigst du die Oracle Datenbankversion 12c und den Oracle Data Modeler 4.1.2.

Was ist eine Identity Column?

Einfach ausgedrückt – es handelt sich bei Identity Columns um eine AutoIncrement Spalte. Die MySQL Datenbank z.B. besitzt diesen „Datentypen“ schon sehr lange. Pro Tabelle darf es aktuell nur eine Identity Column geben.

Beispiel Syntax IDENTITY

Ich möchte in diesem Post nicht so tief auf die Syntax eingehen. Im folgenden sind sehr gute Posts aufgelistet die sich speziell mit diesem Thema beschäftigen.

Hier ein paar weiterführende Links zum Thema Identity Columns:

Identity Column im Oracle Data Modeler erstellen

In dieser Step by Step Anleitung erkläre ich ganz kurz wie ihr die Identity Column bei der DDL-Generierung erstellen könnt.

Tabelle im relationalen Modell erstellen

datamodeler-identity-column-01

Detailansicht der ID Column

datamodeler-identity-column-02

Automatische Inkrementierung auf ALWAYS setzen

datamodeler-identity-column-03

Identity Column festlegen

In das physikalische Modell wechseln – darauf achten, das es sich um ein Modell einer Oracle DB Version 12c handelt.
datamodeler-identity-column-04

DDL-Generierung

datamodeler-identity-column-05

Zusatzinfos

Jeff Smith hat in dem folgenden Post noch einen anderen Weg aufgezeigt, welchen ich aber mit dem Oracle SQL DataModeler 4.1.2 nicht mehr nachvollziehen kann. Der Post ist auch schon etwas älter – aber lesenswert.

Trigger – Nein Danke

In der Praxis sehe ich sehr häufig, dass ein Trigger angelegt, beim Insert eines Datensatzes in eine Tabelle eine Sequence hochgezählt und dann die entsprechende Column mit dem Sequencewert befüllt wird – durch die Identity Column wird von der Oracle DB eine Sequence generiert und die Column automatisch befüllt – ganz wichtig alles ohne Triggertechnik! Ich persönlich bin kein Freund von Triggertechniken und daher gibt es jetzt wirklich keinen Grund mehr diese einzusetzen.

Eine Redewendung welchen ich immer mit Trigger in Verbindung bringe – ROW BY ROW, SLOW BY SLOW. Sind Trigger auf einer Tabelle angelegt, sind keine BULK Operationen mehr möglich – Einzeldatensatzverarbeitung ist angesagt :-(

 

SCHREIBEN SIE EINEN KOMMENTAR