Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quelle est la définition de la cardinalité en SQL

Ils parlent la même chose et cela a à voir avec les tuples (relational algebra ) ou des lignes (terme profane).

Lorsqu'il dit haute cardinalité, les valeurs possibles d'un attribut (ou champ) particulier sont uniques et, par conséquent, le nombre de lignes ou de tuples est plus élevé :

Exemple :

 StudentID   Lastname Firstname  Gender
 101         Smith    John       M
 102         Jones    James      M
 103         Mayo     Ann        F
 104         Jones    George     M
 105         Smith    Suse       F

En ce qui concerne StudentID la cardinality est high car il est unique. En cela, il a cinq (5) tuples/lignes.

Par contre Nom a une cardinalité normale, en particulier il n'y a que trois (3) tuples/lignes uniques. Ainsi, il a une normal cardinality .

Et enfin Sexe n'a que deux tuples uniques possibles donc Low Cardinality .

Vous confondez probablement Cardinality ici avec Degree d'une relation qui a quelque chose à voir avec le nombre d'attributes/fields dans une relation (ou table).

D'autre part le manuel pour Database en parlant de Cardinality concerne normalement une entité en relation avec une autre entité, c'est-à-dire le nombre d'occurrences de relations possibles pour une entité participant à un type de relation donné. Ainsi par exemple pour une binary relationship cardinality peut être soit one-to-one , one-to-many ou many-to-many .