2011-03-04 64 views
8

您可以给我一个教程或一本书来将类图转换为关系数据库图。 反之亦然,如果存在此类参考,请发布。从类图到数据库关系图

+0

为什么?有两张同样的照片的目的是什么? – sqlvogel 2011-03-05 15:19:17

+0

@sqlvogel大学作业,也许? – 2016-04-27 01:22:34

回答

3

类图表示使用对象模型的系统。关系数据库图表示使用关系模型的数据系统。这两种模式呈现相同系统的方式存在显着差异。而数据模型不会对行为建模。它只模拟数据。

有,然而,一个模拟系统,它是那种中途类图和关系图之间。它被称为E-R图,其中E-R是实体关系的简称。在E-R模型中,整个主题被分析为“实体”,可以是个人,地方或具有身份的事物。它们甚至可以是无形的东西,比如银行账户。关系涉及两个或两个以上的实体,以及关于构成数据库中大部分数据的关系的断言。数据值是属性的实例,属性描述实体之间的实体或关系。

大多数ER图,你会在故见的是真正的关系图伪装成ER图。在一个真正的ER图中,外键不存在,多对多关系可以用单线图表示,gen-spec模式看起来和他们在类图中所做的相同。如果事实上,ER图可以被看作是物体世界仅仅投影到数据世界上。

如果你将学习ER建模从关系建模成不同的活动,产生了不同的模型,你会发现它很容易的类图转化为ER图。

从那里,转化ER图转换成关系图几乎是机械的。每个实体都得到一张桌子,多对多的关系得到他们自己的桌子。继承和结社得到特殊待遇,等等。被视为ER模型世界中抽象的关系成为外键。根据ER模型中实体的关键属性,每个表的主键变得明显。

ER模型中的所谓“属性”(可能是类模型中的“属性”)在关系模型中成为“列”。

还有一些管理对象模型,ER模型和关系模型都使用相同的工具一些花哨的工具,并且可以在这些模型之间移动的为您服务。其中之一,“数据架构师”非常好,但几年前非常昂贵。

3

不确定您的意思是“关系数据库关系图”。如果你指的是SQL脚本的DDL语句来创建关系模式的模型,那么也许你可以看到工具是如何做到这一点转化(例如检查这个网上UML到SQL代码生成http://modeling-languages.com/content/uml2db-full-code-generation-sql-scripts-databases

大多数转换规则很简单(class-> table,attribute - > column,association - > foreign key,...),但是您可以使用带有继承和关联类的UML图来玩,并看看它是如何转换的。

2

,我用另一种选择是在我的类图中添加数据库定型。它在我的代码中生成Java持久性注释。最后,我使用Hibernate从Java代码生成我的代码。

它工作得很好!

1

使用Enterprise Architect您可以使用其MDA(模型驱动架构)转换自动生成您的类模型到关系数据库模型中。这为您节省了不得不手工再次完成所有图表的工作。在MDA Transformations