miércoles, abril 19, 2006

Un Diagrama BD de Clases personalizado

Dentro de todo el análisis y diseño de base de datos que uno puede llegar a realizar en un momento dado para un sistema, uno de los principales documentos a elaborar es el "Diagrama de Base de Datos". Hace unos días discutía con un compañero casualmente por esto, porque según él estos documentos nada más se utilizan para ser presentados en la u como parte de un proyecto o asignación, al inicio yo también pensaba eso, sin embargo me he dado cuenta que este tipo de diagramas son de gran ayuda al momento de desarrollar un sistema, y más si éste está bien elaborado.

Inicialmente yo llamaba a este diagrama como "Entidad Relación", sin embargo mi compañero me refutaba que éste no era eso, no obstante, tampoco me decía qué diagrama era. En este artículo pienso aclarar dicha duda, y definir de una vez por todas qué es qué.

Dentro de la información que he recopilado hasta el momento, y comparando ésta con los diagramas que he estado elaborando, y que me han resultado de mucha utilidad, he encontrado que lo que estaba utilizando era una combinación de diagramas y metodologías de diversos autores, y en la búsqueda de llamar a estos diagramas de alguna forma, he llegado a la conclusión de que el nombre es lo que menos importa.

Dentro de la gama de diagramas UML hay uno en particular que he encontrado que se asemeja mucho a lo que he estado haciendo, llamado "Diagrama de Clases", aún así la teoría explica que el "Diagrama de Entidad Relación (E-R)" puede ser utilizado como extensión del primero para realizar un buen modelado de datos. ¿Por qué la combinación de éstos y no simplemente utilizar el primero?; respuesta: la semántica. Hay detalles de semántica de la bd que se quedan cortos con UML. De ser así, ¿por qué entonces no utilizar simplemente el "Diagrama de E-R"?, respuesta: porque éste es más conceptual que práctico.

Al momento de estar desarrollando una aplicación, de la mano con un diagrama de base de datos, quizás uno lo que quiera ver en éste es una buena representación de la base de datos tal y como está implementada con sus entidades y relaciones, de manera simplificada. Desde mi punto de vista un Diagrama E-R no es precisamente un diagrama simplificado que muestre esto, puesto que muestra más que las relaciones que existen entre las entidades, y dependiendo de cómo éstas sean, éste no será una representación gráfica práctica de la bd implementada. Más que todo, yo utilizaría este diagrama a nivel conceptual, y el de Clases, a nivel práctico.

3 comentarios:

Alfredo J. dijo...

Te has ganado con este último post un subscriptor a tu blog. Creo que solo te falto mencionar la importancia del uso de estos diagramas. Los diagramas de clase como tu dices, serán utilizados principalmente en la programación de cosas que no son necesariamente BD. Además, un diagrama E/R permite en muchos casos transmitir el concepto para ser aplicado con diferentes métodos en un nivel lógico. O sea, el mismo E/R podría ser utilizado para MySQL o T-SQL. Bueno tal vez tu puedas explicarlo mejor que yo. Casualmente estoy en mi segundo curso de BD en la Universidad y aprendiendo los detalles de esto...

ecs dijo...

Estás en lo correcto Alfredo. De hecho uno de los objetivos de este post es el de hacer ver que diagramas como este son de gran importancia al momento de desarrollar, llamémoslos, productos, puesto que son independientes a la plataforma con que se trabaja (y debe ser así) y son una guía para el desarrollador en todo momento, lo que suele suceder con frecuencia es que solemos dejar la fase de documentación y/o diagramado para finales, por cuestiones de tiempo y prontitud de entrega, cuando en realidad lo que trabajemos en esta fase es lo que nos va a ayudar a cumplir con nuestras fechas, entre otras cosas.

Anónimo dijo...

necesito resolver este ejercicio en modelo entidad relacion La secretaría del MERCOSUR desea diseñar un sistema de información sobre relaciones
comerciales y diplomáticas entre paises. Cada pais se identifica por su nombre,
mientras que de cada producto se conoce su nombre y una breve descripción.
a. Se desea modelar que:
•Un país puede tener relaciones diplomáticas con varios países, interesando
saber en qué fecha se establecieron.
•Cada país exporta y/o importa una serie de productos
b. Se desea modelar el flujo de productos de un país a otro. (por ej. : un país que
exporta un producto, ¿hacia dónde lo hace?)
Nota: Para esta parte no considerar las relaciones diplomáticas entre los países.