Definiton: Integritätsbedingung (Constraints)
Damit die Integrität der Datenbank bestehen kann, werden Bedingungen festgelegt:
Mögliche Bedingungen wären dabei:
NOT NULL
- Eine Spalte kann nichtNULL
sein
UNIQUE
- Alle Werte der Spalte müssen eindeuting sein
PRIMARY KEY
- Kombination ausNOT NULL
undUNIQUE
, legt eine Spalte als Primärschlüssel fest
FOREIGN KEY
- Wenn eine Spalte das Foreign Key constraint hat, können die damit verbundenen Datensätze nicht gelöscht werden.
DEFAULT
- Setze einen Standardwert
CHECK
- Überprüfe eine bestimmte Bedingung
CREATE INDEX
- Erstelle einen Index, um Suchen zu verschnellernWenn eine der Bedingungen nicht besteht, dann kann eine Transaktion nicht ausgeführt werden.
Definition: Transaktion
Eine Transaktion ist eine Folge von Anweisung, die alle ausgeführt werden müssen, um ein korrektes Ergebnis zu erhalten. Dies muss insbesondere bei Mehrbenutzersystemen berücksichtigt werden.Transaktion Onlineverkauf
- Warenbestand einsehen
- Warenkorb füllen (Artikel, anzahl)
- Bezahlung
Fehler:
LostUpdate - zwei konkurrierende Transaktionen T1, T2, T2 überschreibt einen Wert ohne Berücksichtigung der Änderung durch T1
DirtyRead - zwei konkurrierende Transaktionen T1, T2, T2 liest einen Wert ohne Berücksichtigung der Änderung durch T1
ROLLBACK
- eine Transaktion wird rückgängig gemacht
COMMIT
- eine Transaktion wird in die Datenbank geschrieben
Aufgaben
Aufgabe 1
Beschreiben Sie anhand der Tabelle “Studentenbelegung” die folgenden Anomalien:
- Einfüge-Anomalie: Student ohne Vorlesung
⇒ möglich, führt zu Problemen
- Update-Anomalie: Carnap kommt ins 4. Semester
⇒ unschön, komplizierte Query, sperrt Datenbank evntl. für längere Zeit
- Lösch-Anomalie: Fichte möchte doch nicht an Vorlesung teilnehmen
⇒ Fichte verschwindet aus der Datenbank
Aufgabe 2
Vergleichen Sie mit den Tabellen “2 NF Studentenbelegung, Studenten”
- trotzdem noch möglich, führt weiterhin zu problemen
- einfach umzusetzen
- Vorlesung kann einfach ausgetragen werden, Fichte wird nicht gelöscht
Aufgabe 3
Notiere Integritätsbedingungen für die Tabelle “Studentenbelegung”. Integritätsbedingungen sind Bedingungen, die Anomalien verhindern sollen. Man fordert oder verbietet gewisse Werte oder Wertebereiche für die einzelnen Attribute.
Relationentabelle Studentenbelegung:
VorlNR PRIMARY KEY FOREIGN KEY
MatrNR PRIMARY KEY FOREIGN KEY
Studenten:
Name NOT NULL
Semester NOT NULL
MatrNr PRIMARY KEY