Datenbanken haben sich als fester Bestandteil von IT-Landschaften etabliert. Sie spielen eine wesentliche Rolle, wo immer Software-Applikationen zum Einsatz kommen und auf eine gemeinsame, integrierte Datenbasis zugreifen.
Relationale Datenbanksysteme (RDBMS, *Relational Database Management Systems*) gibt es seit den 1980er Jahren. Sie haben sich zum De-facto-Standard für die Verwaltung strukturierter Daten entwickelt und sind heute die am weitesten verbreitete Form von Datenbanksystemen.
Relationale Datenbanken speichern Informationen in Tabellen (tables). Tabellen bestehen aus Zeilen (rows, auch Tupel/tuples genannt) und Spalten (columns, auch Attribute/attributes genannt). - Eine Zeile (Tupel) steht für einen vollständigen Datensatz, zum Beispiel einen Kunden oder eine Bestellung. - Eine Spalte (Attribut) beschreibt eine bestimmte Eigenschaft dieses Datensatzes, zum Beispiel den Namen oder die E-Mail-Adresse eines Kunden. - Ein einzelner Eintrag in einer Zelle ist ein Attributwert (attribute value).
Beispiel einer Kundentabelle mit verknüpfter Bestelltabelle: - Jede Zeile repräsentiert einen Kunden. - Die Spalten enthalten Merkmale wie Name und E-Mail-Adresse.
In der zweiten Tabelle Bestellungen, repräsentiert jede Zeile eine Bestellung mit Attributen wie das bestellte Produkt oder wer die Bestellung getätigt hat (via Fremdschlüssel → Erklärung dazu, weiter unten).
Der Begriff Relation stammt aus der Mathematik und ist die Grundlage relationaler Datenbanken. Eine Relation ist nichts anderes als eine Tabelle mit Daten einer bestimmten Art (z.B. Kunden, Bestellungen). Der Name „relational“ ergibt sich daraus, dass Tabellen miteinander in Beziehung (relation) gesetzt werden können.
Tabellen können über Schlüssel verknüpft werden: - Ein Primärschlüssel (primary key) identifiziert jede Zeile in einer Tabelle eindeutig. - Ein Fremdschlüssel (foreign key) verweist auf den Primärschlüssel einer anderen Tabelle.
Beispiel: - In der Kundentabelle gibt es für jeden Kunden eine eindeutige Kundennummer (ID) (Primärschlüssel). - In der Bestellungstabelle wird dieselbe Kundennummer als Fremdschlüssel (customer_id) gespeichert. So lässt sich jede Bestellung eindeutig einem Kunden zuordnen.
MySQL, MariaDB, PostgreSQL und SQLite sind frei nutzbare, Open-Source-Datenbanksysteme. Besonders MySQL (und MariaDB, das ein Fork von MySQL ist) sind weit verbreitet und kommen häufig in Webanwendungen zum Einsatz. Beispielsweise nutzt WordPress MySQL, was bedeutet, dass über 40% aller Websites weltweit ihre Daten über MySQL oder MariaDB verwalten.
Relationale Datenbanken nutzen die Structured Query Language (SQL), um Daten abzufragen (query), zu modifizieren (manipulate), zu löschen (delete) und zu verwalten. SQL ist eine standardisierte Programmiersprache, die speziell für die Verwaltung relationaler Daten entwickelt wurde. Dabei haben verschiedene Datenbankanbieter oft eigene Erweiterungen oder Dialekte von SQL entwickelt, wie z.B. T-SQL (Transact-SQL) von Microsoft oder PL/SQL (Procedural Language/SQL) von Oracle.
Dieses Video erklärt den Aufbau von relationalen Datenbanken. 4)
Nutzen Sie die automatische Untertitel-Übersetzung von YouTube, wenn die englische Sprache Verständnisschwierigkeiten bereitet.
NoSQL-Datenbanken sind eine jüngere Technologie und werden vor allem verwendet, wenn Daten in einer unstrukturierten oder wenig strukturierten Form abgelegt werden müssen. NoSQL-Datenbanken wurden besonders im Zusammenhang mit dem Big Data Hype populär. Sie ermöglichen es, grosse Datenmengen schnell zu speichern und auszuwerten, wobei Konsistenz und Aktualität der Daten weniger im Fokus stehen. Die Hauptaufgabe dieser Datenbanken ist es, grosse und hochfrequente Daten effizient zu verarbeiten.