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

list.sachsen.de
von list.sachsen.de Mehr von diesem Publisher
20.07.2013 Aufrufe

5. Teilweiser Aufbau einer prototypischen GDI Eine Übersicht über die genannten Komponenten ist in Abbildung 8 dargestellt, wobei jedes Zahnrad einen Trigger symbolisiert. Der View nutzt dabei die Daten aller Tabellen und wurde daher als Rahmen dargestellt. Tabelle Nutzer ID_Nutzer, DBAnmeldung, Name, Vorname, ... 1..* VIEW Tabelle Nutzer - Daten ID_Nutzer, ID_Daten Tabelle Mapinfostyles ID_Styles, Schreibrecht, MI_Style Abbildung 8: ERM der Rechteverwaltung *..1 Tabelle mit Mapinfo Daten ID_Daten, Daten Anschließend erfolgt der Zugriff auf die Geodaten durch den Nutzer ausschließlich über den erzeugten View. Sollte der Datenzugriff dennoch auf der Basis-Tabelle erfolgen, so ist der Schreibschutz ebenfalls aktiv, wird jedoch nicht visualisiert. Der für die Auslieferung benötigte View hat dabei folgende Funktionen zu erfüllen: Ermittlung des aktuellen Nutzers, Visualisierung der Schreibrechte, sowohl in der Geometrie (farblich) als auch in der Daten-Tabelle (Textvermerk), Anzeige aller Daten der Basis-Tabelle. Ein dafür geeigneter Datenbankview könnte wie folgt aussehen: 35

5. Teilweiser Aufbau einer prototypischen GDI CREATE OR REPLACE VIEW Datentabelle_View as (SELECT s.*, st.*, st.s_id AS MI_PRINX FROM Datentabelle st, Nutzer_Daten sn, Nutzer n, MapInfostyles s WHERE st.s_id = sn.s_id AND sn.n_id = n.n_id AND n.DBAnmeldename = (SELECT user FROM dual) AND s.id=2) UNION ALL (SELECT b.Schreibrecht, b.mi_style, a.*,a.ID as MI_PRINX FROM Datentabelle a, MapInfostyles s WHERE a.id NOT IN ( SELECT DISTINCT ns.s_id FROM Nutzer_Daten nd, Nutzer n WHERE ns.n_id=n.n_id AND n.DBAnmeldename = (SELECT user FROM dual) ) AND s.id=1)); Abbildung 9: Zentraler Datenbank-View der Rechtverwaltung Daten mit Schreibrecht Daten ohne Schreibrecht Der in Abbildung 9 dargestellte View ermittelt zunächst alle Daten, auf die der Nutzer Schreibrechte hat. Diese erste Datenmenge wird mit der optionalen Tabelle Mapinfostyles verknüpft, so dass das jeweilige Schreibrecht pro Datentupel visualisiert werden kann. Anschließend wird diese Datenmenge mit einer zweiten vereint. In der zweiten Menge befinden sich all die Datensätze, auf welche dem Nutzer nur lesender Zugriff gewährt wird. Die Ermittlung des aktuellen Nutzers erfolgt in diesem Beispiel über den Befehl select dual from user und liefert den aktuellen Anmeldenamen des Nutzers am Datenbanksystem. Falls gewünscht, kann hier, wie bereits beschrieben, eine andere Nutzeridentifikation erfolgen. Die farbliche Markierung kann ebenfalls beliebig geändert werden. Beispielsweise könnten alle Daten, auf die der Nutzer Schreibrechte hat, in der Standardfarbe der jeweiligen Kategorie erfolgen (Flüsse: blau, Grenzen: rot, etc.). Der in Abbildung 9 dargestellte View ist laut Definition nur lesend nutzbar. Um auch schreibenden Zugriff zu gewährleisten, müssen vier Trigger implementiert werden. 36

5. Teilweiser Aufbau einer prototypischen GDI<br />

Eine Übersicht über die genannten Komponenten ist in Abbildung 8 dargestellt, wo<strong>bei</strong><br />

jedes Zahnrad einen Trigger symbolisiert. Der View nutzt da<strong>bei</strong> die Daten aller<br />

Tabellen <strong>und</strong> wurde daher als Rahmen dargestellt.<br />

Tabelle Nutzer<br />

ID_Nutzer,<br />

DBAnmeldung,<br />

Name,<br />

Vorname,<br />

...<br />

1..*<br />

VIEW<br />

Tabelle Nutzer - Daten<br />

ID_Nutzer,<br />

ID_Daten<br />

Tabelle Mapinfostyles<br />

ID_Styles,<br />

Schreibrecht,<br />

MI_Style<br />

Abbildung 8: ERM <strong>der</strong> Rechteverwaltung<br />

*..1<br />

Tabelle mit Mapinfo Daten<br />

ID_Daten,<br />

Daten<br />

Anschließend erfolgt <strong>der</strong> Zugriff auf die Geodaten durch den Nutzer ausschließlich über<br />

den erzeugten View. Sollte <strong>der</strong> Datenzugriff dennoch auf <strong>der</strong> Basis-Tabelle erfolgen, so<br />

ist <strong>der</strong> Schreibschutz ebenfalls aktiv, wird jedoch nicht visualisiert.<br />

Der <strong>für</strong> die Auslieferung benötigte View hat da<strong>bei</strong> folgende Funktionen zu erfüllen:<br />

Ermittlung des aktuellen Nutzers,<br />

Visualisierung <strong>der</strong> Schreibrechte, sowohl in <strong>der</strong> Geometrie (farblich) als auch in<br />

<strong>der</strong> Daten-Tabelle (Textvermerk),<br />

Anzeige aller Daten <strong>der</strong> Basis-Tabelle.<br />

Ein da<strong>für</strong> geeigneter Datenbankview könnte wie folgt aussehen:<br />

35

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!