Passer au contenu principal

Comprendre la cardinalité : découvrir la signification des relations entre les données

La cardinalité peut vous aider à mieux comprendre vos données. Découvrez‑en davantage sur la cardinalité et son utilisation ici.

Les bases de données sont essentielles pour le monde moderne. Quel que soit le secteur d'activité, toutes les entreprises peuvent bénéficier de ressources informatiques, généralement conçues à partir de bases de données. Si vous gérez des transactions, vous devez créer un registre afin de suivre le rythme, ce qui relève du domaine des bases de données.

Si vous souhaitez comprendre les outils qui gèrent le suivi des données (sans parler des analyses qui y sont inhérentes), ce parcours commence par une compréhension de la cardinalité de la base de données.

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

Pour définir la cardinalité, il est important de comprendre que les bases de données sont en réalité des feuilles de calcul. Bien évidemment, elles peuvent être massives en termes de points de données et de complexité, mais ce ne sont que de vastes registres comprenant des données.

Cela dit, la cardinalité permet de comparer le nombre de lignes au nombre de colonnes dans la feuille. En particulier en ce qui concerne les bases de données, la cardinalité est généralement une mesure du nombre de valeurs distinctes que vous avez dans une colonne par rapport au nombre de lignes.

Arrêtons-nous et précisons que ceci est différent de la cardinalité dans la science des données. La définition scientifique implique souvent des ensembles infinis, des colonnes infinies dénombrables, des ensembles indénombrables et d'autres concepts plus élevés dont la description mentionne souvent l'expression "ensemble infini".

Cela peut sembler étrangement spécifique et peu utile, mais gardez à l'esprit le concept de comparaison des lignes et des colonnes, et découvrez des explications supplémentaires sur la cardinalité et ses utilisations qui clarifieront tout cela.

Pour mieux comprendre cette notion, il faut d'abord aborder le sujet de la cardinalité élevée et de la cardinalité faible. Si une table comporte un grand nombre d'éléments par rapport au nombre de lignes dans la colonne de la base de données, cela signifie que la cardinalité est élevée. Celle-ci peut également être faible, ce qui suggère qu'un nombre important de valeurs se répète.

La comparaison entre cardinalités élevée et faible peut vous aider à calculer la variance et à analyser la qualité d'une colonne en un coup d'œil. Prenons un exemple simple.

Vous êtes en train de vous occuper de la paie. Votre tableau de données comprend un identifiant unique pour chaque employé (généralement un nom ou un numéro fiscal). Il indique probablement les heures travaillées, le taux de rémunération et le total dû. La liste des noms aura une cardinalité élevée, tandis que le taux de rémunération horaire aura souvent une cardinalité faible. Cela vous donne une idée du type de données présentes dans chaque colonne.

Espérons que cet exemple vous aidera à mieux comprendre ce qu'est la cardinalité.

Pourquoi la cardinalité est-elle bénéfique dans une base de données ?

En fin de compte, la valeur de la cardinalité dans une base de données n'est pas vraiment destinée à la personne qui consulte les données. Elle se trouve plutôt dans les recherches et les requêtes.

Si vous souhaitez trouver un point de données spécifique dans votre base de données, c'est le système informatique qui doit l'exécuter pour vous, mais dans une base de données personnalisée, quelqu'un doit créer cette fonction de recherche. La cardinalité est utilisée par l'ordinateur pour déterminer si plusieurs réponses possibles existent ou non (ou leur probabilité). Cela peut aider à créer des résultats de recherche et des hiérarchies.

Cela signifie que les concepts de cardinalité élevée et faible sont utilisés par les développeurs pour concevoir des systèmes de requête efficaces.

Vous pouvez également réfléchir à la manière dont cela pourrait aider à l'analyse des données. Les systèmes informatiques doivent être capables de distinguer les valeurs pouvant avoir des entrées identiques, et la cardinalité peut aider un développeur à coder autour de ces redondances.

Types de cardinalités

Jusqu'à présent, nous avons parlé de cardinalité élevée et faible dans les bases de données, mais le concept implique également un niveau plus profond. La cardinalité est également présente dans la modélisation des données.

Cette notion va de pair avec la cardinalité dont nous avons déjà parlé. Là aussi, elle compare les valeurs uniques des colonnes au nombre de lignes.

Cependant, en matière de modélisation des données, il existe d'autres classifications de cardinalité qui deviennent importantes. Elles sont généralement divisées en cardinalités dites "un-à-un", "un-à-plusieurs" et "plusieurs-à-plusieurs".

Un-à-un

Si les correspondances "un-à-un" sont souvent moins courantes dans les bases de données modernes, elles existent tout de même et il est important de comprendre leur fonctionnement.

Sur le plan théorique, le nom est explicite. Pour chaque élément d'une colonne, il y a exactement un élément associé dans une autre colonne. Il s'agit d'une relation bidirectionnelle.

Cela ne signifie pas que les colonnes doivent être de la même taille. Une colonne peut conserver une correspondance "un-à-un" même si certains éléments n'ont pas de paire. Le nombre d'éléments dans chaque colonne ne révélera pas cette relation.

Prenons l'exemple suivant.

Imaginons qu'une grande entreprise compte des milliers d'employés et que chaque employé a besoin d'un e-mail professionnel. Pour conserver une trace de ces informations dans une base de données, vous avez besoin d'un nom unique pour chaque employé (généralement le numéro d'identification) et de son adresse électronique unique du registre. Chaque nom est lié à un e-mail et vice versa.

Un-à-plusieurs

Maintenant que vous connaissez la définition de la cardinalité et que vous avez une idée de ce qu'est une relation "un-à-un", le concept de relation "un-à-plusieurs" sera facile à comprendre.

Dans ce cas, vous avez une colonne avec des entrées uniques (colonne "A"). Chaque entrée peut être liée à plusieurs entrées dans une autre colonne (colonne "B"). Ainsi, tout ce qui figure dans la colonne A peut être lié à plusieurs éléments dans la colonne B, mais chaque élément de la colonne B ne sera lié qu'à une seule entrée de la colonne A.

Prenons un exemple simple où nous devons faire correspondre les représentants commerciaux à leurs clients. Chaque représentant peut avoir des dizaines de clients, mais pour maintenir des relations stables, chaque client n'a qu'un seul représentant commercial. Il s'agit d'une relation un-à-plusieurs.

Plusieurs-à-plusieurs

Enfin, nous allons aborder la relation "plusieurs-à-plusieurs". Tout élément de la colonne A peut avoir plusieurs paires dans la colonne B ; l'inverse est également vrai.

Nous pouvons utiliser l'exemple du représentant commercial pour illustrer les relations "plusieurs-à-plusieurs".

Que se passe-t-il si la société est un fabricant de micropuces avec des clients importants valant plusieurs milliards de dollars ? Cette société a probablement des équipes de vente bien définies, gérant chacune quelques clients. Dans ce cas, chaque client a plusieurs représentants individuels, et chaque agent peut travailler sur plusieurs contrats différents.

Il s'agit d'une relation "plusieurs-à-plusieurs".

Exemples de cardinalité

Dans les sections précédentes, vous avez découvert différents types d'arithmétique cardinale et de relations avec des exemples simplifiés. Maintenant, nous pouvons examiner des applications de la cardinalité dans des situations réelles pour voir exactement de quelle façon elles peuvent fonctionner dans une base de données.

Uber

Imaginons la conception de notre propre base de données qui pourrait s'appliquer à Uber.

Il s'agit d'une entreprise bien connue avec un modèle bien connu, mais si ça ne vous dit rien, voici comment cela fonctionne. Uber est une application pour smartphone. Vous pouvez ouvrir l'application et effectuer une demande de trajet depuis votre emplacement actuel vers la destination de votre choix. L'application vous mettra en relation avec un chauffeur, déterminera le prix de la course ainsi que le trajet, et gérera tout l'aspect logistique. Votre conducteur se présentera et vous emmènera là où vous voulez aller, puis vous paierez le trajet via l'application.

Pour une application aussi vaste et complexe, les bases de données créées à partir de données d'intention sont sans aucun doute en jeu, et l'on peut facilement en imaginer une qui suit les clients et les chauffeurs. Dans ce cas, chaque chauffeur et chaque client a besoin d'un identifiant unique.

Cela signifie que notre colonne chauffeur (D) et notre colonne client (C) ont toutes deux une cardinalité élevée (en réalité, elles ont une cardinalité infinie). Chaque élément de chaque colonne est unique.

Nous pouvons également penser aux relations entre les colonnes. De prime abord, on peut avoir l'impression que n'importe quel chauffeur peut avoir plusieurs passagers et vice versa, mais nous avons en réalité des relations "un-à-un" pour une transaction. Un chauffeur ne peut avoir qu'un seul client à la fois, même si le client est un groupe de personnes, techniquement, il n'y aura qu'un seul identifiant client sur la transaction. Nous avons besoin d'une base de données "un-à-un" pour faire correspondre les clients et les chauffeurs pour toute transaction individuelle.

Amazon

S'il y a bien une entreprise dans le monde qui utilise des bases de données, c'est Amazon. Pour cet exemple, prenons la boutique en ligne d'Amazon. De nombreux détaillants ont des boutiques sur le site Web, et des milliards de personnes achètent via Amazon.

Une fois de plus, chaque boutique et chaque acheteur a besoin d'un identifiant unique pour la gestion de la transaction unique. Cependant, ce cas est plus complexe que l'exemple d'Uber.

Lorsque vous faites des achats sur Amazon, vous pouvez acheter des articles auprès de plusieurs commerçants, le tout en réalisant une seule et même transaction. Amazon gère la logistique, ainsi, il ne vous est pas utile de savoir si vos articles proviennent de différents endroits ou non. Pour vous, il s'agit d'une transaction unique.

Par ailleurs, les boutiques peuvent également vendre à plusieurs utilisateurs simultanément, mais chaque transaction ne concernera qu'un seul utilisateur.

Dans ce cas, nous avons une relation "un-à-plusieurs". Vous pouvez acheter auprès de plusieurs boutiques, mais chacune d'entre elles ne vous vend que dans le cadre de cette transaction spécifique.

Améliorer la modélisation des données grâce à la cardinalité

Maintenant que vous en savez plus sur la cardinalité des données et son fonctionnement avec les bases de données et la modélisation des données, l'étape suivante consiste à découvrir les outils qui peuvent approfondir votre compréhension et vous permettre de travailler directement avec les bases de données.

Les rapports Mailchimp facilitent l'évaluation des données et de la cardinalité grâce à un tableau de bord facile à lire. Essayez Mailchimp dès aujourd'hui.

Partagez cet article