web-dev-qa-db-fra.com

qu'est-ce que la cardinalité dans les bases de données?

j'ai cherché partout sur Internet mais il ne semble pas y avoir de réponse que je puisse comprendre.

Si gentiment si quelqu'un pouvait m'expliquer à l'aide d'exemples comme quoi la cardinalité dans les bases de données?

Je vous remercie.

67
Some Body

L'utilisation de Word dans deux contextes différents, à savoir la modélisation des données et l'optimisation des requêtes de base de données, peut être source de confusion.

En termes de modélisation de données, la cardinalité est la relation entre une table et une autre.

  • 1-1 (une ligne de la table A correspond à une ligne de la table B)
  • 1-Plusieurs (une ligne de la table A concerne plusieurs lignes de la table B)
  • Many-Many (Plusieurs lignes de la table A se rapportent à plusieurs lignes de la tableB)

Il existe également des conditions de participation facultatives à ce qui précède (où une ligne dans une table n'a pas du tout {have _} à être liée à l'autre table).

Voir Wikipedia sur Cardinalité (modélisation de données) .


Lorsque l'on parle d'optimisation des requêtes de base de données, la cardinalité fait référence aux données d'une colonne d'un tableau, en particulier le nombre de valeurs uniques qu'il contient. Cette statistique aide à planifier les requêtes et à optimiser les plans d'exécution.

Voir Wikipedia sur Cardinalité (instructions SQL) .

96
Oded

Cela dépend un peu du contexte. Cardinalité signifie le nombre de quelque chose mais il est utilisé dans une variété de contextes.

  • Lorsque vous créez un modèle de données, la cardinalité fait souvent référence au nombre de lignes de la table A qui se rapportent à la table B. Autrement dit, existe-t-il une ligne dans B pour chaque ligne dans A (1: 1), y a-t-il N lignes dans B pour chaque ligne dans A (1: N), y a-t-il M lignes dans B pour chaque N lignes dans A (N: M), etc.
  • Lorsque vous vous demandez s'il serait plus efficace d'utiliser un index d'arbre b * ou un index bitmap ou le degré de sélectivité d'un prédicat, la cardinalité fait référence au nombre de valeurs distinctes dans une colonne particulière. Si vous avez une table PERSON, par exemple, GENDER est susceptible d'être une colonne de cardinalité très basse (il n'y a probablement que deux valeurs dans GENDER) tandis que PERSON_ID est susceptible d'être une colonne de cardinalité très élevée (chaque ligne aura une valeur différente) .
  • Lorsque vous examinez des plans de requête, la cardinalité fait référence au nombre de lignes qui devraient être renvoyées à partir d'une opération particulière.

Il existe probablement d'autres situations où les gens parlent de cardinalité dans un contexte différent et veulent dire autre chose.

25
Justin Cave

La cardinalité fait référence au caractère unique des données contenues dans une colonne. Si une colonne contient beaucoup de données dupliquées (par exemple, une colonne contenant "vrai" ou "faux"), elle a une cardinalité faible, mais si les valeurs sont hautement uniques (par exemple, des numéros de sécurité sociale), elle a une cardinalité élevée.

2
Andrew

Dans la base de données, Cardinality fait référence à un ensemble de lignes dans la table.

 enter image description here img source


 enter image description here img source


  • Les relations sont nommées et classées par leur cardinalité (c'est-à-dire le nombre d'éléments de l'ensemble ). 
  • Les symboles apparaissant proches de l'entité sont cardinalité maximale} et l'autre est cardinalité minimale.
  • Relation d’entité, montre la fin de la ligne de relation comme suit:
     enter image description here

 enter image description here

image source

1
Premraj