OID (Oracle)

OID ist bei Oracle das Akronym das Konzept des "Object Identifiers" zur eindeutigen Identifikation von Objekten aus der objektorientierten Programmierung. Dieses Konzept wurde in den Kontext von objektrelationalen Datenbanksystemen übertragen.

Folgende Eigenschaften gelten für eine solche OID-Spalte bei Oracle:

  • Unveränderbar (Zustandsunabhängigkeit)
  • NOT NULL (Pflichteingabe)
  • UNIQUE (Eindeutigkeit - nur bei Basistabellen, nicht bei typisierten Sichten)

Für eine Oracle-OID kommen zwei Varianten in Frage:

  • REF IS SYSTEM GENERATED
    • systemgeneriert und systemweit eindeutig
    • Default-Einstellung
    • Für jedes Objekt wird eine eigene eindeutige systemgenerierte OID-Spalte angelegt, die für den Anwender eigentlich nicht sichtbar ist. Das System verwendet die OID für Objektreferenzen zur Navigation zwischen Objekten und den Zugriff auf Objekte. (vgl. REF-Beziehungen). Der Anwender kann sich den Inhalt jedoch anzeigen lassen und ebenfalls für Objektzugriffe und Referenzen nutzen.
    • Für jedes Objekt wird automatisch vom DBMS? ein eigener eindeutiger systemgenerierter OID-Wert beim Einfügen von Objekten in die OID-Spalte eingetragen. Bei der INSERT-Anweisung wird vom Anwender kein OID-Wert übergeben.
    • Länge 16 Byte
  • REF IS PRIMARY KEY
    • abgeleitet vom Primärschlüssel der Objekttabelle
    • Voraussetzung ist, dass für die Objekttabellen ein Primärschlüssel definiert ist.
    • Das System verwendet die PRIMARY KEY-Spalte(n) als Spalte(n) für die OID. Es werden keine zusätzlichen OID-Spalten angelegt.
    • Emfehlenswert vor allem dann, wenn der PRIMARY KEY kleiner ist als die systemgenerierte OID-Spalte.

siehe auch: OID (SQL), CREATE-Object-TABLE-Anweisung, Objekttabelle, Objektsicht

Quellen:

Kategorie: Objektrelationale DB, O