¿Qué es la cardinalidad en las bases de datos?

84

He estado buscando en Internet, pero parece que no puedo encontrar una respuesta que pueda entender.

Entonces, amablemente, si alguien pudiera explicarme con la ayuda de ejemplos, ¿qué es la cardinalidad en las bases de datos?

Gracias.

Algún cuerpo
fuente

Respuestas:

120

Una fuente de confusión puede ser el uso de la palabra en dos contextos diferentes: modelado de datos y optimización de consultas de bases de datos.

En términos de modelado de datos, la cardinalidad es cómo se relaciona una tabla con otra.

  • 1-1 (una fila de la tabla A se relaciona con una fila de la tabla B)
  • 1-Muchos (una fila en la tabla A se relaciona con muchas filas en la tabla B)
  • Muchos-muchos (muchas filas de la tabla A se relacionan con muchas filas de la tabla B)

También hay condiciones de participación opcionales a las anteriores (donde una fila en una tabla no tiene que relacionarse con la otra tabla en absoluto).

Consulte Wikipedia sobre cardinalidad (modelado de datos) .


Cuando se habla de optimización de consultas de bases de datos, la cardinalidad se refiere a los datos en una columna de una tabla, específicamente cuántos valores únicos hay en ella. Esta estadística ayuda a planificar consultas y optimizar los planes de ejecución.

Consulte Wikipedia sobre cardinalidad (declaraciones SQL) .

Oded
fuente
2
¿Una cardinalidad de cero significaría que las dos tablas no se relacionan entre sí?
Tyler
Cardinalidad de cero? No es un término que se use mucho, pero supongo que significaría eso. Normalmente, no habría una línea que conectara tales tablas en un diagrama ER, por lo que no es necesario indicar cardinalidad.
Oded
La cardinalidad cero en el modelado de datos se utiliza para indicar relaciones opcionales. Como en 0..1 o 0..n
Walter Mitty
haciendo analogía con la connotación matemática del término cardinalidad: ** (modelado de datos) la cardinalidad entre dos tablas es la unicidad de los valores entre dos tablas (cardinalidad como una función entre dos conjuntos) ** (optimización de la consulta de la base de datos) la cardinalidad de una tabla es qué tan únicas son las filas para esa columna (cardinalidad del conjunto en sí)
harshvchawla
29

Depende un poco del contexto. La cardinalidad significa el número de algo, pero se usa en una variedad de contextos.

  • Cuando está construyendo un modelo de datos, la cardinalidad a menudo se refiere al número de filas en la tabla A que se relacionan con la tabla B. Es decir, ¿hay 1 fila en B por cada fila en A (1: 1), hay N filas en B para cada fila en A (1: N), ¿hay M filas en B para cada N filas en A (N: M), etc.
  • Cuando busca cosas como si sería más eficiente usar un índice de árbol ab * o un índice de mapa de bits o qué tan selectivo es un predicado, la cardinalidad se refiere al número de valores distintos en una columna en particular. Si tiene una PERSONtabla, por ejemplo, GENDERes probable que sea una columna de cardinalidad muy baja (probablemente solo haya dos valores GENDER) mientras que PERSON_IDes probable que sea una columna de cardinalidad muy alta (cada fila tendrá un valor diferente).
  • Cuando observa planes de consulta, la cardinalidad se refiere al número de filas que se espera que se devuelvan de una operación en particular.

Probablemente hay otras situaciones en las que la gente habla de cardinalidad en un contexto diferente y quiere decir otra cosa.

Justin Cave
fuente
8

En la base de datos, Cardinalidad número de filas en la tabla.

ingrese la descripción de la imagen aquí img fuente


ingrese la descripción de la imagen aquí img fuente


  • Las relaciones se nombran y clasifican por su cardinalidad (es decir, número de elementos del conjunto ).
  • Los símbolos que aparecen cerca de la entidad son Cardinalidad máxima y el otro es Cardinalidad mínima .
  • Relación de entidad, muestra el final de la línea de relación de la siguiente manera:
    ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

fuente de imagen

Premraj
fuente
1
Utilice texto, no imágenes / enlaces, para el texto, incluidas tablas y ERD . Parafrasea o cita de otro texto. Dé justo lo que necesita y relacionelo con su problema. Utilice imágenes solo para lo que no se pueda expresar como texto o para aumentar el texto. Las imágenes no se pueden buscar ni cortar y pegar.
philipxy
4

La cardinalidad se refiere a la singularidad de los datos contenidos en una columna. Si una columna tiene muchos datos duplicados (por ejemplo, una columna que almacena "verdadero" o "falso"), tiene una cardinalidad baja, pero si los valores son muy únicos (por ejemplo, números de seguridad social), tiene una cardinalidad alta.

Andrés
fuente
1
La cardinalidad puede referirse a un par de cosas diferentes, pero lo más probable es que la respuesta de Oded sea lo que estás buscando.
Andrew
-2

La cardinalidad de un conjunto es el número de los elementos en el conjunto porque tenemos un conjunto a> a, b, c <entonces este conjunto contiene 3 elementos 3 es la cardinalidad de ese conjunto

usuario2923871
fuente
-2

Definición: Tenemos tablas en la base de datos. En la base de datos relacional, tenemos relaciones entre las tablas. Estas relaciones pueden ser de uno a uno, de uno a varios o de varios a varios. Estas relaciones se denominan "cardinalidad".

Significativo de cardinalidad:

Muchas bases de datos relacionales se han diseñado siguiendo reglas comerciales estrictas. Cuando diseñas la base de datos, definimos la cardinalidad en función de las reglas comerciales. Pero cada objeto también tiene su propia naturaleza.

Cuando define la cardinalidad entre objetos, debe considerar todas estas cosas para definir la cardinalidad correcta.

kta
fuente