如何记录sql查询

时间:2016-06-10 07:34:27

标签: sql documentation uml entity-relationship

对于我的客户,我正在记录一个包含几个表和一些查询的现有数据库。

对于表格,我使用E-R Diagram来显示表格和关系。我是用DIA Diagram Editor做的。

如何描述和可视化查询?有没有某种UML对象可以做到这一点?

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

我不会安装新软件只知道数据库设计师必须完成这项任务。

编辑1 正如@Serg建议的那样,我可以使用视图并将视图作为实体进行绘制。

如果我理解的话:

enter image description here

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

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

enter image description here

其中 driver_tabella_utenti是一个表
driver_imp_causali_preparazione是一个QUERY
driver_query_riepilogo_prsp是一个QUERY

我认为这不是麻烦的做法!我如何像实体和关系一样直观地设计SQL查询?

1 个答案:

答案 0 :(得分:1)

简短摘要

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

  1. 提供表示SQL查询功能的操作的模型类。将描述此操作的行为呈现为使用<>定型的类。以及OpaqueBehavior类型的链接对象,其中提供了属性主体(SQL查询)和语言(' SQL')的值。
  2. 提供表示SQL查询功能的操作的模型类。提供链接到包含相应OpaqueBehavior(正文和语言)
  3. 描述的类的注释

    我在规范

    中找到了另一个解决方案
    1. 将SQL查询建模为操作。动作可以通常在活动图(圆角矩形)中描绘,并将SQL直接放在矩形内。该操作需要是活动图的一部分(这是对使用此SQL的行为的描述)。
    2. 说明

      您可以使用BehavioralFeature(例如Operation)来定义某些 SQL可用(它可能是某个暴露此操作的类)然后您可以定义一个描述OpaqueBehavior的方法(方法) )包含body(SQL语句)和语言(' SQL')。

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

      参见UML Sepcification的13.2.3.3。以下是描述该区域的图表。 enter image description here

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

      Opaque Action example from Specification

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