Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual é a definição de cardinalidade no SQL


Eles estão falando a mesma coisa e tem a ver com tuplas (relational algebra ) ou linhas (termo para leigos).

Quando diz alta cardinalidade são valores possíveis de determinado atributo (ou campo) que são únicos e, portanto, o número de linhas ou tuplas é maior:

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

Até ID do Aluno a cardinality é high porque é único. Neste tem cinco (5) tuplas/linhas.

Por outro lado, Sobrenome tem cardinalidade normal, em particular, existem apenas três (3) tuplas/linhas únicas. Assim, tem normal cardinality .

E finalmente Gênero tem apenas duas tuplas únicas possíveis, portanto, Low Cardinality .

Você provavelmente confunde Cardinality aqui com Degree de uma relação que tem algo a ver com o número de attributes/fields em uma relação (ou tabela).

Por outro lado, o livro-texto para Database ao falar de Cardinality normalmente tem a ver com uma entidade em relação a outra entidade, ou seja, o número de ocorrências de relações possíveis para uma entidade participante de um determinado tipo de relacionamento. Assim, por exemplo, para um binary relationship cardinality pode ser one-to-one , one-to-many ou many-to-many .