Oracle Application Express Tipps für Entwicklung und ... - Trivadis
Oracle Application Express Tipps für Entwicklung und ... - Trivadis
Oracle Application Express Tipps für Entwicklung und ... - Trivadis
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
4.2 Das F<strong>und</strong>ament: die Datenmodellierung<br />
Primärschlüssel <strong>für</strong> Tabellen<br />
Alle Tabellen, die in APEX Insert/Update/Delete erfahren, sollten einen<br />
Primärschlüssel haben. Dieser Primärschlüssel sollte ein künstlicher Schlüssel sein,<br />
der idealerweise über einen Before Insert or Update Trigger aus der<br />
zugehörigen Sequence gezogen wird. Die Eindeutigkeit der Datensätze bzw.<br />
bestimmter Attribute kann dann über einen Unique Constraint sichergestellt<br />
werden.<br />
Bis Version 4.0.x sollten Primärschlüssel <strong>für</strong> Tabellen maximal zwei Attribute<br />
beinhalten.<br />
Gr<strong>und</strong>:<br />
� In den APEX Wizards können nur zwei Attribute <strong>für</strong> einen Primärschlüssel<br />
angegeben werden<br />
� Die Standard DML Operationen können sonst nicht genutzt werden<br />
� Ab Version 4.1 wird als Standardeinstellung die ROWID vorgeschlagen, um<br />
Datensätze in DML Operationen eindeutig zu identifizieren. Dadurch können<br />
die Standard DML Operationen auch <strong>für</strong> Tabellen mit einem Primärschlüssel,<br />
der mehr als zwei Attribute besitzt, eingesetzt werden!<br />
Public Objekte<br />
Es sollten keine Public Objekte wie z. B. Synonyme verwendet werden.<br />
Gr<strong>und</strong>:<br />
� Die Applikation kann dann nicht mehr als abgeschlossene Einheit angesehen<br />
werden<br />
� Es können Konflikte mit anderen Objekten auf DB Ebene entstehen<br />
Datenbanklinks<br />
Bei der Verwendung von Datenbanklinks sollte <strong>für</strong> jede Zieltabelle oder Zielview<br />
eine View im Parsing Schema angelegt werden.<br />
Gr<strong>und</strong>:<br />
� Die Wizards innerhalb APEX können diese Datenquelle sonst nicht erkennen<br />
Performance Verschlechterungen, welche hier eventuell auftreten, können mit<br />
Snapshots umgangen werden!<br />
<strong>Oracle</strong> <strong>Application</strong> <strong>Express</strong> <strong>Tipps</strong> <strong>für</strong> <strong>Entwicklung</strong> <strong>und</strong> Betrieb 18