Saltar la navegación

3.4.1.- Cardinalidad o multiplicidad de la relación

Un concepto muy importante es la cardinalidad de una relación, representa cuantos objetos de una clase se van a relacionar con objetos de otra clase. En una relación hay dos cardinalidades, una para cada extremo de la relación y pueden tener los siguientes valores:

Significado de las cardinalidades.
Cardinalidad Significado
1 Uno y sólo uno
0..1 Cero o uno
N..M Desde N hasta M
* Cero o varios
0..* Cero o varios
1..* Uno o varios (al menos uno)

Por ejemplo, si tengo la siguiente relación:

Dos clases formadas por rectángulos azules una de nombre “Alumno” y otra “Módulo” unidas por una línea recta y horizontal etiquetada con “matricula”, en el extremo junto a la clase “Alumno” aparecen los valores 0..* y junto al extremo de “Módulo” aparece 1..*.

quiere decir que la clase Alumno se relaciona con la clase Módulo debido a que los alumnos se matriculan en diferentes módulos y en un módulo puede estar matriculado alumnos. La cardinalidad indicada quiere decir que todo alumno está matriculado en al menos un módulo y puede estar matriculado en varios y que en un módulo puede haber varios alumnos matriculados y puede ser que en un módulo no haya nadie matriculado.

O esta otra:

Dos clases formadas por rectángulos azules una de nombre “Módulo” y otra “Profesor” unidas por una línea recta y horizontal etiquetada con “imparte”, en el extremo junto a la clase “Módulo” aparecen los valores 1..* y junto al extremo de “Profesor” aparece 1.

quiere decir que la clase Profesor relaciona con la clase Módulo debido a que los profesores imparten diferentes módulos y un módulo es impartido por un profesor. La cardinalidad indicada quiere decir que todo profesor imparte al menos un módulo pudiendo impartir varios y,  todo módulo es impartido por un profesor y sólo uno.

Ejercicio Propuesto

Establece la cardinalidad de la relación que has creado en el punto anterior para indicar que un alumno debe estar matriculado en al menos un módulo, o varios y que para cada módulo se puede tener ningún alumno, uno o varios.

Y este ejemplo:

Dos clases formadas por rectángulos, uno azul y otro blanco. Encima del rectángulo blanco aparece la frase “casado con”, debajo “mujer 0..1” y a su derecha “0..1 marido”. El rectángulo azul se encuentra encima de la esquina inferior derecha del cuadrado blanco y se divide en 3 zonas iguales. En la de arriba pone Persona y en la del medio pone “nombre: string” y “edad:int”. La de abajo está vacía.

Indica que una persona se relaciona con otra persona por la relación "casado con". La cardinalidad indica que una mujer puede estar soltera o casada con una persona  y los maridos igual.