A1.00

Campos, atributos, tipos

A9.00

Claves o llaves

A40.05

Entidades Fuertes y entidades Débiles

A50.00

¿Cómo se establece una llave primaria?

A60.00

¿Qué es cardinalidad de una relación?

Páginas:
       1   2 
¿Qué es cardinalidad de una relación?

Existen muchas definiciones de cardinalidad, aunque todas vienen a decir lo mismo: a) Cardinalidad en una relación es el número de veces que una entidad aparece asociada a otra entidad. b) Cardinalaidad es el número de ocurrencias de entidad que se pueden asociar a otra a través de una relación. c) Número de instancias o elementos de una entidad que pueden asociarse a un elemento de la otra entidad relacionada...

Pero nuestro lector no es un experto en el modelo entidad-relación, así que permítanme los eruditos del tema que simplifique el concepto de cardinalidad para la comprensión del usuario promedio de este sitio web...

Para ello vamos a analizar el ejemplo que muestra la imagen siguiente:

¿Qué es cardinalidad de una relación?

Si eliminamos parte de la terminología de los modelos de entidad-relacón, observamos en la imágen anterior dos tablas (entidades, es decir objetos del mundo real que tiene existencia por sí mismo) llamadas PERSONAS y COCHES. LLamamos cardinalidad al número de veces que una fila (instancia, tupla, etc.) de la tabla (entidad) PERSONAS puede asociarse (mediante algún tipo de relación) a una fila de la tabla COCHES.

Es decir, tenemos una lista de personas con datos (columnas, campos o atributos) y otra lista con datos de coches. La relación que puede establecerse entre ambas tiene que ser algo tan sencillo como: personas tienen coche. Comentaremos el tipo de relación (o asociación) que se establece según su cardinalidad...

Lo preimero que observamos en la imagen anterior es que existen personas que no tienen coche. Por lo tanto decimos que la cardinalidad es 0, por ejemplo, vemos que Jose Lopez no tiene coche y aparece 0 veces asociado a un coche.

En cambio, Jose Marquez tiene un Renault 231 (su cardinalidad es 1) y Luis Jimenz tiene 3 coches. Cuando el número veces que se asocia (se relaciona) una fila de PERSONAS con filas de COCHES es mayor que uno, decimos que su cardinalidad es N siendo N siempre mayor de 1.

Resumiendo: las cardinalidades posibles son 0, 1 y N.

Pero lo que realmente nos interesa es la cardinalidad mínima y la cardinalidad máxima de una relación. Esta información nos permite deducir qué tipo de relación se establece y las posibles restricciones que se deben aplicar.

CARDINALIDAD MINIMA: es el mínimo número de asociaciones que una instancia (fila) de una entidad (tabla) puede presentar en una relación conocida con otra entidad...

CARDINALIDAD MAXIMA: es el máximo número de asociaciones...

En cualquier caso las cardinalidades mínima y máxima podrán ser 0, 1 o N, como se expuso aneterirmente. Las cardinalidades mínima y máxima suelen expresarse con dos números entre paréntesis separados por comas, por ejemplo (0,1) que debe entenderse como cardinalidad mínima 0 y cardinalidad máxima 1.

Las posibles cardinalidades son (0,1), (1,1), (0,n), (1,n), (m,n).

Veamos a continuación varios ejemplos en los que analizamos las cardinalidades de una relación binaria (es decir, que relaciona dos entidades)...

CARDINALIDAD (0,1)

En la imagen siguiente observamos la entidad PERSONAS cuya cardinadlidad mínima es 0 y cardinalidad máxima es 1. Nos centraremos en la entidad PERSONAS, si bien la entidad COCHES también tiene su propia cardinalidad en la relación como se muestra en la imagen...

La cardinalidad mínima que muestra la imagen anterior es 0 porque existen personas que no tiene coche (no se asocian). La cardinalidad máxima es 1 porque las personas que tienen coche sólo tienen 1 coche. Es evidente que debemos aplicar ciertas restricciones para que esto sea posible: nuestra asociación (relación) debe permitir "nulos", es decir registros (filas) que no se relacionen con algun coche (personas que no tienen coche). No nos referimos a registros vacios sin datos (Null) sino a registro que deben participar necesariamente en la relación. No permitimos, en cambio, que en la tabla PERSONAS existan entidades que puedan asociarse más de una vez. Es decir, la tabla PERSONAS sólo registra personas que no tienen coche o que tienen un solo coche...

Las restricciones las controlo y aplica el propio sistema gestor de bases de datos (SGBD), por ejemplo ACCESS...

El tipo de relación se deduce de las cardinalidades máximas de PERSONAS y COCHES. En la imagen es 1 y 1, por tanto la relación es del tipo uno a uno. Se anota (1:1) si bien mucho autores indican el tipo de una relación en términos de su cardinalidad:

Uno a uno (1:1).

Uno a varios (1:N).

Varios a uno (N:1) o la simétrica de la anterior.

Varios a varios o muchos a muchos (N:M).

Pero sigamos viendo otros ejemplos de cardinalidades.

CARDINALIDAD (1,1)

En la imagen siguiente observamos un cambio en las restriciones de la relación. Supongamos que no desamos recoger datos de personas que no tienen coche. Es decir, cualquier entidad (persona) de la tabla PERSONAS debe tener un coche. Sólo afectaría a la cardinalidad mínima de PERSONAS puesto que ahora sería 1 y no 0 como en el caso anterior. La relación sigue siendo del tipo uno a uno (1:1). Observese que este caso ambas tablas deben tener el mismo número de registros...

CARDINALIDAD (0,N)

Las relaciones entre entidades deber expresar objetos o abstraciones de la vida real. Podemos pensar que en la tabla PERSONAS existen personas (filas) que tiene más de un coche. Es lo muestra la imagen siguiente. Este caso afecta a la cardinalidad máxima de PERSONAS que ahora no es ni 0 ni 1 sino N...

El tipo de relación cambia al tipo varios a uno (N:1)

También puede exprearse como relación de uno a varios si leemos primero la cardinalidad máxima de la tabla COCHES. Ambas relaciones uno a varios y varios a uno, son simétricas...

Los registros de PERSONAS no tiene que participar necesariamente en la relación (se permiten nulos, es decir registros que no se relacionan)..

CARDINALIDAD (1:N)

En la siguiente relación (imagen inferior) obligamos a que toda persona tenga al menos 1 coche. Afecta a la cardinalidad mínima, si bien la relación sigue siendo del mismo tipo: (N:1)...

CARDINALIDAD (n,m)

En este caso las cardinalidades máxima de cada entidad que participa en la relación binaria (grado dos) es mayor que 1. Podemos pensar en el ejemplo de la imagen siguiente. En este caso la entidad OBREROS se relaciona (realizan tareas) con TAREAS con la restricción que indica la imagen. El tipo de relación es de muchos a muchos (N:M)

Para la conversión del esquema en tablas (ACCESS) es necesario una tabla de unión. Más información en <a href=lupa_busquedas_posit.html1accesF>foro</a>








Sesión:
registrar en twiiter
Inicie sesión ...


Editores de contenidos

No es un Editor...



Títulos


Tweets aulapc.es:





 eduardo@aulapc.es Granada (España)