触发器和存储过程如何在ER图中表示?

7

在实体关系图中展示触发器和存储过程是一个好主意吗?如果是,它们的符号表示是什么?关于这个话题相关的信息似乎非常稀缺。此外,您是否有使用UML图来表示触发器的方法?

4个回答

3

由于触发器是基于顺序操作的,因此我使用了UML序列图而不是ERD。泳道将是基本表,消息将是触发器触发。对于存储过程,如果存储过程围绕特定表中心进行,则可以采用相同的方法。如果不是,则可以使用协作图。


有道理。它将是泳道图、活动图或序列图中的一个。 - David

3

正如Steve所说,您可以在动态图中表示触发器或存储过程的动态。但是对于触发器来说,如果您只想声明它们,您也可以将它们添加为用于表示相应表的类的操作。在这种情况下,您可能希望在这些操作上使用相关的构造型,例如<<trigger>>


2

ER图表从未旨在用于此目的,因此不太适合。

建议使用的UML事件序列(泳道)可能会更好一些,但我认为仍然存在问题。箭头无法区分插入和删除,因此您必须为每个表格准备几个不同的图表(一个用于插入时发生的情况,一个用于删除时发生的情况,然后仍然有更新的灰色区域)。我也不确定泳道图表是否允许很好地记录精确发生在其他(目标)表格上的事情。是插入还是删除?确切的行数是多少?等等。


0
实体关系图(ERD)的基本目标是展示数据库的结构,包括实体、关系和属性。触发器和存储过程通常被视为数据库技术的组成部分,而不是ERD主要表示的概念或逻辑设计。因此,ERD直接显示触发器和存储过程是不常见的。
然而,您可以通过向ERD添加注释或其他元数据来推断触发器和存储过程的存在。这些注释可能展示某些实体或关系与存储过程或触发器之间的联系。这有助于全面理解数据库实现的方式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接