halogenic

Diseño conceptual de bases de datos: modelo E-R (II)

Ya tenemos la base de los diagramas E-R. Podemos ahora pensar en muchas relaciones que podemos crear entre conjuntos de entidades, y las podemos complicar tanto como deseemos.

Ahora pasemos a introducir un concepto importante, para ello echemos mano de dos ejemplos:

ejemplo_2

Ejemplo_2 

Hay una sutil diferencia entre las dos relaciones. En el primer ejemplo, cada marca de coche (ej: renault) puede tener multitud de modelos (scenic, megane,…) para vender. A la inversa, no podemos decir lo mismo: un modelo de coche (scenic) sólo puede pertenecer a una marca en concreto (renault). En el segundo ejemplo, en cambio, podemos decir que un actor ha actuado en muchas peliculas, y que en cada pelicula actúan muchos actores.

Ya podemos introducir otra definición ;) :

  • Correspondencia de cardinalidad: número máximo de entidades que están relacionadas con una única entidad del otro conjunto de entidades que interviene en la relación.
    Podemos clasificar las relaciones de tipo:
    • 1:1 La cardinalidad en ambas direcciones es 1.
    • 1:N La cardinalidad máxima en una dirección es 1 y en la otra muchos (Primer ejemplo).
    • N:M Son muchas la cardinalidad máxima en ambas direcciones (Segundo ejemplo).

Este concepto nos será de gran ayuda para luego realizar un modelo de base de datos.

Existen también otro tipo de clasificación para relaciones: opcionales (todas las entidades del conjunto no deben tener relación con otro conjunto) o obligatorias (todas las entidades del conjunto deben tener relación con otro conjunto). También se me olvidó escribir en la anterior entrega sobre los tipos de entidades y de atributos, pero no tienen mucha importancia y son pasables de momento. Si no os he saciado…;),  aquí tenéis más.

 En la próxima entrega desarrollaremos un ejemplo más complicado.

Diseño conceptual de bases de datos: modelo E-R (I)

Lo que escribo aquí, sólo son unos apuntes. Por ello, no hay que esperar rigor, ni tampoco que sean correctos. ;)

Para empezar, unas definiciones absurdas, pero útiles:

  • Entidad: Cualquier objeto del mundo real con existencia propia, sea ésta física (un coche) o conceptual (una empresa).
  • Atributo: propiedad aplicable a una entidad (coche rojo).
  • Dominio: conjunto de valores que puede tomar un atributo (todos los colores que podemos pintar un coche). Se representan como "chupa-chuses" blancos clavados en la entidad.
  • Conjunto de entidades: totalidad de las entidades del mismo tipo (que por ser tales), comparten los mismos atributos. Al conjunto de entidades se representan mediante un rectángulo.
Representación de coche
  • Clave: atributo que permite diferenciar unas entidades particulares de otras (matrícula de un coche). Se representan como "chupa-chuses" negros clavados en la entidad.
  • Vínculo o relación: correspondencia entre dos o más conjuntos de entidades. Se representa con un rombo.

 Representación de vínculo

Una relación puede poseer también atributos descriptivos. En el diagrama anterior podríamos tener un atributo de la relación VENDE, por ejemplo la fecha de la venta. 

  • Grado de una relación: número de entidades que participan en una relación.