Der von ER2SQL erzeugte SQL-Code muss auf dem
Datenbankserver mit einer Oberfläche wie SQL*Plus übersetzt
werden, damit die definierten Datenobjekte Teil der Datenbank
werden.
Anforderungen an die Datenbank
Damit Virtabs eingesetzt werden können, muss die zugrunde
liegende Datenbank folgende Bedingungen erfüllen:
- in der Datenbank kommen nur 1:n- und 1:1-Beziehungen vor,
1:1-Beziehungen müssen über einen Fremdschlüssel in einer
der beiden Tabellen realisiert sein.
-
jede Tabelle hat einen Primärschlüssel (nicht zusammengesetzt).
- für jeden Primärschlüssel muss eine Sequenz mit Namen
'seq_'<primarykeyname> vorhanden sein. Als Folge
davon müssen die Primärschlüssel-Spalten der verschiedenen
Tabellen einzigartige Namen tragen. (Schlüsselwort
PRIMARYKEY im er2sqlo - Definitionsdatei).
- jede Tabelle kann einen aus mehreren Spalten bestehenden
Zweitschlüssel haben (Schlüsselwort IDENTIFYING im er2sqlo
- Definitionsdatei), von denen ggf. auch Spalten NULL sein
können (Schlüsselwort NULL in der ER2SQL-Definitionsdatei).
- Auf die Kombination der Zweitschlüssel-Spalten sollte ein
UNIQUE-Constraint gesetzt werden.
-
Fremdschlüssel sollten immer die Constraints NOT NULL und REFERENCES haben.
- Generell darf in der Datenbank kein Objekt mit einem
Namen exisiteren, der mit Virtab-SQL-Objekten kollidiert
(siehe Namenschema).
- Die erzeugten Prozeduren werden im SYSTEM-Tablespace
abgelegt, der SYSTEM-Tablespace muss also ausreichend gross
sein.
- auf jeden Fremdschlüssel sollte ein INDEX gesetzt sein.
- Der User, der den Code unter Oracle kompiliert, muss
Zugriff auf alle in der Definitionsdatei erwähnten
Datenbank-Tabellen haben. Die Teilobjekte der Virtab
(Views, Prozeduren, Tables, Trigger) gehören dann diesem
Benutzer, er muss sie ggf. freigeben/exportieren.
|