Eine relationale Datenbank ist ein Datenbanktyp, der Daten in Zeilen und Spalten organisiert, die zusammen eine Tabelle bilden, in der die Datenpunkte miteinander in Beziehung stehen.
Daten sind in der Regel über mehrere Tabellen verteilt, die über einen Primär- oder Fremdschlüssel miteinander verbunden werden können. Diese eindeutigen Kennungen verdeutlichen die verschiedenen Beziehungen, die zwischen den Tabellen bestehen, und diese Beziehungen werden in der Regel durch verschiedene Arten von Datenmodellen dargestellt. Analysten verwenden SQL Queries, um verschiedene Datenpunkte zu kombinieren und die Unternehmensleistung zusammenzufassen. So können Unternehmen Erkenntnisse erhalten, Workflows optimieren und neue Chancen identifizieren.
Stellen Sie sich beispielsweise vor, Ihr Unternehmen verfügt über eine Datenbanktabelle mit Kundeninformationen, die Unternehmensdaten auf der Kontoebene enthält. Es kann auch eine andere Tabelle vorliegen, die alle einzelnen Transaktionen beschreibt, die sich auf dieses Konto beziehen. Zusammen können diese Tabellen Informationen über die verschiedenen Branchen liefern, die ein bestimmtes Softwareprodukt kaufen.
Die Spalten (oder Felder) für die Kundentabelle könnten so aussehen: Kunden-ID, Unternehmensname, Unternehmensadresse, Branche usw. Die Spalten für eine Transaktionstabelle könnten wie folgt aussehen: Transaktionsdatum, Kunden-ID, Transaktionsbetrag, Zahlungsmethode usw. Die Tabellen können über das gemeinsame Feld Kunden-ID miteinander verbunden werden. Sie können daher die Tabelle abfragen, um wertvolle Berichte zu erstellen, beispielsweise Umsatzberichte nach Branche oder Unternehmen, die als Informationsquelle für Mitteilungen an potenzielle Kunden dienen können.
Relationale Datenbanken sind in der Regel auch mit transaktionalen Datenbanken verbunden, die Befehle oder Transaktionen gemeinsam ausführen. Ein beliebtes Beispiel hierfür ist eine Banküberweisung. Ein bestimmter Betrag wird von einem Konto abgebucht und dann auf ein anderes Konto eingezahlt. Der gesamte Geldbetrag wird abgebucht und eingezahlt, und diese Transaktion kann nur vollständig erfolgen. Transaktionen haben bestimmte Eigenschaften. Die AKID-Eigenschaften werden durch das Akronym AKID dargestellt und sind wie folgt definiert:
Diese Eigenschaften ermöglichen eine zuverlässige Transaktionsverarbeitung.
Während eine relationale Datenbank Daten auf der Grundlage eines relationalen Datenmodells organisiert, ist ein relationales Datenbankmanagementsystem (RDBMS) ein spezifischerer Verweis auf die zugrundeliegende Datenbanksoftware, die es den Benutzern ermöglicht, sie zu verwalten. Mit diesen Programmen können Benutzer Daten im System erstellen, aktualisieren, einfügen oder löschen. Sie bieten Folgendes:
Beispiele für beliebte RDBMS-Systeme umfassen MySQL, PostgreSQL und IBM DB2. Außerdem unterscheidet sich ein relationales Datenbanksystem von einem einfachen Datenbankmanagementsystem (DBMS) dadurch, dass es Daten in Tabellen speichert, während ein DBMS Informationen als Dateien speichert.
Erfahren Sie mehr über die wichtigsten Vorteile der generativen KI und wie Unternehmen generative KI und maschinelles Lernen in ihr Unternehmen integrieren können.
Leitfaden für Datenverantwortliche lesen
Die von Don Chamberlin und Ray Boyce bei IBM erfundene Structured Query Language (SQL) ist die Standardprogrammiersprache für die Interaktion mit relationalen Datenbankmanagementsystemen, die es Datenbankadministratoren ermöglicht, Datenzeilen auf einfache Weise hinzuzufügen, zu aktualisieren oder zu löschen. Ursprünglich unter dem Namen SEQUEL bekannt, wurde es aufgrund eines Markenrechtsproblems zu SQL vereinfacht. SQL Queries ermöglichen es den Benutzern auch, mit nur wenigen Codezeilen die Daten aus Datenbanken abzurufen. Angesichts dieser Abhängigkeit ist klar ersichtlich, warum relationale Datenbanken manchmal auch als „SQL-Datenbanken“ bezeichnet werden.
Anhand des obigen Beispiels können Sie mit dem folgenden Code eine Abfrage erstellen, um die zehn wichtigsten Transaktionen nach Unternehmen für ein bestimmtes Jahr zu finden:
SELECT COMPANY_NAME, SUM(TRANSACTION_AMOUNT)
FROM TRANSACTION_TABLE A
LEFT JOIN CUSTOMER_TABLE B
ON A.CUSTOMER_ID = B.CUSTOMER_ID
WHERE YEAR(DATE) = 2022
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10
Die Möglichkeit, Daten auf diese Weise zu verknüpfen, hilft uns, die Redundanz in unseren Datensystemen zu verringern. So können die Datenteams eine einzige Mastertabelle für die Kunden pflegen, anstatt diese Informationen zu duplizieren, wenn es in Zukunft eine weitere Transaktion gibt. Don Chamberlin geht in diesem Whitepaper näher auf die Geschichte von SQL ein (Link befindet sich außerhalb von IBM).
Bevor es relationale Datenbanken gab, verwendeten Unternehmen ein hierarchisches Datenbanksystem mit einer baumartigen Struktur für die Datentabellen. Diese frühen Datenbankmanagementsysteme (DBMS) ermöglichten es den Benutzern, große Datenmengen zu organisieren. Sie waren jedoch sehr komplex, oft an eine bestimmte Anwendung gebunden und nur begrenzt in der Lage, bestimmte Daten aufzuspüren. Diese Einschränkungen führten schließlich dazu, dass der IBM Forscher Edgar F. Codd 1970 ein Paper (Link befindet sich außerhalb von IBM) (PDF, 1,5 MB) mit dem Titel „A Relational Model of Data for Large Shared Data Banks“ veröffentlichte, in dem das relationale Datenbankmodell vorgestellt wurde. In diesem vorgestellten Modell konnten Informationen ohne spezielle Computerkenntnisse abgerufen werden. Er schlug vor, Daten basierend auf aussagefähigen Beziehungen als Tupel oder Attribut-Wert-Paare anzuordnen. Gruppen von Tupeln wurden als Relationen bezeichnet, die letztlich die Zusammenführung von Daten über Tabellen hinweg ermöglichten.
Im Jahr 1973 startete das San Jose Research Laboratory – heute als Almaden Research Center bekannt – ein Programm namens System R (R steht hierbei für relational), um diese relationale Theorie mit einer, wie es hieß, „branchentauglichen Implementierung“ zu beweisen. Das Programm wurde schließlich auch zu einem Testfeld für SQL, sodass es sich in kurzer Zeit weiterverbreiten konnte. Doch auch die Übernahme von SQL durch Oracle tat der Popularität des Unternehmens bei Datenbankadministratoren keinen Abbruch.
1983 führte IBM die DB2-Familie relationaler Datenbanken ein, die so genannt wurde, weil es sich um IBMs zweite Familie von Datenbankmanagementsoftware handelte. Heute ist DB2 eines der erfolgreichsten Produkte von IBM, das weiterhin täglich Milliarden von Transaktionen in der Cloud-Infrastruktur verarbeitet und die Grundlage für Anwendungen des maschinellen Lernens bildet.
Während relationale Datenbanken die Daten in einem tabellarischen Format strukturieren, haben nicht-relationale Datenbanken kein so starres Datenbankschema. Tatsächlich organisieren nicht-relationale Datenbanken die Daten je nach Datenbankart unterschiedlich. Unabhängig von der nicht-relationalen Datenbankart zielen sie alle darauf ab, die mit relationalen Modellen verbundenen Probleme der Flexibilität und Skalierbarkeit zu lösen, die für unstrukturierte Datenformate wie Text, Video und Bilder nicht ideal sind. Zu diesen Arten von Datenbanken gehören:
NoSQL-Datenbanken priorisieren auch die Verfügbarkeit gegenüber Konsistenz.
Wenn Computer über ein Netzwerk laufen, müssen sie immer entscheiden, ob sie konsistente Ergebnisse (bei denen jede Antwort immer gleich ist) oder eine hohe Betriebszeit, die sogenannte „Verfügbarkeit“ bevorzugen. Dies wird als „CAP-Theorie“ bezeichnet, die für „Consistency, Availability, or Partition Tolerance“ (Konsistenz, Verfügbarkeit oder Partitionstoleranz) steht. Relationale Datenbanken gewährleisten, dass die Informationen stets synchron und konsistent sind. Einige NoSQL-Datenbanken, wie z. B. Redis, ziehen es vor, immer eine Antwort auszugeben. Das bedeutet, dass die Informationen, die Sie bei einer Abfrage erhalten, einige Sekunden lang – vielleicht sogar bis zu einer halben Minute – falsch sein können. Auf Social-Media-Websites bedeutet dies, dass ein altes Profilbild angezeigt wird, während das neueste erst wenige Augenblicke alt ist. Die Alternative könnte eine Zeitüberschreitung oder ein Fehler sein. Bei Bank- und Finanztransaktionen hingegen kann ein Fehler und eine erneute Übermittlung besser sein als alte, falsche Informationen.
Eine vollständige Übersicht über die Unterschiede zwischen SQL und NoSQL finden Sie unter „SQL- vs. NoSQL-Datenbanken: Was ist der Unterschied?“.
Der Hauptvorteil des relationalen Datenbankkonzepts ist die Möglichkeit, durch die Verknüpfung von Tabellen aussagekräftige Informationen zu erstellen. Die Verknüpfung von Tabellen ermöglicht es Ihnen, die Beziehungen zwischen den Daten zu verstehen, oder wie die Tabellen miteinander verbunden sind. SQL bietet die Möglichkeit, Abfragen zu zählen, zu addieren, zu gruppieren und auch zu kombinieren. SQL kann grundlegende mathematische Funktionen und Zwischensummen sowie logische Transformationen durchführen. Analysten können die Ergebnisse nach Datum, Name oder einer beliebigen Spalte ordnen. Diese Eigenschaften machen den relationalen Ansatz zum beliebtesten Abfragetool in der heutigen Geschäftswelt.
Relationale Datenbanken haben im Vergleich zu anderen Datenbankformaten mehrere Vorteile:
Aufgrund ihrer Produktlebensdauer hat sich eine größere Gemeinschaft rund um relationale Datenbanken gebildet, was zum Teil ihre weitere Verwendung begünstigt. Mit SQL ist es auch einfach, Datensätze aus mehreren Tabellen abzurufen und einfache Transformationen wie Filterung und Aggregation durchzuführen. Die Verwendung von Indizes in relationalen Datenbanken ermöglicht es ihnen auch, diese Informationen schnell zu finden, ohne jede Zeile der ausgewählten Tabelle zu durchsuchen.
Während relationale Datenbanken in der Vergangenheit als starrere und unflexiblere Datenspeicheroption angesehen wurden, ändern Fortschritte in der Technologie und DBaaS-Optionen diese Wahrnehmung. Zwar ist der Aufwand für die Entwicklung von Schemata im Vergleich zu NoSQL-Datenbankangeboten immer noch höher, doch relationale Datenbanken werden mit der Migration in Cloud-Umgebungen immer flexibler.
Relationale Datenbanken können Redundanz auf zwei Arten beseitigen. Das relationale Modell selbst reduziert die Datenredundanz durch einen Prozess, der als Normalisierung bekannt ist. Wie bereits erwähnt, sollte eine Kundentabelle nur eindeutige Datensätze von Kundeninformationen protokollieren, anstatt diese Informationen für mehrere Transaktionen zu duplizieren.
Gespeicherte Verfahren tragen auch dazu bei, sich wiederholende Arbeit zu reduzieren. Wenn zum Beispiel der Datenbankzugriff auf bestimmte Rollen, Funktionen oder Teams beschränkt ist, kann eine gespeicherte Prozedur bei der Verwaltung der Zugriffskontrolle helfen. Durch diese wiederverwendbaren Funktionen bleibt den Anwendungsentwicklern mehr Zeit für die Erledigung wichtigerer Aufgaben.
Relationale Datenbanken sind transaktional. Sie gewährleisten, dass der Zustand des gesamten Systems zu jedem Zeitpunkt konsistent ist. Die meisten relationalen Datenbanken bieten einfache Export- und Importoptionen, die das Sichern und Wiederherstellen einfach machen. Diese Exporte können sogar erfolgen, während die Datenbank ausgeführt wird, was die Wiederherstellung bei einem Ausfall erleichtert. Moderne, cloudbasierte relationale Datenbanken können eine fortlaufende Spiegelung durchführen, sodass der Datenverlust bei der Wiederherstellung in Sekunden oder weniger gemessen werden kann. Die meisten cloudverwalteten Dienste ermöglichen es Ihnen, Read Replicas zu erstellen, wie z. B. IBM® Cloud Databases for PostgreSQL. Diese Read Replicas ermöglichen es Ihnen, eine schreibgeschützte Kopie Ihrer Daten in einem Cloud-Rechenzentrum zu speichern. Replicas können auch zu Lese-/Schreibinstanzen für die Notfallwiederherstellung hochgestuft werden.
Erfahren Sie mehr über die cloudnative Datenbank IBM Db2, die auf Transaktionen mit geringer Latenz und Echtzeitanalysen im großen Maßstab ausgelegt ist.
Entdecken Sie PostgreSQL als Service, der für Unternehmen geeignet ist und eine native Integration in die IBM Cloud bietet.
Hyper Protect Virtual Servers for Virtual Private Cloud (VPC) ist eine vollständig verwaltete, vertrauliche Compute-Container-Laufzeitumgebung, die den Einsatz sensibler containerisierter Workloads in einer hochgradig isolierten Umgebung mit technischer Sicherheit ermöglicht.
Entwickeln und betreiben Sie Anwendungen auf einer sicherheitsrelevanten Datenbank der Unternehmensklasse, die auf Open Source PostgreSQL basiert.
Blicken Sie zurück auf die Anfänge von Db2.