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

时间:2013-04-14 12:09:54

标签: database database-design uml entity-relationship

在实体关系图中显示触发器和存储过程是一个好主意吗?如果是,那么符号是什么?关于这一主题,信息似乎非常缺乏。此外,是否有任何UML图表用于表示触发器?

3 个答案:

答案 0 :(得分:3)

由于触发器是基于顺序的动作,我使用的是UML序列图而不是ERD。泳道将是基表,消息将是触发器触发。对于存储过程,如果存储过程以某个表为中心,则可以采用相同的方法。如果没有,可以使用协作图。

答案 1 :(得分:3)

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

答案 2 :(得分:2)

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

其他地方建议的UML事件序列(泳道)可能会更好,但是它仍然存在问题。箭头无法区分插入和删除,因此每个表必须有几个不同的图表(一个用于插入时发生的情况,一个用于删除时发生的情况,然后仍然存在更新的灰色区域)。我也不太确定泳道图表是否能够很好地记录其他(目标)表格究竟发生了什么。插入还是删除?哪一行完全正确?等等。