93 votes

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.

Alors, si quelqu'un pouvait m'expliquer à l'aide d'exemples ce qu'est la cardinalité dans les bases de données ?

Merci.

140voto

Oded Points 271275

L'utilisation du mot dans deux contextes différents - modélisation des données et optimisation des requêtes de base de données - peut être une source de confusion.

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

  • 1-1 (une ligne du tableau A se rapporte à une ligne du tableau B)
  • 1-Many (une ligne de la table A est liée à plusieurs lignes de la table B)
  • Many-Many (de nombreuses lignes de la table A sont liées à de nombreuses lignes de la table B)

Il existe également des conditions de participation facultatives (lorsqu'une ligne d'un tableau ne correspond pas à une ligne d'un autre tableau). ont de se rapporter à l'autre table).

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


Lorsqu'on parle d'optimisation de requêtes de bases de données, la cardinalité fait référence aux données contenues dans une colonne d'une table, plus précisément au nombre de valeurs uniques qu'elle contient. Cette statistique aide à planifier les requêtes et à optimiser les plans d'exécution.

Voir Wikipedia sur Cardinalité (instructions SQL) .

3 votes

Une cardinalité de zéro signifierait-elle que les deux tableaux ne sont pas liés l'un à l'autre ?

0 votes

Cardinalité de zéro ? Ce n'est pas un terme très utilisé, mais je suppose que c'est ce qu'il signifie. Normalement, il n'y a pas de ligne reliant ces tables dans un diagramme ER, il n'est donc pas nécessaire d'indiquer la cardinalité.

0 votes

Dans la modélisation des données, la cardinalité zéro est utilisée pour indiquer les relations optionnelles. Comme dans 0..1 ou 0..n

31voto

Justin Cave Points 114578

Cela dépend un peu du contexte. La cardinalité signifie le nombre de quelque chose, mais elle est utilisée dans une variété de contextes.

  • Lorsque vous construisez 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, y a-t-il 1 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 cherchez à savoir s'il est plus efficace d'utiliser un index b*-tree ou un index bitmap, ou à déterminer la 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 un PERSON par exemple, GENDER est probablement une colonne à cardinalité très faible (il n'y a probablement que deux valeurs dans la colonne GENDER ) tandis que PERSON_ID est susceptible d'être une colonne à cardinalité très élevée (chaque ligne aura une valeur différente).
  • Lorsque vous examinez les plans de requête, la cardinalité fait référence au nombre de lignes qui devraient être renvoyées par une opération particulière.

Il existe probablement d'autres situations où les gens parlent de cardinalité en utilisant un contexte différent et signifient autre chose.

6voto

Andrew Points 1257

La cardinalité fait référence à l'unicité des données contenues dans une colonne. Si une colonne contient beaucoup de données en double (par exemple, une colonne qui enregistre soit "vrai", soit "faux"), elle a une cardinalité faible, mais si les valeurs sont très uniques (par exemple, les numéros de sécurité sociale), elle a une cardinalité élevée.

1 votes

La cardinalité peut désigner plusieurs choses différentes, mais la réponse d'Oded est la suivante très probablement ce que vous recherchez.

-2voto

user2923871 Points 1

La cardinalité d'un ensemble est le nombre d'éléments de l'ensemble. pour nous avons un ensemble a > a,b,c < donc cet ensemble contient 3 éléments 3 est la cardinalité de cet ensemble

-2voto

kta Points 4702

Définition : Nous avons des tables dans la base de données. Dans une base de données relationnelle, nous avons des relations entre les tables. Ces relations peuvent être de type one-to-one, one-to-many ou many-to-many. Ces relations sont appelées "cardinalité".

Significatif de la cardinalité :

De nombreuses bases de données relationnelles ont été conçues en suivant des règles commerciales strictes. Lorsque vous concevez la base de données, nous définissons la cardinalité en fonction des règles commerciales. Mais chaque objet a également sa propre nature.

Lorsque vous définissez la cardinalité parmi les objets, vous devez prendre en compte tous ces éléments pour définir la cardinalité correcte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X