sql >> Base de Datos >  >> RDS >> Mysql

¿Cuál es la definición de cardinalidad en SQL?

Están hablando lo mismo y tiene que ver con tuplas (relational algebra ) o filas (término sencillo).

Cuando dice cardinalidad alta, hay valores posibles de un atributo (o campo) en particular que son únicos y, por lo tanto, el número de filas o tuplas es mayor:

Ejemplo :

 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 cuanto a StudentID la cardinality es high porque es único. En este tiene cinco (5) tuplas/filas.

Por otro lado Apellido tiene una cardinalidad normal, en particular, solo hay tres (3) tuplas/filas únicas. Por lo tanto tiene normal cardinality .

Y finalmente Género tiene solo dos tuplas únicas posibles, por lo tanto Low Cardinality .

Probablemente confunda Cardinality aquí con Degree de una relación que tiene algo que ver con el número de attributes/fields en una relación (o tabla).

Por otro lado, el libro de texto para Database cuando se habla de Cardinality normalmente tiene que ver con una entidad en relación con otra entidad, es decir, el número de relaciones posibles que ocurren para una entidad que participa en un determinado tipo de relación. Así por ejemplo para una binary relationship cardinality podría ser one-to-one , one-to-many o many-to-many .