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.