Weiter zum Hauptinhalt

Kardinalität verstehen: Welche Bedeutung haben Datenbeziehungen?

Kardinalität kann dir dabei helfen, deine Daten besser zu verstehen. Hier erfährst du mehr über Kardinalität und ihre Verwendung.

Datenbanken sind für die moderne Welt unerlässlich. Jedes Unternehmen in jeder Branche kann von Computerressourcen profitieren und diese Ressourcen basieren oft auf Datenbanken. Wenn du irgendeine Art von Transaktion abwickelst, musst du ein Hauptbuch erstellen und dich daran halten, was in die Welt der Datenbanken fällt.

Wenn du die Tools verstehen möchtest, die das Daten-Tracking ermöglichen (ganz zu schweigen von den Analysen, die damit einhergehen können), musst du zunächst verstehen, was die Datenbank-Kardinalität ist.

Was ist Kardinalität in Datenbanken?

Um Kardinalität zu definieren, muss man zunächst erkennen, dass Datenbanken im Grunde genommen Tabellenkalkulationen sind. Natürlich können sie in Bezug auf ihre Datenpunkte und Komplexität extrem umfangreich sein, aber es handelt sich dennoch lediglich um riesige Datenbestände.

Kardinalität ist vor diesem Hintergrund eine Möglichkeit, die Anzahl der Zeilen mit der Anzahl der Spalten zu vergleichen. Insbesondere in Bezug auf Datenbanken ist Kardinalität normalerweise ein Maß dafür, wie viele unterschiedliche Werte du in einer Spalte im Vergleich zur Anzahl der Zeilen hast.

An dieser Stelle halten wir inne und halten fest, dass sich dies von der Kardinalität in den Datenwissenschaften unterscheidet. Die wissenschaftliche Definition umfasst oft unendliche Reihen, in ihrer Zahl endlose Spalten, unzählbare Sets und andere höhere Konzepte, die in der Beschreibung oft "unendliche Mengen" enthalten.

Das alles mag seltsam spezifisch und wenig nützlich klingen, aber wenn du das Konzept des Vergleichs von Zeilen und Spalten im Hinterkopf behältst, werden alle weiteren Erklärungen zur Kardinalität und ihrer Verwendung noch mehr Licht ins Dunkel bringen.

Der erste Schritt zu mehr Klarheit ist die Unterscheidung zwischen hoher und niedriger Kardinalität. Wenn eine Tabelle eine große Anzahl an Elementen in Bezug auf die Anzahl an Zeilen in der Datenbankspalte enthält, spricht man von hoher Kardinalität. Eine geringe Kardinalität hast du, wenn sich viele Werte wiederholen.

Der Vergleich von hoher und niedriger Kardinalität kann dir dabei helfen, die Varianz zu berechnen und die Qualität einer Spalte auf einen Blick zu beurteilen. Betrachten wir ein einfaches Beispiel.

Angenommen, du machst Gehaltsabrechnungen. Deine Datentabelle hat für alle Mitarbeiter eine eindeutige Kennung (normalerweise den Namen oder die Steuernummer). Wahrscheinlich siehst du auch die geleisteten Stunden, den Vergütungssatz und den geschuldeten Gesamtbetrag. Die Liste der Namen hat eine hohe Kardinalität, während der Vergütungssatz pro Stunde oft eine niedrige Kardinalität aufweist. Dies gibt dir eine Vorstellung davon, welche Art von Daten in jeder Spalte vorhanden sind.

Das Beispiel hat dir hoffentlich geholfen, besser zu verstehen, was Kardinalität ist.

Warum ist Kardinalität in Datenbanken von Vorteil?

Der Wert der Kardinalität in einer Datenbank ist letzten Endes nicht wirklich für die Person bestimmt, die sich die Daten ansieht. Stattdessen spielt der Wert in Suchen und Abfragen eine Rolle.

Wenn du einen bestimmten Datenpunkt in deiner Datenbank finden möchtest, musst du das Computersystem dazu bringen, die Suche für dich auszuführen, in benutzerdefinierten Datenbanken muss jedoch jemand diese Suchfunktion erstellen. Kardinalität wird vom Computer verwendet, um herauszufinden, ob es mehrere mögliche Antworten gibt oder nicht (oder wie wahrscheinlich sie sind). Dies kann bei der Erstellung von Suchergebnissen und Hierarchien helfen.

Hohe und niedrige Kardinalitäten sind also Konzepte, die von Entwicklern verwendet werden, um effiziente Abfragesysteme zu entwerfen.

Du kannst dir jedoch überlegen, inwieweit dir dies bei der Datenanalyse helfen könnte. Computersysteme müssen in der Lage sein, Werte zu unterscheiden, die möglicherweise identische Eingaben haben. Die Kardinalität kann Entwicklern helfen, diese Redundanzen zu umgehen.

Arten von Kardinalitäten

Bisher haben wir über hohe und niedrige Kardinalitäten in Datenbanken gesprochen, aber das Konzept erstreckt sich auch auf eine tiefere Ebene. Du findest Kardinalität in der Datenmodellierung.

Dies geht Hand in Hand mit der Kardinalität, die wir bereits besprochen haben. Es geht immer noch um den Vergleich eindeutiger Werte in Spalten mit der Anzahl an Zeilen.

Bei der Datenmodellierung kommen jedoch ein paar weitere Kardinalitätsklassifizierungen ins Spiel. Diese unterteilen sich in der Regel in Kardinalitäten der Typen 1:1 (eins zu eins), 1:n (eins zu viele) und n:m (viele zu viele).

1:1 (eins zu eins)

1:1-Beziehungen sind in modernen Datenbanken eher selten anzutreffen, kommen jedoch vor, weshalb du verstehen solltest, wie sie funktionieren.

Auf theoretischer Ebene sagt der Name bereits alles. Für jedes Element in einer Spalte gibt es genau ein verwandtes Element in einer anderen Spalte. Diese Beziehung geht in beide Richtungen.

Dies bedeutet nicht, dass die Spalten die gleiche Größe haben müssen. Eine Spalte kann eine 1:1-Beziehung haben, auch wenn es zu einigen Elementen keinen Partner gibt. Ein Blick auf die Anzahl der Elemente in jeder Spalte lässt diese Beziehung nicht erkennen.

Betrachten wir das folgende Beispiel.

Nehmen wir an, ein großes Unternehmen hat Tausende von Mitarbeitern, die alle eine geschäftliche E-Mail-Adresse benötigen. Wenn du dies in einer Datenbank nachverfolgen möchtest, bräuchtest du für alle Mitarbeiter einen eindeutigen Namen (oft mit einer ID-Nummer) und ihre eindeutige E-Mail-Adresse im Hauptbuch. Jeder Name bezieht sich auf eine E-Mail-Adresse und umgekehrt.

1:n (eins zu viele)

Jetzt, wo du die Bedeutung der Kardinalität kennst und eine Vorstellung davon hast, was eine 1:1-Beziehung ist, wird es dir nicht schwerfallen, auch 1:n-Beziehungen zu verstehen.

In diesem Fall hast du eine Spalte mit eindeutigen Einträgen (Spalte A). Jeder Eintrag kann sich auf mehrere Einträge in einer anderen Spalte beziehen (Spalte B). Dies bedeutet, dass alle Elemente in Spalte A auf mehrere Elemente in Spalte B verweisen, jedes Element in Spalte B sich jedoch nur auf ein Element in Spalte A bezieht.

Ein einfaches Beispiel dafür ist die Zuordnung von Vertriebsmitarbeitern zu Kunden. Jeder Vertriebsmitarbeiter kann Dutzende von Kunden haben, aber um die Beziehungen stabil zu halten, hat jeder Kunde nur einen Ansprechpartner im Vertrieb. Es handelt sich um eine Eins-zu-viele-Beziehung.

n:m (viele zu viele)

Sehen wir uns zuletzt die n:m-Beziehung an. Jedes Element in Spalte A kann mehrere Entsprechungen in Spalte B haben und umgekehrt.

Nehmen wir auch hier das Beispiel der Vertriebsmitarbeiter, um zu verstehen, wie n:m-Beziehungen aussehen.

Unser Unternehmen ist ein Mikrochip-Hersteller mit einer enormen Zahl an milliardenschweren Kunden. Das Unternehmen hat höchstwahrscheinlich gut organisierte Vertriebsteams, von denen jedes Team mehrere Kunden betreut. In diesem Fall hat jeder Kunde mehrere Ansprechpartner im Vertrieb und jeder Vertriebsmitarbeiter arbeitet möglicherweise an mehreren verschiedenen Verträgen.

Dies ist ein Beispiel für eine Viele-zu-viele-Beziehung.

Beispiele für Kardinalität

In den vorherigen Abschnitten hast du anhand einiger vereinfachter Beispiele mehr über verschiedene Arten von kardinaler Arithmetik und kardinaler Beziehungen gelernt. Wir sehen uns nun einige reale Anwendungen von Kardinalität an, um genauer zu verstehen, wie diese in einer Datenbank funktionieren kann.

Uber

Lass uns darüber nachdenken, wie wir eine eigene Datenbank gestalten könnten, die für Uber funktioniert.

Es handelt sich dabei um ein bekanntes Unternehmen mit einem bekannten Geschäftsmodell. Wenn du nicht damit vertraut bist, kannst du hier nachlesen, wie es funktioniert. Uber ist eine Smartphone-App. Du kannst die App öffnen und eine Fahrt von deinem aktuellen Standort zu einem anderen Ort anfordern. Die App verbindet dich mit einem Fahrer oder einer Fahrerin, erteilt den Auftrag, ermittelt die Fahrstrecke und kümmert sich um die gesamte Logistik. Dein Fahrer bringt dich an den gewünschten Ort und die Bezahlung erfolgt über die App.

Bei einer so großen und komplizierten App spielen Datenbanken, die auf Intent-Daten basieren, definitiv eine Rolle. Leicht vorstellbar wird dies bei Datenbanken, die Kunden und Fahrer verbinden. In diesem Fall benötigen alle Fahrer und Kunden eine eindeutige Kennung.

Dies bedeutet, dass sowohl unsere Fahrerspalte (D) als auch unsere Kundenspalte (C) eine hohe Kardinalität aufweisen (beide haben im Grunde eine unendliche Kardinalität). Jedes Element der beiden Spalten ist eindeutig.

Lass uns nun über die Beziehungen zwischen den Spalten nachdenken. Auf den ersten Blick sieht es so aus, als ob jeder Fahrer mehrere Fahrgäste haben kann und umgekehrt, aber in Bezug auf eine Transaktion haben wir tatsächlich eine Eins-zu-eins-Beziehung. Ein Fahrer kann immer nur einen Kunden haben – selbst wenn es sich beim Fahrgast genau genommen um eine Gruppe von Personen handelt, denn die Transaktion unterliegt einer einzigen Kunden-ID. Mit Blick auf die einzelnen Transaktionen benötigen wir eine Eins-zu-eins-Datenbank, um die Kunden ihren Fahrern zuzuordnen.

Amazon

Wenn irgendein Unternehmen auf der Welt Datenbanken verwendet, dann ist es Amazon. Betrachten wir in diesem Beispiel den Amazon-Onlineshop. Es gibt viele Einzelhändler, die Shops auf der Website betreiben, und Milliarden von Menschen, die über Amazon einkaufen.

Wir benötigen erneut eindeutige IDs für alle Shops und Käufer, um die Transaktionen zu verwalten. Dieser Fall erweist sich jedoch als komplizierter als das Uber-Beispiel.

Wenn du bei Amazon einkaufst, kannst du Dinge bei mehreren Einzelhändlern bestellen, die alle über dieselbe Transaktion laufen. Amazon kümmert sich um die Logistik und es ist für dich irrelevant, ob deine Artikel von verschiedenen Standorten stammen. Für dich ist es eine einzige Transaktion.

Auf der anderen Seite können Shops an mehrere Benutzer gleichzeitig verkaufen, wobei jede Transaktion genau einer Person entspricht.

In diesem Fall haben wir eine Eins-zu-viele-Beziehung. Du kannst in mehreren Stores gleichzeitig kaufen, aber jeder Store verkauft in dieser bestimmten Transaktion nur an dich.

Optimiere die Datenmodellierung mit Kardinalität

Jetzt, wo du mehr über die Kardinalität von Daten weißt und verstehst, wie sie in Datenbanken und bei der Datenmodellierung funktioniert, solltest du in einem nächsten Schritt Tools kennenlernen, die dein Verständnis vertiefen und es dir ermöglichen, direkt mit Datenbanken zu arbeiten.

Mailchimp-Berichte machen es dir leicht, auf Daten zuzugreifen und die Kardinalität über ein einfach zu lesendes Dashboard zu messen. Teste Mailchimp noch heute.

Artikel teilen