与draw.io的实体关系图
实体关系图(ERD)或ER模型代表任何系统中的数据。您可以使用它们来说明业务流程中数据的结构,或详细说明关系数据库中数据的存储方式。ER图不一定显示数据的处理方式或经过的确切过程,而是数据实体的结构和相互关系。
软件开发人员可能更熟悉UML图,特别是类图,它们是为支持面向对象编程而明确设计的,包括诸如继承,封装和子键入之类的功能。您可以将ER图视为类图的简化形式–并且它们可能使数据库设计团队成员在构建复杂的面向对象程序时更易于使用。
实体关系模型中有什么?
ER图有几种表示法,但最常见的是Chen和Crow的脚部表示法。
有两种主要样式-一种看起来更像流程图,另一种看起来更像UML类图。可能更容易看到第二种样式表示的实际数据库。
具有表示关系的形状的实体关系图。
具有不同样式的同一图–实体内部列出了属性。
实体关系符号
ERD中包含三个组件:
属性
组成实体的数据的各个位。在第一种图表样式中,它们绘制为围绕其实体浮动的圆圈。在第二种样式中,类似于UML类图,它们在矩形内列出。
如果使用属性标识实体,则该属性为主键并带有下划线。如果它引用另一个实体的标识属性,则它是一个外键并以斜体表示。
如果您实际上不是在存储属性,而是从其他属性进行计算,则它是派生的属性,并且具有虚线轮廓。
人际关系
这些显示了实体之间的关系-它们可以用菱形表示,也可以用文本形式写在两个实体之间的连接器上。
在第一种样式图中,您可以看到User和Coach都写了注释,并且User可以执行习惯签到,这两种“动作”在第二种样式图中根本没有表示,它仅表示数据,没有任何互动。
关系连接器使用Crow的脚注来显示每个实体与另一个实体有多少关联。例如,在“习惯跟踪器”应用中–一名教练可以有0到许多用户,而一个用户只能有0或1个教练。用户可能有很多习惯,每个习惯可能属于许多用户。
提示:将鼠标悬停在实体关系库中的每个形状上可以查看其类型。
实体
这些表示一个数据集合,使用一个具有“垂悬”属性的矩形或一个包含其属性列表的框。
例如,实体Student可以包括属性StudentID,名称,地址,课程,主题,标记。此示例之后的第二个实体是“课程”,其中包括属性“教授”,“已注册学生”列表以及该课程包含的主题。等等。
使用我在以前的帖子中使用过的HabitTracker示例,这些实体是:用户,教练,习惯,签到和评论。
- 一个弱实体(显示为双矩形),因为它不具有它自己独特的钥匙-它只存在于有关其所属实体。
- 一个关联实体(更容易在第二类型的图表看),显示有虚线轮廓和连接器-需要这种类型的实体,无论你有很多一对多的关系。要以第一种样式图创建关联实体,请添加实体形状和关系形状,并将这两个形状组合在一起。
在draw.io中创建实体关系图
首先,您需要启用“实体关系”形状库:单击形状库底部的“更多形状”,在对话框的“软件”部分下,启用“实体关系”,然后单击“应用”。
对于属性,请使用“常规”形状库中的圆形。
连接形状以显示关系
您可以将连接器从“实体关系”形状库中拖放到绘图区域上,然后将其连接到形状,或者复制形状–单击鼠标悬停在未选择的形状上时出现的蓝色箭头以自动复制它连接两个。然后,可以使用格式面板的“样式”选项卡中的下拉列表选择连接器并更改开始和结束连接器的样式。
使用draw.io创建ER图时
使用滑动连接器:在绘制用于关系的连接器时,请确保将鼠标悬停在该形状上,直到轮廓变为蓝色–请勿将其连接到连接点之一。这样,当您在周围拖动形状以腾出空间时,连接器将“滑动”或“浮动”到正确的位置。
使用模板形状:使用便签本来存储形状组,这样就不必从头开始构建每个形状。如果要创建第二种样式的ER图,则可以存储一个“模板”,其中包含通常需要的属性的“行”数。有关如何在draw.io中使用便笺簿以快速轻松地创建ER图的更多详细说明,请参见此较早的帖子。
导出到文本:是否要创建实体及其属性和键的文本列表?使用draw.io文本插件并将其导出到文本文件。这与第二种图表样式更好地配合。
向实体添加额外的属性:有时,您的实体形状没有足够的空间来容纳所需的所有属性。最简单的方法是复制现有的属性行。选择一个现有行,然后按CTRL + Enter (或 在MacOS上为CMD + Enter)将其复制。您也可以右键单击行形状,选择重复项,然后编辑文本。当然,您也可以将新的属性行从形状库中拖放到实体形状中。
通过选择属性行,然后按Enter键来编辑它。完成后,按CTRL + Enter(CMD + Enter)退出文本编辑。使用箭头键移动到下一个实体,或通过按CTRL + Enter (或 在MacOS上为CMD + Enter)来复制它 。
为图表使用多个页面: 您不必将所有内容都放在一页上。在draw.io中为每个子图提供自己的页面,并在形状中添加指向其页面的链接,以帮助读者浏览您的图:右键单击形状,选择“编辑链接”,从第二个下拉列表中选择适当的页面,然后单击“应用”。
展开或折叠实体:某些实体具有许多属性。为了简化图表,您可以展开或折叠实体-单击实体标题左上方的减号或加号图标。连接器将自动重新路由。
从文本文件插入实体:您直接从SQL代码中插入实体–单击“排列”,然后单击“插入”,然后从“文本”。在对话框中,从下拉列表中选择“表”。您将看到示例代码–粘贴到SQL中,然后点击插入。