SL: DB-Tabellen korrigieren (Veraltet!)
Autor: Ralf v.d.Mark
eingetragen: Mittwoch, 24. August 2016 um 16:23 Uhr (34/2016 Kalenderwoche)
geändert: Dienstag, 23. März 2021 um 11:38 Uhr (12/2021 Kalenderwoche)
Keywords: Scopeland Oracle Tabellen korrigieren
Kategorien: DB: Oracle, Scopeland,
Text:
Achtung: Es ist jetzt möglich, diese Einstellungen direkt in Scopeland einzufügen, siehe Artikel: Techdox-Artikel 200
Inhalt des veralteten Artikels
Beim Löschen eines Eltern-Elementes muss sichergestellt sein, das auch alle Kind-Elemente mit gelöscht werden.
Da Datenbank-Verknüpfungen in Scopeland nicht angelegt werden, pflegen wir das nach.
In unserm Beispiel werden alle DB-Änderungen an der Tabelle "t_versiosystem" angehangen.
WICHTIG: Beim benennen der Scripte am besten einen Buchstaben vorsetzen, da die Ausführungsreihenfolge wichtig ist.
Nachdem man die Scripte (wie in den Abb. 1 und 2. "dboptimierung1.jpg" und "dboptimierung2.jpg") eingefügt wurden, muss man die Tabelle "devalidieren" und anschließend wieder "validieren" (siehe Abb. 3. "dboptimierung3.jpg"). Beim Validieren werden die SQL-Scripte ausgeführt.
HINWEISE:
- Ein Bug in Scopeland bringt eine Fehlermeldung von Oracle nur einmal. Um wieder einen zu sehen, muss der DirectDesk neu gestartet werden. Dann wieder "validieren".
Hintergrund-Info: Es sind folgende Tabellen in der DB vorhanden:
TABLE: tentwickler
PRIMARY: EntwicklerKey
FOREIGN: -
TABLE: tproduktmanager
PRIMARY: PManagerKey
FOREIGN: -
TABLE: teintraege
PRIMARY: EintragKey
FOREIGN: FK_VersionKey
TABLE: taktualisierungen
PRIMARY: AktualierungKey
FOREIGN: FKVersionKey
TABLE: tversionen
PRIMARY: VersionKey
FOREIGN: FKProduktKey
TABLE: tprodukt
PRIMARY: ProduktKey
FOREIGN: FKProduktManagerKey
TABLE: tentwcklprodukt (Kreuztabelle)
FOREIGN: FKProduktKey
FOREIGN: FKEntwicklerKey
TABLE: t_versiosystem (unabhängige, eigenständige Tabelle)
PRIMARY: SLKey
Quellcode:
/* Name der Scopeland-Funktion: a_unique_key2 */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_eintraege
ADD CONSTRAINT unique_key2
UNIQUE (Eintrag_Key)
/* Name der Scopeland-Funktion: b_unique_t_produkt */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_produkt
ADD CONSTRAINT unique_t_produkt
UNIQUE (Produkt_Key)
/* Name der Scopeland-Funktion: c_unique_t_aktualis */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_aktualisierungen
ADD CONSTRAINT unique_t_aktualisg
UNIQUE (Aktualierung_Key)
/* Name der Scopeland-Funktion: d_unique_t_versionen */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_versionen
ADD CONSTRAINT unique_t_versionen
UNIQUE (Version_Key)
/* Name der Scopeland-Funktion: e_unique_t_entwickler */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_entwickler
ADD CONSTRAINT unique_t_entwickler
UNIQUE (Entwickler_Key)
/* Name der Scopeland-Funktion: f_unique_t_p_manager */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_produktmanager
ADD CONSTRAINT unique_t_produktmanager
UNIQUE (PManager_Key)
/* Name der Scopeland-Funktion: g_unique_t_versiosystem */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_versiosystem
ADD CONSTRAINT unique_t_versiosystem
UNIQUE (SLKey)
/* Name der Scopeland-Funktion: o_DEL_t_eintraege */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_eintraege
ADD CONSTRAINT DEL_t_eintraege
FOREIGN KEY (FK_VersionKey)
REFERENCES $[SCOPELAND.PhysDBName('VERSIO Daten')]t_aktualisierungen (Aktualierung_Key)
ON DELETE CASCADE
/* Name der Scopeland-Funktion: p_DEL_t_aktualisierg */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_aktualisierungen
ADD CONSTRAINT DEL_t_aktualisierg
FOREIGN KEY (FK_Version_Key)
REFERENCES $[SCOPELAND.PhysDBName('VERSIO Daten')]t_versionen (Version_Key)
ON DELETE CASCADE
/* Name der Scopeland-Funktion: q_DEL_t_versionen */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_versionen
ADD CONSTRAINT DEL_t_versionen
FOREIGN KEY (FK_Produkt_Key)
REFERENCES $[SCOPELAND.PhysDBName('VERSIO Daten')]t_produkt (Produkt_Key)
ON DELETE CASCADE
/* Name der Scopeland-Funktion: r_DEL_FK_Produkt_Key */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_entwckl_produkt
ADD CONSTRAINT DEL_FK_Produkt_Key
FOREIGN KEY (FK_Produkt_Key)
REFERENCES $[SCOPELAND.PhysDBName('VERSIO Daten')]t_produkt (Produkt_Key)
ON DELETE CASCADE
/* Name der Scopeland-Funktion: s_DEL_FK_Entwickler_Key */
ALTER TABLE $[SCOPELAND.PhysDBName('VERSIO Daten')]t_entwckl_produkt
ADD CONSTRAINT DEL_FK_Entwickler_Key
FOREIGN KEY (FK_Entwickler_Key)
REFERENCES $[SCOPELAND.PhysDBName('VERSIO Daten')]t_entwickler (Entwickler_Key)
ON DELETE CASCADE
Anhänge: 3 Dateien