El TEMA 2 trata de como modelizar un sistema de información que se quiere mecanizar en un modelo informático. La principal herramienta para ello es el DIAGRAMA ENTIDAD-RELACION, más conocido como E/R o, en su versión más completa, diagrama entidad-relación extendido, EE/R, aunque nos referiremos a ambas posibilidades simplemente como E/R. Estos E/R sirven, fundamentalmente para tener una idea de conjunto del flujo y almacenamiento de información y las condiciones en que se gestiona, con un diagrama global que permita apreciar todos los detalles de una sola vez. Con frecuencia, como solución a un ejercicio, no entregáis un diagrama completo sino una serie de diagramas parciales, cada uno de los cuales involucra a un par de entidades y una relación. Estos son fáciles de dibujar con un tratador de textos y en el formato de página A4 que utilizáis habitualmente … pero que no son de utilidad en la práctica. Es necesario que resolváis cada problema de E/R en un solo diagrama, tenga el tamaño que tenga. Podéis hacerlo en papel, como os ocurrirá en el examen (donde dispondréis una hoja A3, para que no falte espacio) y enviar una foto. Y, si optáis por hacer los ejercicios del tema en digital, os recomiendo que utilicéis el programa DIA (http://dia- installer.de/index.html.es), software libre con versiones para toda clase de plataformas, que os permite crear fácilmente diagramas de calidad, vectoriales, tanto E/R como de muchos otros entornos, por lo que resulta un aprendizaje interesante para más ámbitos. Tenedlo en cuenta, por favor, para la entrega de los ejercicios del tema. Os adjunto la versión para Windows, en Linux está disponible en los repositorios de las distros habituales. Por otro lado, es necesario que, tras un vistazo al tema, leáis detenidamente las siguientes:
ACLARACIONES DE OBLIGADO CUMPLIMIENTO PARA EL TEMA 2:
A) PARA EL MODELO E/R UTILIZAREMOS SOLAMENTE EL MODELO DE
CHEN, teniendo en cuenta, además, que: * Las cardinalidades se expresan con un par de números entre paréntesis (MÍNIMO, MÁXIMO) junto a cada entidad que participa en una relación y se entienden como el número mínimo y máximo de ocurrencias de esa entidad relacionadas con una sola ocurrencia de cada una de las demás entidades involucradas en esa relación. * En una relación, el tipo de correspondencia (o, simplemente, tipo) se expresa con tantos números como entidades estén involucradas en la relación, separados por el símbolo dos puntos, p. ej 1:N . SE OBTIENEN DE LAS CARDINALIDADES MÁXIMAS. En relaciones terciarias o de más entidades, se suelen poner letras diferentes (N,M,etc) y no importa el orden en que se pongan: da lo mismo 1:N:M que N:1:M , por ejemplo, aunque sea más habitual la primera forma. * Los nombres de las entidades se escribirán en singular. ¿Por qué? Pues porque, cuando se hayan trasformado en tablas y las vayáis a utilizar en un programa, manejar un dato, por ejemplo, el precio de un artículo, quedará, en el programa, de una forma parecida a ARTICULO.PRECIO=27, y, si os dais cuenta, en plural resulta bastante menos comprensible, pudiendo dar lugar a preguntarte cosas como “¿estaré actualizando los precios de TODOS los artículos ?”. Eso se evita teniendo los nombres de las tablas en singular … y, por lo tanto, los nombres de las entidades de las que provienen de dicha tabla, también en singular. * Los nombres de las relaciones son verbos o acciones. Hay que huir de nombres genéricos que no dicen nada, como "tiene", "da" o cosas así. Tened en cuenta que las relaciones se convertirán en nuevas tablas o en campos para otras existentes, así que es preciso que los nombres realmente describan la función que cumplen en la realidad.
B) Como las RELACIONES JERÁRQUICAS suelen causaros problemas para
representarlas bien en diagramas digitales, os dejo una ayuda para quienes optéis por el programa DIA para hacer los diagramas E/R: un zip con los archivos SHAPE que necesita el DIA para pintar los diferentes tipos de jerárquicas. Hay que incluirlos con la tecla F9 y el botón NEW. Tenéis un tutorial de instalación aquí: http://dia-installer.de/howto/create_shape/index.html.en . Y recordad que nada impide hacer los diagramas E/R a mano, tal como tendréis que hacer en el examen.
C) PARA REALIZAR EL MODELO RELACIONAL (también conocido como
ESQUEMA RELACIONAL), a partir de un E/R, USAREMOS UN SIMPLE LISTADO DE TEXTO, con este formato:
RELACIONa ( atributo1, atributo2, atributo3, .…)
RELACIONb ( atributo1, atributo2, atributo3, .…)
RELACIONc (atributo1, atributo2, atributo3, .…)
RELACIONd ( atributo1, atributo2, atributo3, .…)
* No utilicéis los formatos (dibujos) del mySqlWorkbench, del Base de LibreOffice, del MS-Access, etc, sino, solamente, un listado de texto. * Los atributos que formen parte de la clave primaria irán SUBRAYADOS, tal como se ve en los ejemplos. * Para los atributos que formen parte de una FK, se incluirá un apunte debajo de la lista de atributos, de esta manera: (suponiendo una base de datos para un instituto de FP):