La cardinalité dans les bases de données : Types et leur importance
La définition générale de la cardinalité représente le nombre d'éléments d'un ensemble.
Qu'est-ce que la cardinalité dans une base de données ?
Dans le contexte d'une base de données, la cardinalité fait référence au nombre de valeurs uniques dans une colonne d'une table relationnelle par rapport au nombre total de lignes de la table. La cardinalité d'une colonne est évaluée et stockée dans des tables système à des fins d'optimisation lorsque l'administrateur de la base de données (DBA) exécute des statistiques.
Pourquoi est-ce important ?
La cardinalité d'une colonne est très importante pour les concepteurs de bases de données et l'optimiseur de requête bases de données. Pour le concepteur ou l'administrateur de bases de données, le fait de savoir qu'une colonne contient principalement des valeurs répétitives indique qu'il s'agit d'un mauvais candidat pour un index, car il ne sera pas très sélectif. Pour un optimiseur de requête basé sur les coûts, la sélectivité d'un index potentiel détermine s'il sera utilisé ou ignoré. La création et la maintenance des index sont coûteuses en termes d'utilisation des processeur et des ressources d'E/S. Les concepteurs et les développeurs doivent donc s'assurer qu'ils créent des index qui seront utilisés.
Types de cardinalité dans les bases de données
Les concepteurs de bases de données définissent le degré de relation entre les entités. Une entité peut avoir une relation de type "un pour plusieurs" ou "un pour un" avec une autre entité. Par exemple, un conteneur de stockage peut avoir un couvercle, ce qui constitue une relation univoque. Un médecin peut avoir de nombreux patients, ce qui constitue une relation de type "un à plusieurs". C'est ce qu'on appelle la cardinalité de la relation.
La cardinalité des données fait référence à l'unicité des valeurs contenues dans une colonne de base de données. Si la plupart des valeurs sont distinctes, on considère que la cardinalité est élevée. Si la colonne contient principalement des valeurs répétées, elle est considérée comme ayant une cardinalité faible.
Lors du partitionnement d'une table basé sur des plages de valeurs de données, une faible cardinalité peut entraîner une asymétrie des distribution des données , ce qui se traduit par une distribution des données inégale distribution des données entre les partitions. Ce n'est pas une bonne chose car vous voulez équilibrer l'utilisation des ressources sur tous les processeurs disponibles, et pas seulement sur un sous-ensemble.
Cardinalité élevée et faible
Une colonne remplie de valeurs distinctes est appelée colonne à forte cardinalité. Un faible nombre de valeurs distinctes dans une colonne en fait une colonne à faible cardinalité. Lors de la sélection d'une colonne à indexer ou à utiliser comme base d'une clé de partitionnement, vous recherchez des candidats à cardinalité élevée. De même, un plan de requête base de données utilisera un index disponible si une colonne contient des valeurs distinctes.
En termes d'optimisation des performances la base de données, une colonne de faible cardinalité peut entraîner une opération de balayage complet de la table, ce qui est la manière la plus coûteuse (en termes d'utilisation des ressources) de requête une table.
Cardinalité et modalité
Lorsque l'on mesure le nombre d'associations entre deux ou plusieurs colonnes ou lignes d'un tableau, on utilise le terme cardinalité. L'accent est mis sur le nombre maximal d'associations. La modalité se concentre sur le nombre minimum de relations entre les entités ou les lignes du tableau. La modalité d'une relation est 0 si la relation est facultative, tandis que la modalité est 1 si une occurrence de la relation est obligatoire.
Il est temps de faciliter l'accès à vos données. Visitez notre site Web pour en savoir plus sur la gamme de produits et de solutions Actian pour les bases de données.