20.07.2013 Aufrufe

Thema - bei der LISt Gesellschaft für Verkehrswesen und ...

Thema - bei der LISt Gesellschaft für Verkehrswesen und ...

Thema - bei der LISt Gesellschaft für Verkehrswesen und ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

5. Teilweiser Aufbau einer prototypischen GDI<br />

CREATE OR REPLACE VIEW Datentabelle_View as<br />

(SELECT s.*, st.*, st.s_id AS MI_PRINX<br />

FROM Datentabelle st, Nutzer_Daten sn, Nutzer n, MapInfostyles s<br />

WHERE st.s_id = sn.s_id AND sn.n_id = n.n_id AND n.DBAnmeldename =<br />

(SELECT user FROM dual)<br />

AND s.id=2)<br />

UNION ALL<br />

(SELECT b.Schreibrecht, b.mi_style, a.*,a.ID as MI_PRINX<br />

FROM Datentabelle a, MapInfostyles s<br />

WHERE a.id NOT IN (<br />

SELECT DISTINCT ns.s_id<br />

FROM Nutzer_Daten nd, Nutzer n<br />

WHERE ns.n_id=n.n_id AND n.DBAnmeldename =<br />

(SELECT user FROM dual) )<br />

AND s.id=1));<br />

Abbildung 9: Zentraler Datenbank-View <strong>der</strong> Rechtverwaltung<br />

Daten mit<br />

Schreibrecht<br />

Daten<br />

ohne<br />

Schreibrecht<br />

Der in Abbildung 9 dargestellte View ermittelt zunächst alle Daten, auf die <strong>der</strong> Nutzer<br />

Schreibrechte hat. Diese erste Datenmenge wird mit <strong>der</strong> optionalen Tabelle<br />

Mapinfostyles verknüpft, so dass das jeweilige Schreibrecht pro Datentupel visualisiert<br />

werden kann. Anschließend wird diese Datenmenge mit einer zweiten vereint. In <strong>der</strong><br />

zweiten Menge befinden sich all die Datensätze, auf welche dem Nutzer nur lesen<strong>der</strong><br />

Zugriff gewährt wird. Die Ermittlung des aktuellen Nutzers erfolgt in diesem Beispiel<br />

über den Befehl select dual from user <strong>und</strong> liefert den aktuellen Anmeldenamen des<br />

Nutzers am Datenbanksystem. Falls gewünscht, kann hier, wie bereits beschrieben, eine<br />

an<strong>der</strong>e Nutzeridentifikation erfolgen.<br />

Die farbliche Markierung kann ebenfalls beliebig geän<strong>der</strong>t werden. Beispielsweise<br />

könnten alle Daten, auf die <strong>der</strong> Nutzer Schreibrechte hat, in <strong>der</strong> Standardfarbe <strong>der</strong><br />

jeweiligen Kategorie erfolgen (Flüsse: blau, Grenzen: rot, etc.).<br />

Der in Abbildung 9 dargestellte View ist laut Definition nur lesend nutzbar. Um auch<br />

schreibenden Zugriff zu gewährleisten, müssen vier Trigger implementiert werden.<br />

36

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!