Uml 与ER和类图有关系吗?

Uml 与ER和类图有关系吗?,uml,entity-relationship,class-diagram,Uml,Entity Relationship,Class Diagram,我可以通过将中的实体转换为类来直接将ER图转换为类图吗? OO类图比ER图更抽象,具有更多的特性。ER图是OO图的一种实现 大多数独立表可以直接转换为具有相应属性的OO类 聚合表(仅包含FK的表)将映射到相应表/类之间的N-N关联 FKs映射到1-N和1-1关联 还可以查找表的某些模式及其键,以发现可能的继承 根据进一步的FK限制,还可以创建关联 互联网上有很多关于这方面的信息,比如谷歌“将面向对象的数据模型转换为关系数据模型” 有一些技术允许您几乎自动地在数据模型(如实体关系和OO类)之间

我可以通过将中的实体转换为类来直接将ER图转换为类图吗?

OO类图比ER图更抽象,具有更多的特性。ER图是OO图的一种实现

  • 大多数独立表可以直接转换为具有相应属性的OO类
  • 聚合表(仅包含FK的表)将映射到相应表/类之间的N-N关联
  • FKs映射到1-N和1-1关联
  • 还可以查找表的某些模式及其键,以发现可能的继承
  • 根据进一步的FK限制,还可以创建关联

互联网上有很多关于这方面的信息,比如谷歌“将面向对象的数据模型转换为关系数据模型”

有一些技术允许您几乎自动地在数据模型(如实体关系和OO类)之间进行转换,反之亦然。然而,如果你想要正确的结果,不要这样做。在数据建模方面,您有关系模型(用于关系数据库的设计)、ER模型(一种更丰富、更高级的添加语义的技术)或事件更好的方法,如NIAM和ORM。但面向对象分析是一个完全不同的世界,它有另一种思维方式,允许您创建非常复杂的模型。我喜欢将ER图和OO类图视为两种可选方法。因此如果您想将ER模型转换为OO模型,请重新考虑您的分析。要将关系数据库反向工程为OO类图,请确保手头有完整的逻辑/概念分析文档,因为在实现过程中会丢失大量信息。

顺便说一句:将OO类双重映射到实体到关系可能很诱人,因为有些工具支持这种快速而肮脏的方法,但我绝对不推荐这样做

对Aleks的答案有一点评论(我不能在那里评论,因为我对stackoverflow是新手,还没有足够的分数)。请记住,实体(ER)、关系(关系模型)和表是不同的东西。