Nuestro team de trabajo ha estado largas horas buscando la solución a tus preguntas, te compartimos la respuesta y nuestro deseo es serte de mucha apoyo.
Solución:
Un diagrama de clases representa un sistema utilizando el modelo de objetos. Un diagrama de base de datos relacional representa un sistema de datos utilizando el modelo relacional. Existen diferencias significativas entre las formas en que estos dos modelos presentarán el mismo sistema. Y un modelo de datos no modela el comportamiento. Solo modela datos.
Sin embargo, existe un sistema de modelado que está a medio camino entre un diagrama de clases y un diagrama relacional. Se llama diagrama ER, donde ER es la abreviatura de Entidad-Relación. En el modelo ER, todo el tema se analiza en “entidades”, que pueden ser personas, lugares o cosas que tienen una identidad. Incluso pueden ser cosas intangibles, como una cuenta bancaria. Las relaciones involucran dos o más entidades, y sus afirmaciones sobre las relaciones que componen gran parte de los datos en una base de datos. Los valores de datos son instancias de attributes, y attributes describir entidades o relaciones entre entidades.
La mayoría de los diagramas ER que verá en SO son realmente diagramas relacionales disfrazados de diagramas ER. en un true Diagrama ER, extranjero keys no están presentes, las relaciones de muchos a muchos se pueden diagramar como una sola línea, y cosas como los patrones de especificaciones de generación se ven de la misma manera que en los diagramas de clase. De hecho, un diagrama ER puede verse como la proyección de un mundo de objetos solo en el mundo de los datos.
Si aprende el modelado ER como una actividad distinta del modelado relacional, lo que da como resultado un modelo diferente, le resultará bastante fácil transformar los diagramas de clase en diagramas ER.
A partir de ahí, transformar diagramas ER en diagramas relacionales es casi mecánico. Cada entidad obtiene una tabla, las relaciones de muchos a muchos obtienen su propia tabla. La herencia y la asociación reciben un trato especial, y así sucesivamente. Las relaciones que fueron tratadas como abstracciones en el mundo del modelado ER se materializan como extrañas keys. El primario key de cada tabla se hace evidente en términos de la key attributes de entidades en el modelo ER.
Y lo que se llamaban “attributes” en el modelo ER (posiblemente “propiedades” en el modelo de clase) se convierten en “columnas” en el modelo relacional.
hay algunas herramientas sofisticadas que administran modelos de objetos, modelos ER y modelos relacionales, todo en la misma herramienta, y pueden moverse entre estos modelos por usted. Uno de ellos, “Data Architect”, fue muy bueno pero muy caro hace unos años.
No estoy seguro de lo que quiere decir con un “diagrama de base de datos relacional”. Si hace referencia a un script SQL con las oraciones DDL para crear el esquema relacional para su modelo, entonces tal vez pueda ver cómo las herramientas hacen esta transformación (por ejemplo, consulte este generador de código UML a SQL en línea http://modeling-languages.com /content/uml2db-full-code-generation-sql-scripts-databases)
La mayoría de las reglas de transformación son sencillas (clase-> tabla, attribute ->columna, asociación ->extranjero key,…) pero puedes jugar con diagramas UML con clases de herencia y asociación y ver cómo se traduce esto.
Otra opción que uso es agregar estereotipos de base de datos en mi diagrama de clase. Genera una anotación de persistencia de Java en mi código. Finalmente genero mi código a partir de mi código Java con Hibernate.
¡¡Funciona muy bien!!
Sección de Reseñas y Valoraciones
Recuerda que puedes recomendar este tutorial si te valió la pena.