Datenbanken

Datenbanken

Bild von Mohamed Hassan auf Pixabay

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.

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.

IntegrationEinheitliche, Nichtredundante Datenverwaltung
OperationenSpeichern, Suchen, Ändern
Katalog Zugriff auf Datenbankbeschreibungen im Data-Dictionary
Benutzersichten
IntegritätssicherungKorrektheit der Daten
DatenschutzAusschluss nichterlaubter Zugriffe
TransaktionenDB-Operationen als Funktionen (Einheiten)
SynchronisationParallele Transaktionen koordinieren
DatensicherungWiederherstellung von Daten nach Abstürzen oder Fehlern
Die Cod’schen Regeln

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)