Aufgabe 1.1 (20 Punkte)
Erläutern Sie kurz die folgenden Begriffe und legen Sie anhand eines
Beispiels dar, wie es dazu kommen und wie ein Datenbanksystem Abhilfe schaffen
kann.
- Datenredundanz
- Dateninkonsistenz
- Mehrbenutzerprobleme
- Sicherheitsprobleme
Musterlösung vom 27.04.2009:
- Datenredundanz bedeutet, daß dieselben Daten an zwei (oder mehr)
verschiedenen Stellen unabhängig voneinander vorhanden sind. Beispiel: In
einer Datei stehen alle Studenten mit ihren Daten drin, die jetzt
Informatik B hören. In einer anderen Datei stehen alle Studenten
mit ihren Daten drin, die jetzt DBS hören. Wenn ein Student beide LV
besucht, dann sind seine Daten redundant.
- Dateninkonsistenz bedeutet, daß aufgrund von Redundanz zwei (oder
mehr) verschiedene 'Versionen' von Daten existieren, die eigentlich
identisch sein sollten. Beispiel: In einer von zwei LV wurden die Daten des
Studenten falsch erfaßt und in der anderen richtig.
Inkonsistenz ist deutlich von Integrität zu trennen, denn darunter
versteht man einerseits, daß die Attributwerte der Instanzen einer
Entity bestimmten Regeln entsprechen und andererseits, daß Veränderungen
an einer Instanz (insbesondere deren Löschung) aufgrund der Beziehungen
im DBS Veränderungen an Instanzen anderer Entities (oder gar deren Löschung)
hervorrufen.
- Mehrbenutzerprobleme entstehen, wenn ein Benutzer beginnt, Daten
zu editieren die schon von einem anderen
Benutzer editiert werden, und zwar bevor der zeitlich erste Benuzter seine
Änderungen gespeichert hat. Wenn beide Benutzer anschließend die Daten
wieder in das DBS zurückschreiben, gehen die Änderungen desjenigen
verloren, der als erster schreibt ('lost update'). Beispiel: Der Dozent
einer LV erweitert das Vorlesungsskript um ein Kapitel, während der
Übungsleiter einen Druckfehler beseitigt.
- Sicherheitsprobleme enstehen dadurch daß mehrere Benutzer ein
DBS benutzen und nicht jeder Benutzer Zugriff auf alle Daten haben soll.
Dabei gibt es zwei Aspekte:
- Die Art des Zugriffs (lesend/schreibend) soll für jeden
Benutzer bzw. jede Benutzergruppe individuell regelbar sein.
- Nicht alle Benutzer(gruppen) sollen lesenden Zugriff auf die
Gesamtheit der gespeicherten Daten haben.
Beispiel: Jeder Student darf bei einem Klausurergebnis die Matrikelnummern
und die vergebenen Noten einsehen. Der Blick auf die zugehörigen Namen der
Studenten bleibt aber verwehrt. Nur der Dozent der LV darf die Noten
schreibend ändern.