Mysql
 sql >> Database >  >> RDS >> Mysql

Qual è la definizione di cardinalità in SQL

Stanno parlando la stessa cosa e ha a che fare con le tuple (relational algebra ) o righe (termine comune).

Quando si dice alta cardinalità sono possibili valori di un particolare attributo (o campo) che sono unici e quindi il numero di righe o tuple è maggiore:

Esempio :

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

Per quanto riguarda ID studente la cardinality è high perché è unico. In questo ha cinque (5) tuple/righe.

D'altra parte Cognome ha cardinalità normale, in particolare ci sono solo tre (3) tuple/righe uniche. Quindi ha normal cardinality .

E infine Sesso ha solo due possibili tuple univoche quindi Low Cardinality .

Probabilmente confondi Cardinality qui con Degree di una relazione che ha qualcosa a che fare con il numero di attributes/fields in una relazione (o tabella).

D'altra parte il libro di testo per Database quando si parla di Cardinality normalmente ha a che fare con un'entità in relazione a un'altra entità, cioè il numero di possibili relazioni che si verificano per un'entità che partecipa a un determinato tipo di relazione. Così ad esempio per una binary relationship cardinality potrebbe essere one-to-one , one-to-many o many-to-many .