如何从UML类模型生成关系模型?

5

有没有一款应用程序(企业架构师等),可以自动将UML类模型映射到数据库关系模型?如何实现?

谢谢。

3个回答

13

除了其他人所说的,企业架构师支持从UML类模型到数据库关系模型的模型转换。它会自动完成此操作。

要执行此操作,请右键单击包含您的类模型的包,并选择“转换当前包”[Ctrl + Shift + H]。选择DDL作为转换方式,并通过单击[...]按钮来指定目标包。

一旦点击“Go”按钮,Enterprise Architect将执行翻译并生成关系模型。现在,您可以设置所需的数据库语言,并使用Enterprise Archtiect的代码生成功能生成设置DB所需的SQL脚本。

希望这可以帮助您!


1

Enterprise Architect和其他众多工具可以让您从UML模型生成DDL。(注意:您需要选择支持“数据库工程”的版本-请参见此处以获取EA)。

“如何”非常简单。类变成表,属性变成列,关系变成外键。您还可以使用构造型/约束来表示其他属性(例如主/唯一键)。 (记不太清了,已经有一段时间了)。

几乎任何支持数据库设计的工具都会使用相同的方法。在边缘处存在差异(例如,某些工具支持往返,而某些仅支持生成)。但基本上是相同的故事。


并不是每个类都需要成为一个关系。 - overexchange
@overexchange: true。并非所有类都有需要持久化的数据(成员)。实际上,有一个很好的论点认为将类映射到表(关系)是基本上不正确的。然而,这仍然是迄今为止最常见的方法。 - sfinnie

1

如果你所说的关系模型是真实模型,那么一些工具(如MagicDraw)提供了一个配置文件,可以用来在UML类图中注释带有<>、<>、<>等类型的构造型,以表示关系模型。

然而,如果你想生成一个SQL脚本,其中包含与你的UML类图对应的表、列等内容,那么你有很多选择。如果你的工具没有包括这个选项,你可以尝试使用这个在线UMLtoSQL生成器(有一个免费选项可供测试和学习转换的方法):http://modeling-languages.com/content/uml2db-full-code-generation-sql-scripts-databases


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接