Как создать реляционную модель из модели классов UML? - PullRequest
4 голосов
/ 23 марта 2011

Кто-нибудь знает приложение (Enterprise Architect, ...), которое позволяет автоматически сопоставлять модель классов UML с реляционной моделью базы данных? Как?

Спасибо

Ответы [ 3 ]

12 голосов
/ 24 марта 2011

В дополнение к тому, что сказали другие, Enterprise Architect поддерживает преобразования моделей из моделей классов UML в реляционные модели баз данных.Это происходит автоматически.

Для этого щелкните правой кнопкой мыши на пакете, который содержит вашу модель класса, и выберите «Преобразовать текущий пакет» [Ctrl + Shift + H].Выберите DDL в качестве трансформации и дайте ему целевой пакет (нажав кнопку [...].

Как только вы нажмете кнопку «Перейти», Enterprise Architect выполнит перевод, который предоставит вам модель отношений.Теперь вы можете установить желаемый язык базы данных и использовать функцию генерации кода Enterprise Archtiect для генерации SQL-скриптов, необходимых для настройки БД.

Надеюсь, это поможет!

1 голос
/ 23 марта 2011

Если под реляционной моделью вы подразумеваете реальную модель, то некоторые инструменты (например, MagicDraw) предлагают профиль, который можно использовать для аннотирования диаграммы классов UML стереотипами, такими как <<pk>>, <<fk>>, <<table>> для представления реляционная модель.

Однако, если вам нужно создать сценарий SQL с таблицами, столбцами, ... соответствующими вашей диаграмме классов UML, то у вас есть много вариантов. Если ваш инструмент не включает эту опцию, вы можете попробовать этот онлайн-генератор UMLtoSQL (есть бесплатная опция для тестирования и изучения того, как выполняется преобразование): http://modeling -languages.com / content / uml2db-full -кода поколения-SQL-скрипты-базы данных

1 голос
/ 23 марта 2011

Enterprise Architect и множество других инструментов позволят вам генерировать DDL из UML-моделей. (Примечание: вам нужно выбрать версию, которая поддерживает «Database Engineering» - см. здесь для EA).

«Как» довольно просто. Классы становятся таблицами, атрибуты становятся столбцами, отношения становятся внешними ключами. Вы также можете обозначить другие свойства (например, первичный / уникальный ключ), используя стереотипы / ограничения. (Не могу вспомнить, это было давно).

Практически любой инструмент, поддерживающий дизайн базы данных, будет использовать тот же подход. Существуют различия на границах (например, некоторые инструменты поддерживают двустороннюю передачу, а некоторые - только генерацию). Но это в значительной степени та же история.

...