Datenbanken
Viele moderne Systeme haben im Hintergrund heutzutage eine oder mehrere Datenbanken laufen um große Mengen an Benutzerdaten zuverwalten. Hierbei müssen natürlich viele Aspekte beachtet werden damit der Benutzer keinen Geschwindigkeitsverlust oder Datenverlust bemerkt. Wie man diese Probleme behandelt und teilweise auch umgehen kann beschreibe ich in diesen Artikel.
Themen
Cod’sche Regeln
Für Datenbanksysteme wurden grundlegend 9 Regeln aufgestellt, die ein DBMS (Datenbank-Management-System) erfüllen muss. Diese Regeln beschreiben den Umgang mit Daten oder auch mit Resourcen (Speichermanagement).
Somit müssen die folgenden Regeln eingehalten werden.
Integration | Einheitliche, Nichtredundante Datenverwaltung |
Operationen | Speichern, Suchen, Ändern |
Katalog | Zugriff auf Datenbankbeschreibungen im Data-Dictionary |
Benutzersichten | |
Integritätssicherung | Korrektheit der Daten |
Datenschutz | Ausschluss nichterlaubter Zugriffe |
Transaktionen | DB-Operationen als Funktionen (Einheiten) |
Synchronisation | Parallele Transaktionen koordinieren |
Datensicherung | Wiederherstellung von Daten nach Abstürzen oder Fehlern |
DB-Schema
Ein Datenbanksystem wird in 3 verschiedenen Ebenen aufgeteilt und schaft somit mehrere Abstraktionsebenen für verschiedene Phasen der Entwicklung einer Datenbank für ein bestehendes Problem.
Neben der 3-Schichten-Darstellung (ANSI-SPARC-Architektur) gibt es außerdem auch die 5-Schichten-Darstellung. Dabei führt man neben einer Abstraktionsebene für die Daten auch weitere Schichten für die Hardware ein und vereinfacht damit auch entstehende Probleme in diesen Bereichen.
Verschiedene Systeme
Wenn man über Datenbanken diskutiert, muss man natürlich ab einen gewissen Punkt genauer werden. Datenbank ist nur ein Überbegriff von vielen verschiedenen Systemen die es auf den Markt gibt. Manche davon sind Lizenzpflichtig und andere widerrum Open-Source.
Geht es um Daten wie Benutzernamen, Passwörter und Adressen, werden oft relationale Datenbanken verwendet. Diese speichern Tabellen mit Tupel die verwendet werden können um auf jeweils andere Tupel zuzugreifen. Diese Systeme kann man sich vorstellen wie mehrere Excel-Sheets. Für solche Systeme wird außerdem in der Regel die Anfragesprache SQL (Standard Querry Language) verwendet. Diese Sprache werde ich in einem der nächsten Artikel genauer erleutern.
Neben den relationalen Datenbanken gibt es auch NoSQL Datenbanken. Diese werden vorallem zum Speichern von Dateien verwendet. Wenn eine Bank zum Beispiel deine letzten Kontoauszüge speichert, könnte es in einer solchen Datenbank hinterlegt sein.
Quellen
Bild von Mohamed Hassan auf Pixabay (14.9.23, 12:12)