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

如何从UML类模型生成关系模型?,uml,relational-database,enterprise-architect,relational-model,Uml,Relational Database,Enterprise Architect,Relational Model,有人知道一个应用程序(企业架构师,…)可以自动从UML类模型映射到数据库关系模型吗?怎么做 感谢企业架构师和无数其他工具将允许您从UML模型生成DDL。(注意:您需要选择一个支持“数据库工程”的版本-请参见EA) “如何”很简单。类变成表,属性变成列,关系变成外键。您也可以使用原型/约束来表示其他属性(例如主键/唯一键)。(不太记得了,已经有一段时间了) 几乎所有支持数据库设计的工具都将使用相同的方法。边缘存在差异(例如,一些工具支持往返,一些工具仅支持生成)。但是基本上都是一样的。如果关系模型

有人知道一个应用程序(企业架构师,…)可以自动从UML类模型映射到数据库关系模型吗?怎么做


感谢企业架构师和无数其他工具将允许您从UML模型生成DDL。(注意:您需要选择一个支持“数据库工程”的版本-请参见EA)

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


几乎所有支持数据库设计的工具都将使用相同的方法。边缘存在差异(例如,一些工具支持往返,一些工具仅支持生成)。但是基本上都是一样的。

如果关系模型指的是真实的模型,那么一些工具(比如MagicDraw)提供了一个概要文件,可以用原型来注释UML类图,比如
,来表示关系模型


然而,若您正在寻找的是生成一个包含表、列、,。。。与您的UML类图相对应,那么您有很多选择。如果您的工具不包含此选项,您可以尝试此在线UMLtoSQL生成器(有一个免费选项用于进行测试和了解转换是如何完成的):

进一步了解其他人所说的,从UML类模型到数据库关系模型的支持。它会自动执行此操作

为此,右键单击包含类模型的包并选择“Transform Current package”[Ctrl+Shift+H]。选择DDL作为转换,并给它一个目标包(通过单击[…]按钮)

点击go按钮后,Enterprise Architect将执行转换,这将为您提供关系模型。您现在可以设置所需的数据库语言,并使用Enterprise Archtiect的代码生成功能生成设置数据库所需的SQL脚本


我希望这会有所帮助!

并非每个类都需要是关系。@overexchange:true。并非所有类都会有需要持久化的数据(成员)。事实上,有一个很好的论据认为映射类->表(关系)从根本上是不正确的。不过,它仍然是目前最常用的方法。