Konsistenz einer Datenbank
Eine hohe Konsistenz einer Datenbank ist dann gegeben, wenn die Daten in der Datenbank frei von Widersprüchen ist.Dieser Fall kann nur dann eintreten, wenn die Planung vom konzeptionellen Datenbankdesign bis zum physischen Datenbankdesign durchgeführt wurde. Erst dann, kann man von einem Datenbankmodell sprechen, das weitgehend widerspruchsfrei ist.
Inkonsistente Datenbanken können zu schweren Fehlern führen, da die darüberliegende Anwendungsschicht (Appplication Layer) nicht damit rechnet, falsche Informationen zu bekommen.
Es gibt zwei Möglichkeiten, die während des Betriebs die Konsistenz der Daten in einer Datenbank verändern kann:
- Bei der Dateneingabe durch einen Benutzer
- Bei der Durchführung von Transaktionen (manuell oder automatisiert)
Konsistenz einer Datenbank mittels Dateneingabe durch einen Benutzer
Durch eine falsche Dateneingabe durch einen Benutzer kann die Datenbank bestimmte Informationen im späteren Datenbankbetrieb nicht mehr wiederfinden. Gibt ein Benutzer den Namen "Meier" statt "Maier" ein, kann das Datenbanksystem keine Person mit dem Namen "Meier" finden, da zwar die Person "Maier" existiert, aber nicht "Meier".
Da solche Tippfehler durch den Faktor Mensch verursacht werden, kann es nie eine voll konsistente Datenbank geben. Dennoch us es sinnvoll, alle Eingaben der Benutzer zu validieren und auf ihre Richtigkeit zu überprüfen, um eine hohe Konsistenz der Daten in der Datenbank zu erreichen.
Datenbank-Konsistenz mittels Durchführung von Transaktionen
Bei der Durchführung von Transaktionen werden Daten eingefügt, verändert oder gelöscht. Solche Transaktionen können aus mehreren Teiltransaktionen bestehen und müssen komplett (Commit) oder gar nicht (Rollback) durchgeführt werden. Dennoch muss zum Schluss einer Datenbanktransaktion der Datenbestand weiterhin widerspruchsfrei sein und es dürfen keine inkonsistente Daten auftreten.
Besonders bei Transaktionen ist es wichtig, das bei jedem Schritt einer Transaktion genau abgeklärt wird, welche Konsequenzen sich im Bezug auf die Konsistenz der Daten ergeben können.