Databases Reference
In-Depth Information
DECLARE preis DECIMAL(15,2);
DECLARE art_nr CHAR(4);
DECLARE nicht_vorhanden
EXCEPTION FOR SQLSTATE VALUE '02000';
DECLARE aliste CURSOR FOR
SELECT listenpreis, artikel_nr
FROM artikel
ORDER BY listenpreis DESC, artikel_nr ASC
FOR UPDATE;
-- Satzweise Verarbeitung der Abfrage
SET lfd_Nr = 0;
OPEN aliste;
leseschleife: LOOP
FETCH NEXT aliste
INTO preis, art_nr;
IF SQLSTATE=nicht_vorhanden THEN
LEAVE leseschleife
END IF;
SET lfd_nr = lfd_nr + 1;
UPDATE artikel
SET num = lfd_nr
WHERE CURRENT OF aliste;
END LOOP leseschleife;
MESSAGE STRING ('Es wurden ', lfd_nr,
' Artikel nummeriert.');
CLOSE aliste
END;
7.4 Strategien zur Konsistenzsicherung
Wir haben in den vergangenen Kapiteln verschiedene Methoden und Gesichts-
punkte des Datenbankentwurfs kennen gelernt: vom konzeptionellen Entwurf
über den Entwurf eines relationalen Schemas bis hin zur Implementierung unter
SQL. In diesem Kapitel haben wir verschiedene Möglichkeiten kennen gelernt, wie
wir die Konsistenz einer Datenbank sicherstellen können. Zum Abschluss werden
wir in diesem Abschnitt die verschiedenen Techniken der Konsistenzsicherung
zusammenfassen (vgl. hierzu auch [Lipe92]).
Die Aufgaben der Konsistenzsicherung sind im Wesentlichen dadurch bestimmt, dass
die Datenbank die abzubildende Realität korrekt wiedergibt,
dabei vorgegebene Geschäftsregeln eingehalten werden und
verhindert wird, dass Nutzer Datenbanktransaktionen auslösen, die nicht
zulässig sind.
 
Search WWH ::




Custom Search