如何记录 sql 查询

How to document sql query

对于我的一个客户,我正在用一些 table 和一些查询来记录一个现有的数据库。

对于 tables,我使用 E-R 图来显示 tables 和关系。我正在使用 DIA Diagram Editor 来做到这一点。

如何描述和可视化查询?是否存在某种 UML 对象可以做到这一点?

到目前为止,我已经创建了一个 table,其中包含查询名称及其作用的描述以及查询本身检索到的数据的示例屏幕截图。我在 Word 中这样做。
我不喜欢这项工作的结果,有没有更专业的东西可以做到这一点?

我不会安装新软件,只知道数据库设计人员必须如何完成该任务。

编辑 1 正如@Serg 建议的那样,我可以使用 view 并将视图绘制成一个实体。

如果我理解如下:

客户需要的是了解每个查询的数据来自哪里。

编辑 2 我正在做类似以下的事情:

在哪里 driver_tabella_utenti 是一个 TABLE
driver_imp_causali_preparazione 是一个查询
driver_query_riepilogo_prsp 是一个查询

我认为这不是最好的练习!我如何可视化设计 sql 查询,就像处理实体和关系一样?

简短摘要

根据规格,我看到了 2 个选项。这仅基于字面上的规范,而不是网络上的任何其他研究。

  1. 模型 class 提供表示 SQL 查询的操作。呈现一种行为,将此操作描述为 class 构造型,带有 <> 和类型 OpaqueBehavior 的链接 object,并提供属性值 body(SQL 查询)和语言('SQL').
  2. 模型 class 提供表示 SQL 查询的操作。提供链接到 class 的注释,其中包含相应 OpaqueBehavior(body 和语言)
  3. 的描述

我在规范中找到了另一个解决方案

  1. 模型 SQL 查询作为操作。该动作可以像通常在 activity 图表(带圆角的矩形)中描述,并将 SQL 直接放在矩形内部。该操作需要是 activity 图的一部分(这是对使用此 SQL 的行为的描述)。

说明

您可以使用 BehavioralFeature(例如 Operation)来定义有 some SQL 可用(应该是公开此操作的 class ) 然后你可以定义一个方法来描述包含 body (SQL 语句) 和语言 ('SQL').

的 OpaqueBehavior (方法)

由于规范未提供有关符号的任何信息,您可以将其指定为将方法表示为 object(这是 OpaqueBehavior 的特定实例)或使用注释。在这两种情况下,它都应该链接到相应的 object,描述 SQL 语句提供的行为(例如 activity)。

参见 UML 规范的 13.2.3.3。下面只是描述这个区域的图表。

根据进一步研究编辑: UML 规范从字面上描述了您在第 16.2 节中的情况(作为 OpaqueAction)。第 16.2.5.1 节中的示例图 16.8 正是我描述为第三种可能答案的情况。

但是请注意(正如评论中已经提到的)UML 并不总是最合适的解决方案。虽然我强烈建议使用 UML 对系统建模,但 SQL 代码本身应该是文本文档的一部分,应该与 UML 图一起创建。它将受益于更清晰、搜索的可能性、copy-paste 代码的可能性等。此外,如果您的查询超过 2-3 行,它甚至可能很难注意到它仍然是 UML 图的一部分.