Frage an database-design, database, oracle, cardinality – Was ist Kardinalität in Datenbanken?

67

Ich habe im ganzen Internet gesucht, aber ich konnte anscheinend keine Antwort finden, die ich verstehen kann.

Also bitte, wenn mir jemand anhand von Beispielen erklären könnte, was Kardinalität in Datenbanken ist?

Vielen Dank.

Deine Antwort

6   die antwort
96

Eine Quelle der Verwirrung kann die Verwendung des Wortes in zwei verschiedenen Kontexten sein - Datenmodellierung und Datenbankabfrageoptimierung.

In Bezug auf die Datenmodellierung ist Kardinalität die Beziehung zwischen Tabellen und Tabellen.

1-1 (eine Zeile in Tabelle A bezieht sich auf eine Zeile in Tabelle B)1 - Viele (eine Zeile in Tabelle A bezieht sich auf viele Zeilen in Tabelle B)Viele-Viele (Viele Zeilen in Tabelle A beziehen sich auf viele Zeilen in Tabelle B)

Es gibt auch optionale Teilnahmebedingungen zu den oben genannten (wo eine Zeile in einer Tabelle nichthaben sich überhaupt auf die andere Tabelle beziehen).

Siehe Wikipedia aufKardinalität (Datenmodellierung).

Bei der Optimierung von Datenbankabfragen bezieht sich die Kardinalität auf die Daten in einer Tabellenspalte, insbesondere auf die Anzahl der darin enthaltenen eindeutigen Werte. Diese Statistik hilft bei der Planung von Abfragen und der Optimierung der Ausführungspläne.

Siehe Wikipedia aufKardinalität (SQL-Anweisungen).

Würde eine Kardinalität von Null bedeuten, dass sich die beiden Tabellen nicht aufeinander beziehen? Samir
Kardinalität von Null? Nicht viel verwendet - aber ich nehme an, dass es das bedeuten würde. Normalerweise gibt es in einem ER-Diagramm keine Verbindungslinie zwischen solchen Tabellen, sodass die Kardinalität nicht angegeben werden muss. Oded
Bei der Datenmodellierung wird keine Kardinalität verwendet, um optionale Beziehungen anzugeben. Wie in 0..1 oder 0..n Walter Mitty
Analogie zur mathematischen Konnotation des Begriffs Kardinalität: ** (Datenmodellierung) Kardinalität zwischen zwei Tabellen ist die Eindeutigkeit der Werte zwischen zwei Tabellen (Kardinalität als Funktion zwischen zwei Mengen) ** (Datenbankabfrageoptimierung) Kardinalität einer Tabelle ist wie eindeutig die Zeilen für diese Spalte sind (Kardinalität der Menge selbst) harshvchawla
-2

Definition: Wir haben Tabellen in der Datenbank. In der relationalen Datenbank haben wir Beziehungen zwischen den Tabellen. Diese Beziehungen können eins zu eins, eins zu viele oder viele zu viele sein. Diese Beziehungen werden als "Kardinalität" bezeichnet.

Bedeutung der Kardinalität:

Viele relationale Datenbanken wurden gemäß den Geschäftsregeln des Sticks entworfen. Wenn Sie die Datenbank entwerfen, definieren wir die Kardinalität basierend auf den Geschäftsregeln. Aber jedes Objekt hat auch seine eigene Natur.

Wenn Sie die Kardinalität zwischen Objekten definieren, müssen Sie all diese Dinge berücksichtigen, um die korrekte Kardinalität zu definieren.

1

In der DatenbankKardinalität verweist auf eine Reihe von Zeilen in der Tabelle.

img source

img source

Beziehungen werden benannt und klassifiziert durch ihreKardinalität (d. h.Anzahl der Elemente der Menge).Symbole, die nahe an der Entität erscheinen, sindMaximale Kardinalität und der andere istMinimale Kardinalität.Entitätsbeziehung, zeigt Ende derBeziehungslinie wie folgt:

BildQuelle

2

Kardinalität bezieht sich auf die Eindeutigkeit der in einer Spalte enthaltenen Daten. Wenn eine Spalte viele doppelte Daten enthält (z. B. eine Spalte, in der entweder "wahr" oder "falsch" gespeichert ist), weist sie eine geringe Kardinalität auf, wenn die Werte jedoch sehr eindeutig sind (z. B. Sozialversicherungsnummern), weist sie eine hohe Kardinalität auf.

Kardinalität kann sich auf ein paar verschiedene Dinge beziehen, aber Odeds Antwort lautet:höchstwahrscheinlich Wonach suchen Sie. Andrew
-1

Die Kardinalität einer Menge ist der Name der Elemente in der Menge, denn wir haben eine Menge a> a, b, c <, dh die Menge enthält 3 Elemente. 3 ist die Kardinalität dieser Menge

25

Das hängt ein bisschen vom Kontext ab. Kardinalität bedeutet die Zahl von etwas, wird aber in einer Vielzahl von Kontexten verwendet.

Wenn Sie ein Datenmodell erstellen, bezieht sich die Kardinalität häufig auf die Anzahl der Zeilen in Tabelle A, die sich auf Tabelle B beziehen. Das heißt, gibt es 1 Zeile in B für jede Zeile in A (1: 1), gibt es N Zeilen In B gibt es für jede Zeile in A (1: N) M Zeilen in B für jede N Zeilen in A (N: M) usw.Wenn Sie sich überlegen, ob es effizienter ist, einen b * -Baumindex oder einen Bitmap-Index zu verwenden, oder wie selektiv ein Prädikat ist, bezieht sich die Kardinalität auf die Anzahl unterschiedlicher Werte in einer bestimmten Spalte. Wenn Sie eine habenPERSON Tisch, zum Beispiel,GENDER ist wahrscheinlich eine Spalte mit sehr geringer Kardinalität (wahrscheinlich gibt es nur zwei Werte inGENDER) währendPERSON_ID ist wahrscheinlich eine Spalte mit sehr hoher Kardinalität (jede Zeile hat einen anderen Wert).Wenn Sie sich Abfragepläne ansehen, bezieht sich die Kardinalität auf die Anzahl der Zeilen, die voraussichtlich von einem bestimmten Vorgang zurückgegeben werden.

Es gibt wahrscheinlich andere Situationen, in denen Menschen in einem anderen Kontext über Kardinalität sprechen und etwas anderes bedeuten.

Verwandte Fragen