Nos enfrentamos al siguiente problema que debemos modelar.
Se trata de una base de datos que debe almacenar la información sobre varias estaciones meteorológicas, en una zona determinada. De cada una de ellas recibiremos y almacenaremos un conjunto de datos cada día: temperatura máxima y mínima, precipitaciones en litros/m2, velocidad del viento máxima y mínima, y humedad máxima y mínima.
El sistema debe ser capaz de seleccionar, añadir o eliminar estaciones. Para cada una almacenaremos su situación geográfica (latitud y longitud), identificador y altitud.
Bien, es un problema sencillo, pero nos sirve para ilustrar el procedimiento.
Ya tenermos la descripción del proceso, así que pasemos al segundo paso:
A primera vista, tenemos dos conjuntos de entidades: estaciones y muestras. Podríamos haber usado sólo un conjunto, el de las muestras, pero nos dicen que debemos ser capaces de seleccionar, añadir y borrar estaciones, de modo que parece que tendremos que usar un conjunto de entidades para ellas.
Las relaciones son más simples, ya que sólo hay una: cada estación estará interrelacionada con varias muestras. Es una relación 1:N.
Podemos trazar ya, por lo tanto, nuestro primer diagrama:
El siguiente paso es identificar los atributos para cada conjunto de entidades.
Para las muestras tendremos que elegir los que nos da el enunciado: temperatura máxima y mínima, precipitaciones, velocidades del viento máxima y mínima y humedad máxima y mínima. Además hay que añadir la fecha de la muestra.
Para las estaciones también nos dicen qué atributos necesitamos: identificador, latitud, longitud y altitud.
Ahora toca seleccionar claves principales.
Las estaciones disponen de varias claves candidatas. Tenemos, por una parte, el identificador, que es único para cada estación, y por otra su situación geográfica, ya que no puede haber dos estaciones en el mismo sitio. Parece lógico usar la primera como clave principal, ya que es un único atributo.
Pero en el caso de las muestras no existen claves candidatas claras. De hecho, el conjunto total de atributos puede no ser único: dos estaciones próximas geográficamente, podrían dar los mismos datos para las mismas fechas.
Tenemos una opción para solucionar el problema: crear una clave principal artificial, un número entero que se incremente de forma automática para cada muestra.
Sin embargo esta no es la solución óptima. Otra alternativa es considerar las muestras como entidades débiles subordinadas a las entidades estación. En ese caso, la clave primaria de la estación se almacena como una clave foránea en cada muestra.
Como entidad débil, las muestras no necesitan una clave primaria, de hecho, esa clave se forma con la unión de la clave primaria de la estación y la fecha de la muestra.
La primera solución es factible, pero precisa el uso de un atributo artificial, y como vemos, no absolutamente necesario. Optaremos por la segunda solución.
Todo está conforme el enunciado, nuestro diagrama E-R está terminado.
© Enero de 2005 Salvador Pozo, salvador@conclase.net