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 />
beendet. An<strong>der</strong>enfalls wird die gewünschte Fehlermeldung über mangelnde<br />
Schreibrechte ausgegeben <strong>und</strong> die Datenmanipulation abgebrochen.<br />
Der zu diesem Zweck eingesetzte Trigger ist in Abbildung 13 dargestellt.<br />
CREATE TRIGGER Datentabelle_BefU<br />
BEFORE UPDATE ON Datentabelle FOR EACH ROW<br />
DECLARE<br />
anz integer;<br />
BEGIN<br />
SELECT COUNT(d."Daten_ID") INTO anz<br />
FROM Nutzer n, Nutzer_Daten d<br />
WHERE d."Daten_ID"=:old.gid AND d."Nutzer_ID"=n."ID" AND n."Name"=<br />
(SELECT user FROM dual);<br />
If (:old.s_id :new.s_id or anz=0)<br />
THEN<br />
RAISE_APPLICATION_ERROR (-20102,'KEINE SCHREIBRECHTE');<br />
END IF;<br />
END;<br />
Abbildung 13: Before Update Trigger <strong>der</strong> Datentabelle<br />
Nach Implementierung <strong>der</strong> Trigger ist <strong>der</strong> zeilenweise Schreibschutz einsatzbereit. Zum<br />
Abschluss wurde die optional zur visuellen Darstellung benötigte Tabelle Mapinfostyles<br />
erstellt. Sie enthält zwei Datensätze mit je zwei Attributen. Zum einen die Farbe <strong>der</strong><br />
darzustellenden Datensätze – grün insofern Schreibrechte vorliegen – rot <strong>bei</strong><br />
Nichtvorliegen, zum an<strong>der</strong>en eine Textinformation über aktuell vorliegende<br />
Schreibrechte –ja bzw. nein.<br />
Zum Zugriff auf die gewünschten Daten muss eine Datenbankverbindung hergestellt<br />
<strong>und</strong> <strong>der</strong> beschriebene View geöffnet werden.<br />
In Abbildung 14 ist ein Beispiel eines Kartenausschnitts in MapInfo zu sehen. Im<br />
vorliegenden Fall sind Kompensationsflächen dargestellt, wo<strong>bei</strong> <strong>der</strong> aktuelle Nutzer <strong>für</strong><br />
rote Flächen Lese- <strong>und</strong> <strong>für</strong> grüne Flächen Schreibrechte besitzt.<br />
39