REF-Beziehungen
Eine REF-Beziehung ist ein logischer Pointer von einem Datensatz einer Tabelle auf einen Datensatz einer anderen oder derselben Tabelle. Realisiert ist er als vordefinierter, built-in Datentyp, der als Container für OIDs dient.
Die in einem Klassendiagramm /ERD/Datenmodell modellierten 1:n Beziehungen zwischen Objekten können mittels REF-Beziehungen realisiert werden und ersetzen somit vielfach FOREIGN KEY – Constraints. Auf der Basis von REF Beziehungen führt oracle automatisch JOIN-Operationen zwischen den Tabellen entlang der REF-Pointer aus. Werden hingegen FOREIGN KEYs verwendet, muss der Entwickler die JOIN-Bedingungen selbst programmieren. Um auf über REFs verknüpfte Tabellenobjekte zugreifen zu können, wird die Punktnotation verwendet. Der REF-Datentyp kann als Datentyp zur Definition von Attributen und Variablen etc. verwendet werden.
Die Syntax der REF-Funktion, die nur auf “object tables“ oder “object view“ angewendet werden kann und die als Rückgabewert den Wert des REF-Pointers, also die OID des referenzierten Objekts, zurück gibt, ist wie folgt:
Syntax der REF-Klausel
Ref::= REF ({<table_name> I <table_alias>})
Kategorie:: Objektrelationales SQL, R