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 ...
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