Objektschlüsseldefinition
Der Objektschlüssel definiert alle Spalten, die notwendig sind, um genau ein Objekt des Schematyps zu selektieren. Zur Definition der Schlüsselspalten werden <Key>-Tags verwendet. Das Tag <ObjektKey> umschließt eine beliebige Anzahl von <Key>-Tags. Damit werden die Bestandteile des eindeutigen Schlüssels für alle Elemente eines Schematyps deklariert und die Spalten benannt, die für die Identifikation eines Einzelobjektes dieses Schematyps benötigt werden. Die korrekte Angabe aller Schlüsselspalten ist sowohl für die Selektion der Einzelobjekte als auch für mögliche Join-Operationen wichtig.
Tabelle 8: Attribute einer Objektschlüsseldefinition
Column |
Name der Spalte in vollständiger Namensnotation. |
IsReferencedColumn |
Gibt an, ob die Schlüsselspalte für eine Referenzauflösung von anderen Schematypen benötigt wird. Der Standardwert ist false. |
IsDNColumn |
Gibt an, ob der Wert dieser Spalte als Bestandteil in den definierten Namen des Objekts eingefügt wird. Der Standardwert ist false. |
X500Abbreviation |
Kürzel, welches dem Wert aus dieser Spalte bei der Bildung des definierten Namen vorangestellt wird. Nur benötigt, wenn IsDNColumn="true". |
Beispiel
<Objectkey>
<Key Column="APPLSYS.FND_APPLICATION.APPLICATION_ID" IsDNColumn="true" X500Abbreviation="AP" />
</Objectkey>
Tabellendefinitionen
Das Tag <Tables> umschließt eine beliebige Anzahl von Tabellendefinitionen in <Table>-Tags. Damit ist es möglich, alle Tabellen oder Views zu benennen, aus denen Daten für ein Einzelobjekt dieses Schematyps benötigt werden. Die grundlegend notwendigen Informationen zu einer Tabelle werden in den Attributen des <Table>-Tags definiert.
Tabelle 9: Attribute einer Tabellendefinition
Name |
Name der Tabelle (ohne Schemaname). |
Schema |
Name des Oracle Schemas. |
APK |
Name einer Spalte, die alternativer Primärschlüssel sein kann. Diese Spalte wird stets mit geladen. |
USN |
Name einer Spalte, welche die Information über die letzte Änderung der Objekte trägt. Wenn die Spalte LAST_UPDATE_DATE vorhanden ist, wird sie standardmäßig als Änderungsinformation genutzt und muss nicht explizit angegeben werden. |
WhereClause |
Where–Klausel zur Einschränkung der Ergebnismenge. |
JoinParentColumn |
Kommagetrennte Liste von Spalten in einer übergeordneten Tabelle, wenn eine Join–Operation zu einem hierarchisch übergeordneten Schematyp ausgeführt werden soll (vollständige Notation). |
JoinChildColumn |
Kommagetrennte Liste von Spalten in der aktuell definierten Tabelle, die in der Join–Operation mit den Spalten aus JoinParentColumn verbunden werden sollen (vollständige Notation). Die Reihenfolge der Spalten in den Listen bestimmt, welche Spalten miteinander verbunden werden. |
Beispiel
<Tables>
<Table Name="FND_RESPONSIBILITY_TL" Schema="APPLSYS" APK="" USN="" WhereClause="APPLSYS.FND_RESPONSIBILITY_TL.LANGUAGE='US'" JoinParentColumn="APPLSYS.FND_RESPONSIBILITY.RESPONSIBILITY_ID,APPLSYS.FND_RESPONSIBILITY.APPLICATION_ID" JoinChildColumn="APPLSYS.FND_RESPONSIBILITY_TL.RESPONSIBILITY_ID,APPLSYS.FND_RESPONSIBILITY_TL.APPLICATION_ID" >
</Tables>
Definition der Primärschlüssel
Die <PK>-Tags innerhalb der <Table>-Sektion benennen die Primärschlüsselspalten einer Tabelle. Der Name der Spalte wird dabei im Attribut Column angegeben. Um mehrspaltige Primärschlüssel zu definieren, geben Sie jede Spalte in einem eigenen Tag an. Es können beliebig viele <PK>-Tags in einer Tabellendefinition verwendet werden.
Tabelle 10: Attribut einer Primärschlüsseldefinition
Column |
Name der Primärschlüsselspalte. |
Beispiel
<PK Column="REQUEST_GROUP_ID" />
Spaltenpaare in der Hierarchie
Die <ParentTableFK>-Tags innerhalb der <Table>-Sektion beschreiben die Spaltenpaare, die bei einer Join-Operation mit der Tabelle des hierarchisch übergeordneten Schematyps gleichzusetzen sind.
Tabelle 11: Attribute eines Spaltenpaars
Column |
Name der Spalte in der aktuell definierten Tabelle. |
ParentColumn |
Name der Spalte in der Tabelle des übergeordneten Schematyps. |
Beispiel
<ParentTableFK Column="APPLSYS.FND_RESPONSIBILITY.APPLICATION_ID" ParentColumn="APPLSYS.FND_APPLICATION.APPLICATION_ID" />