Práctica 03 Fundamentos de Bases de Datos Facultad de Ciencias UNAM M.I. Gerardo Avilés Rosas gar@ciencias.unam.mx Laboratorio: L en C.C. Erick Orlando Matla Cruz ematla@ciencias.unam.mx Práctica 03 Desarrollo En el mundo de las bases de datos, “hacerlo bien” es una frase llena de ambigüedad, ¿quién puede decir que es realmente lo “correcto”? Francamente, es mucho más fácil de detectar “lo malo” o “lo no tan bueno” de los esquemas de base de datos que confirmar el que un esquema esté “correcto”. Mientras que el diseño del esquema es fundamental para que una base de datos tenga un desempeño aceptable, es posible afirmar que se pierden oportunidades si durante la generación del diseño del esquema no se toman en consideración detalles importantes como el rendimiento de la base de datos, su administración, la realización de copias de seguridad o procedimientos de recuperación. El modelado de base de datos, así como su diseño son elementos centrales para una administración sana y un buen rendimiento. Es importante notar, que independientemente de la metodología o el proceso de desarrollo de software que se utilice, el modelado de datos debe ser integrado dentro del proceso cada que sea necesario. La Figura 1 muestra como el modelado de datos físico o lógico se presentan dentro del proceso general de diseño de bases de datos, ya sea en un sistema totalmente nuevo o bien para un sistema que sea actualizado o bien completamente reestructurado. La creación de aplicaciones de software se encuentra muy relacionada con el diseño y Figura 1. Vista del proceso de diseño de bases de datos. explotación de bases de datos. Dada esta situación, es necesario contar con herramientas capaces de representar gráficamente y en una forma entendible el modelo de las categorías de información involucradas en las aplicaciones. Para lograr este fin será conveniente el valerse de software que cuente con una interfaz gráfica y sirva para nuestros propósitos de modelado de bases de datos. Práctica 03 Diagramas entidad – relación. Los diagramas entidad-relación constituyen una herramienta muy conveniente de representar las entidades y sus relaciones. Tienen la característica de ser altamente intuitivos por lo que la representación de los datos llevada a cabo con éstos, puede ser compartida con el usuario en etapas tempranas del análisis y diseño de la aplicación. Es importante mencionar que este tipo de diagramas no pueden ser utilizados para representar otros elementos necesarios durante el desarrollo de los sistemas, como por ejemplo la interacción de los usuarios con las aplicaciones. Figura 2 Ejemplo de diagrama Entidad - Relación Dia “Dia” es un software de dibujo basado en vectores que permite la creación de muchos tipos de diagramas, por ejemplo los diagramas de Entidad-Relación, los diagramas de clases de UML entre otros. Fue creado originalmente por Alexander Larsson y actualmente es sustentado por Cyrille Chépélov y Lars Clausen, es distribuido bajo la licencia “General Public License”(GPL) y posee características notables, por ejemplo, permite la adición de conjuntos de diagramas utilizando archivos XML y la exportación a distintos formatos gráficos. Descarga Podrán obtener el programa “Dia” del siguiente enlace: http://dia-installer.de/ Práctica 03 Dia es muy sencillo de utilizar ya que cuenta con pocos elementos visuales y permite un diseño fácil y rápido. Es posible apreciar la interfaz del programa en la figura 3, donde se presenta un área de trabajo en la parte central y el área de herramientas en la parte izquierda, es aquí donde se selecciona el tipo de elementos gráficos que se utilizarán. Siendo los que nos competen, por el momento, los de Entidad-Relación. Hay dos características que son importantes nombrar con respecto a Dia, la primera es la posibilidad de guardar el diagrama creado en un formato compatible con XML, esto nos permite portar nuestro diagrama a otras aplicaciones para modificarlo. La segunda, es que nos permite exportar nuestro diagrama a otros formatos gráficos. Figura 3 Interfaz de Dia Entidades y relaciones El modelo entidad-relación se define a través de entidades y relaciones: Entidad Las entidades representan cosas u objetos (ya sean reales o abstractos), que se diferencian claramente entre sí. Figura 4 Ejemplo de Entidades Práctica 03 Atributo Los atributos definen o identifican las características de entidad (es el contenido de esta entidad). Cada entidad contiene distintos atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos tipos (numéricos, texto, fecha…). Figura 5 Ejemplo de Atributos de Entidad Relación Es un vínculo que nos permite definir una dependencia entre varias entidades, es decir, nos permite exigir que varias entidades compartan ciertos atributos de forma indispensable. Figura 6 Ejemplo de Relación Cardinalidad Podemos encontrar distintos tipos de relaciones según como participen en ellas las entidades. Es decir, en el caso anterior cada empleado puede tener un cargo, pero un mismo cargo lo pueden compartir varios empleados. Esto complementa a las representaciones de las relaciones, mediante un intervalo en cada extremo de la relación que especifica cuantos objetos o cosas (de cada entidad) pueden intervenir en esa relación. Práctica 03 Uno a uno Una entidad se relaciona únicamente con otra y viceversa. Por ejemplo, si tuviésemos una entidad con distintos chasis y otra con matrículas deberíamos de determinar que cada chasis solo puede tener una matrícula (y cada matrícula un chasis, ni más en ningún caso). Figura 7 Ejemplo de Relación uno a uno Uno a n (varios) – N (varios) a uno. Determina que un registro de una entidad puede estar relacionado con varios de otra entidad, pero en la segunda entidad debe existir solo una vez. Como ha sido en el caso anterior del trabajador del taller. Figura 8 Ejemplo de Relación uno a n n (varios) – n (varios) Determina que una entidad puede relacionarse con otra con ninguno o varios registros y viceversa. Por ejemplo, en el taller un coche puede ser reparado por varios mecánicos distintos y esos mecánicos pueden reparar varios coches distintos. Figura 9 Ejemplo de relación n a n Práctica 03 Ejercicios Genere en “Dia” el diagrama entidad – relación del caso de uso para laboratorio. Obtenga los supuestos y análisis de requerimientos bajo los que se construyó el diagrama entidad – relación de la figura 10: Figura 10 Diagrama Entidad - Relación Con base en su experiencia: ¿El diagrama de la figura 10 es una buena solución? ¿Qué cambios le haría? Cree el nuevo diagrama siguiendo las mejoras sugeridas por usted. Genere un reporte ejecutivo en el que detalle el análisis de requerimientos y supuestos del diagrama de la figura 11. Deberán enviar sus archivos .pdf y .dia a ematla@ciencias.unam.mx cumpliendo con los lineamientos de entrega. Fecha de entrega: 2 de Septiembre del 2016, hora máxima: 23:59:59.