【问题标题】:Can Lucidchart make Enhanced ER Diagram (EERD)? if Yes then how to model supertype, subtype and inheritance?Lucidchart 可以制作增强型 ER 图(EERD)吗?如果是,那么如何建模超类型、子类型和继承?
【发布时间】:2018-03-12 17:40:34
【问题描述】:

我开始使用 Lucidchart 为我的作业设计 erd。我更喜欢 lucidchart 的简单性。但是我的图表有一个扩展的关系,我在 Lucidchart 中找不到任何东西来说明这种关系。

我从 lucidchart https://www.lucidchart.com/pages/enhanced-entity-relationship-diagram 找到这篇文章。他们在这里提到了超类型、子类型,但没有提到如何在形状中做到这一点。

有没有使用lucidechart的高手???

enter image description here

【问题讨论】:

  • 你在创建什么风格的ERD?您是否正在使用 UML 样式将表格及其属性显示为图表中的单独块,它们之间有线条?或者您是否在每个表中使用一个块并将每个属性列为该块中的一行? Lucidchart 支持两者。根据 ERD 的风格,您的作业如何表示图表中的子/超类型关系?
  • 我正在为一种表格样式流动一个块。我刚刚添加了图表的照片。这是初始/第一个版本。将有另一个带有字段和键的版本。目前,我用圆形和箭头来说明它。但我所知道或教的与此略有不同。您可以通过此链接找到它:theneuroflux.files.wordpress.com/2013/03/subsuperrel.png

标签: database diagram erd supertype lucidchart


【解决方案1】:

看起来您正在寻找的内容在 Lucidchart 中并不原生提供,但您可以通过一些手动操作使其工作。

我将使用您在评论中添加的链接提出我的建议,该链接显示定义子类型关系的预期外观。

首先,将两个相关的表用一条线连接起来,并设置端点没有任何特殊的装饰。

其次,启用“流程图”形状库,并将“流程”块和“连接器”圆形块拖到画布上。

删除两个块中的文本。调整 Process 块的大小并将其放在 Connector 块的顶部,使其覆盖圆的上半部分。

将进程块的线条颜色设置为白色。请注意,现在您看到的只是一个半圆。

如果您现在选择这两个形状并右键单击它们,您将看到Group 它们的选项。这两个形状现在锁定在一起,可以作为一个单元移动。

现在您可以将半圆形拖到两个表格之间的直线上,然后手动将其放置在您想要的位置。如果您右键单击线条并选择Arrange -> Bring to Front,它将防止线条被您的两个形状的白色填充颜色遮挡。

现在您的线条有了半圆注释!同样,这个过程比 Lucidchart 支持这种特定的线条样式要手动得多,但它在紧要关头工作。您可以根据需要旋转或调整新半圆的大小以适合图表的任何部分。此外,如果您将半圆拖到左侧的形状工具栏到“拖放形状以保存”区域,您可以将半圆另存为自定义形状,您可以在以后的所有图表中使用该形状。

【讨论】:

  • 这个答案已经过时了。 Lucid Chart 可以通过ERDEERDs 绘制。
  • 对于 Union,我启用了“UML 组件”并使用“必需接口”而不是使用流程图流程和循环块。
【解决方案2】:

Lucidchart 是一种绘制图表的工具。 数据建模不仅仅是绘制图表。

我用object-role modeling tool called NORMA 制作了附图不到 30 分钟。这包括选择您可以在逻辑模型中看到的数据类型。 一旦我在 ORM 中制作了子类型图,不到一秒钟就生成了 ORM 子类型图右侧所示的逻辑关系图。 再点击几下鼠标,我就可以生成 DDL 并在 MySQL、SQL Server 和类似的 RDBMS 中创建数据库。

相比之下,尝试使用 Lucidchart 和 Visio 等绘图工具执行此操作需要更长的时间,但实现的效果却少得多。

这是 MySQL DDL,需要几秒钟才能生成。

创建表超类型 ( supertypeNr INT NOT NULL, superProperty1 DECIMAL(6,2) NOT NULL, superProperty2 日期时间不为空, supertypeName CHAR(63) NOT NULL, 约束 Supertype_PK PRIMARY KEY(supertypeNr) );

创建表子类型 1 ( subType1Nr INT NOT NULL, ST1Property1 BIGINT 非空, ST1Property2 FLOAT(23) 非空, 约束 SubType1_PK 主键(subType1Nr) );

创建表 SubType2 ( subType2Nr INT NOT NULL, ST2Property1 VARBINARY(65535) 非空, ST2Property2 BIT(1) 非空, 约束 SubType2_PK 主键(subType2Nr) );

ALTER TABLE SubType1 ADD CONSTRAINT SubType1_FK FOREIGN KEY (subType1Nr) REFERENCES Supertype (supertypeNr) ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE SubType2 ADD CONSTRAINT SubType2_FK FOREIGN KEY (subType2Nr) REFERENCES Supertype (supertypeNr) ON DELETE RESTRICT ON UPDATE RESTRICT;

【讨论】:

【解决方案3】:

听起来你想要的是 Lucidchart 中的 UML 实体关系 库,而不是常规的 实体关系 库:

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
  • 1970-01-01
  • 2019-01-08
  • 2019-02-15
相关资源
最近更新 更多