www.wikidata.de-de.nina.az
Die Kardinalitat einer Menge ist die Anzahl der Elemente in dieser Menge Im Kontext relationaler Datenbanken wird der Terminus haufig verwendet da eine Datenbanktabelle auch als eine Menge von Zeilen aufgefasst werden kann Spalten und Zeilen einer Datenbanktabelle konnen jeweils auch als eine Menge von Attributwerten aufgefasst werden Die Kardinalitat einer Datenbanktabelle Relation ist die Anzahl der Zeilen in dieser Tabelle 1 Die Kardinalitat einer Spalte Attribut einer Datenbanktabelle ist die Anzahl der verschiedenen Attributwerte in dieser Spalte 2 Man spricht auch von geringer Kardinalitat wenn das Verhaltnis der Anzahl verschiedener Werte die in einer Spalte vorkommen zur Gesamtzeilenzahl der Tabelle gering ist Aus diesem Grund wird gelegentlich auch abweichend von der eigentlichen Bedeutung des Begriffs Kardinalitat dieses Verhaltnis als Kardinalitat einer Spalte bezeichnet 3 Siehe auch die von den o g Definitionen abweichende Bedeutung von Kardinalitat eines Beziehungstyps in der Datenbankmodellierung Inhaltsverzeichnis 1 Spaltenkardinalitat 1 1 Kategorien 1 2 Kardinalitat und Selektivitat 1 3 Kardinalitat und Indizes 2 EinzelnachweiseSpaltenkardinalitat BearbeitenKategorien Bearbeiten Je geringer die Kardinalitat der Spalte einer Datenbanktabelle desto mehr Duplikate oder NULL Werte gibt es in dieser Spalte Man unterscheidet drei Kategorien deren Grenzen fliessend sind Hohe Kardinalitat Weisen Spalten mit sehr wenigen Duplikaten oder mit eindeutigen Werten auf Spalten mit hoher Kardinalitat sind beispielsweise solche die Benutzernamen oder Benutzer IDs speichern Niedrige Kardinalitat Weisen Spalten auf deren Werte sehr viele Duplikate haben beispielsweise solche mit Status Flags oder Klassifizierungen in wenige Kategorien wie zum Beispiel die Angabe des Geschlechts Normale Kardinalitat Weisen Spalten auf die nicht in die beiden oben genannten Kategorien fallen Kardinalitat und Selektivitat Bearbeiten Der Anfrageoptimierer relationaler Datenbanken muss die Selektivitat bei Datenbankabfragen abschatzen um auf die Grosse der Zwischenergebnisse schliessen und damit einen optimalen Auswertungsplan finden zu konnen Dabei spielen Kardinalitaten eine wichtige Rolle Im Folgenden dafur ein Beispiel es sei eine Tabelle KUNDEN mit der Spalte INHALT gegeben in der 100 Eintrage vorhanden sind ferner wird angenommen dass fur die Attributwerte eine Gleichverteilung vorliegt Nun werde mit der Abfragesprache SQL folgende Abfrage gestellt select from KUNDEN where INHALT X Fur die Selektivitat sel dieser Abfrage gilt wenn das Pradikat INHALT X zu TRUE evaluiert s e l 1 c displaystyle sel dfrac 1 c nbsp wobei c der Anzahl der unterschiedlichen Attributwerte in der Spalte INHALT entspricht jede c te Zeile qualifiziert sich fur die Ergebnismenge Ferner gilt Ist die Kardinalitat der Spalte INHALT hoch dann ist die Selektivitat der Abfrage stark ausgepragt Wenn beispielsweise in Spalte INHALT alle Attributwerte verschieden sind Schlusseleigenschaft es also keine Duplikate gibt dann ist s e l 1 100 displaystyle sel dfrac 1 100 nbsp sel ist damit ein kleiner Wert In diesem Fall qualifiziert sich genau eine Zeile fur die Ergebnismenge falls das Pradikat INHALT X zu TRUE evaluiert Ist die Kardinalitat der Spalte INHALT niedrig dann ist die Selektivitat der Abfrage eher schwach ausgepragt Wenn beispielsweise nur zwei verschiedene Werte in der Spalte INHALT gespeichert sind dann ist s e l 1 2 displaystyle sel dfrac 1 2 nbsp In diesem Fall qualifizieren sich genau 50 Zeilen fur die Ergebnismenge falls das Pradikat INHALT X zu TRUE evaluiert Dieses Beispiel betrachtet Spezialfalle die Schlusseleigenschaft einer Spalte oder die Gleichverteilung der Attributwerte einer Spalte kann im Allgemeinen nicht vorausgesetzt werden Deshalb muss der Anfrageoptimierer mithilfe von statistischen Werten die Kardinalitaten abschatzen um einer Abfrage einen Selektivitatsfaktor zuordnen zu konnen 4 Kardinalitat und Indizes Bearbeiten Zum Indexieren von Spalten mit hoher Kardinalitat eignen sich B Baum Indexe gut beim Indexieren von Spalten mit niedriger Kardinalitat sind Bitmapindexe passend 5 Allerdings ist fur die Effizienz der Indexnutzung immer die Selektivitat einer Abfrage ausschlaggebend Bitmapindizes sind zwar bei Daten mit niedriger Kardinalitat besser geeignet als B Baum Indizes aber bei Abfragen mit schwacher Selektivitat nicht sonderlich effizient denn Abfragen mit schwacher Selektivitat konnen im Allgemeinen nicht effizient mithilfe von Indizes ausgefuhrt werden Einzelnachweise Bearbeiten Alfons Kemper Andre Eickler Datenbanksysteme Eine Einfuhrung Oldenbourg Munchen 2004 ISBN 3 486 27392 2 S 254 Special Purpose Rowsets Microsoft abgerufen am 22 Januar 2016 englisch Definition der Spaltenkardinalitat bei Microsoft Definition der Spaltenkardinalitat bei der Online Dokumentation der Oracle DB Oracle Corporation 6 Marz 2010 abgerufen am 22 Januar 2016 englisch Alfons Kemper Andre Eickler Datenbanksysteme Eine Einfuhrung Oldenbourg Munchen 2004 ISBN 3 486 27392 2 S 255 Erlauterung zu Bitmap Indexen bei der Online Dokumentation der Oracle DB Oracle Corporation 6 Marz 2010 abgerufen am 22 Januar 2016 englisch Abgerufen von https de wikipedia org w index php title Kardinalitat Datenbanken amp oldid 216412330