如何记录sql查询

如何记录sql查询,sql,documentation,uml,entity-relationship,Sql,Documentation,Uml,Entity Relationship,对于我的一个客户,我正在用一些表和一些查询记录一个现有的数据库 对于表,我使用E-R图来显示表和关系。我用DIA图表编辑器来做这件事 如何描述和可视化查询?是否存在某种UML对象来实现这一点 到目前为止,我已经创建了一个表,其中包含查询名称、它的功能描述以及查询本身检索到的数据的示例屏幕截图。我在Word中这样做。 我不喜欢这项工作的结果,还有更专业的吗 我不会安装新软件,只是知道数据库设计者必须如何完成这项任务 编辑1 正如@Serg所建议的,我可以使用视图,并将视图作为一个实体进行图解 如果

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

对于表,我使用E-R图来显示表和关系。我用DIA图表编辑器来做这件事

如何描述和可视化查询?是否存在某种UML对象来实现这一点

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

我不会安装新软件,只是知道数据库设计者必须如何完成这项任务

编辑1 正如@Serg所建议的,我可以使用视图,并将视图作为一个实体进行图解

如果我理解了以下内容:

客户机需要的是了解每个查询的数据来源

编辑2 我正在做如下的事情:

在哪里 司机表是一张桌子
驱动程序\u imp\u causali\u preparazione是一个查询
驾驶员查询riepilogo减贫战略文件是一个查询

我认为那不是一种卑鄙的做法!如何像处理实体和关系一样可视化设计sql查询?

Short summary 我看到2个基于规格的选项。这只是基于字面上的规范,而不是网络上的任何额外研究

  • 提供表示SQL查询的操作的模型类。呈现一个行为,将此操作描述为一个带有OpaqueBehavior类型的链接对象的原型类,该对象具有为属性body(SQL查询)和language('SQL')提供的值
  • 提供表示SQL查询的操作的模型类。提供一个链接到类的注释,其中包含对各自不透明行为(身体和语言)的描述
  • 我在规范中找到了另一种解决方案

  • 将SQL查询建模为操作。可以像通常一样在活动图(带圆角的矩形)中描述操作,并将SQL直接放在矩形内。该操作需要是活动图的一部分(即对使用此SQL的行为的描述)
  • 解释 您可以使用BehavioralFeature(例如操作)来定义某些SQL可用(应该是公开此操作的某个类),然后您可以定义一个包含主体(SQL语句)和语言('SQL')的描述OpaqueBehavior(方法)的方法

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

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

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


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

    您的客户需要关于查询的哪些信息?您可以创建一个视图
    create view as
    ,并将视图绘制为一个描述其列(数据类型、注释等)的实体。谢谢@Serg我已经更新了我的问题。为什么要使用UML?我看不到用UML记录SQL的用例。@ThomasKilian,因为我会用某种可视化语言(如UML)来展示它。老实说,这没有意义。仅仅因为你抽屉里有一把锤子,你就不会用它做任何事。在有意义的地方使用UML。注意——从技术上讲,这是对OP问题的回答,但我不会走这条路。最好将SQL放在文档的文本部分,或者仅在这个区域中记录代码中的代码(通过适当的注释)。