Definiton: Integritätsbedingung (Constraints)
Damit die Integrität der Datenbank bestehen kann, werden Bedingungen festgelegt:
CREATE TABLE table_name (
   column1 datatype constraint,
   column2 datatype constraint,
   column3 datatype constraint,
   ....
);
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