¿Puede recomendarme un tutorial o un libro para transformar un diagrama de clases en un diagrama de base de datos relacional? y viceversa, si tal referencia existe, por favor publíquela.del diagrama de clases al diagrama relacional de la base de datos
Respuesta
Un diagrama de clase representa un sistema que utiliza el modelo de objetos. Un diagrama de base de datos relacional representa un sistema de datos que usa 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.
Hay, sin embargo, un sistema de modelado que está a medio camino entre un diagrama de clases y un diagrama relacional. Se llama un diagrama E-R, donde E-R es la abreviatura de Entidad-Relación. En el modelo E-R, 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 atributos y los atributos describen entidades o relaciones entre entidades.
La mayoría de los diagramas E-R que verá en SO son realmente diagramas relacionales que se hacen pasar por diagramas ER. En un verdadero diagrama de RE, las claves externas no están presentes, las relaciones de muchos a muchos se pueden diagramar como una sola línea, y las cosas como los patrones de especificación gen se ven de forma muy similar a como lo hacen en los diagramas de clase. De hecho, un diagrama ER puede verse como la proyección de un mundo de objetos en el mundo de los datos solamente.
Si aprende a modelar ER como una actividad distinta del modelado relacional, resultando en un modelo diferente, le resultará bastante fácil transformar diagramas de clases en diagramas ER.
A partir de ahí, la transformación de los diagramas ER en diagramas relacionales es casi mecánica. Cada entidad obtiene una tabla, las relaciones de muchos a muchos obtienen su propia tabla. La herencia y la asociación reciben un tratamiento especial, y así sucesivamente. Las relaciones que fueron tratadas como abstracciones en el mundo del modelado ER se materializan como claves foráneas. La clave principal de cada tabla se vuelve obvia en términos de los atributos clave de las entidades en el modelo ER.
Y lo que se llamó "atributos" 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, todos 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 se refiere a un script SQL con las sentencias 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ódigos 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 simples (clase-> tabla, atributo-> columna, asociación-> clave externa, ...) pero puede jugar con diagramas UML con clases de herencia y asociación y ver cómo se traduce.
Otra opción que uso es agregar estereotipos a la base de datos en mi diagrama de clases. Genera una anotación de persistencia de Java en mi código. Finalmente genero mi código de mi código de Java con Hibernate.
¡Funciona muy bien!
Usando Enterprise Architect puede generar automáticamente sus modales de Clase en modelos de bases de datos relacionales usando sus Transformaciones MDA (Model Driven Architecture). Esto le ahorra el trabajo de tener que volver a hacer todos los diagramas de nuevo a mano.
Más información sobre MDA Transformations
Hay un excelente artículo que explica esta transformación: Database Modelling in UML
- 1. Obtener diagrama UML de la base de datos relacional
- 2. diagrama de clases comprensión
- 3. Diagrama de clases en Eclipse
- 4. Simplifique el diagrama/esquema ER de la base de datos
- 5. Cómo extraer datos del diagrama de matplotlib
- 6. Auto Generar Diagrama de Base de Datos MySQL
- 7. Ejemplos del diagrama de clases para RPG (Juego de roles)
- 8. cómo imprimir el diagrama de base de datos sql
- 9. Añadir el diagrama de la base de datos al control de origen?
- 10. Crear un diagrama de clases para la aplicación de iPhone
- 11. Esquema - Creador del diagrama mongodb
- 12. Código de C++ al diagrama de clase
- 13. ¿Crear diagrama de clases desde la fuente de C++?
- 14. flechas del diagrama polar ggplot2
- 15. Herramientas para generar un diagrama de base de datos/diagrama de ER a partir de la base de datos Oracle existente?
- 16. Actualizar un diagrama DBML?
- 17. Diagrama de flujo/diagrama de flujo de JavaScript lib
- 18. diagrama de red/diagrama de flujo en JQuery
- 19. UML composición diagrama de clases con la clase jerarquías
- 20. Diagrama de dispersión con datos escalares
- 21. generando diagrama de clase
- 22. Los objetos de soporte del diagrama de base de datos no se pueden instalar
- 23. ¿Dónde puedo encontrar el diagrama de clases de .NET Framework?
- 24. Agregar etiquetas al diagrama de acordes D3
- 25. Diagrama de secuencia UML
- 26. Cambiar Propietario del Diagrama de Base de Datos en SQL Server 2005
- 27. Carpeta Diagrama perdido en el Explorador de la base de datos en Visual Studio 2012
- 28. Herramienta de diseño de diagrama de MongoDB
- 29. aplicación genere Java diagrama de jerarquía de clases
- 30. Enterprise Architect: ¿Ocultar etiquetas de claves externas en el diagrama de la base de datos?
¿Por qué? ¿Cuál es el propósito de tener dos imágenes de la misma cosa? – sqlvogel
@sqlvogel ¿Tarea para la universidad, quizás? –