对于我的一个客户,我正在记录一个包含一些表和一些查询的现有数据库。
对于表,我使用 E-R 图来显示表和关系。我正在使用 DIA 图编辑器来完成此操作。
如何描述和可视化查询?是否存在某种 UML 对象可以做到这一点?
到目前为止,我已经创建了一个表,其中包含查询名称、其功能的描述以及查询本身检索的数据的示例屏幕截图。我正在 Word 中执行此操作。
我不喜欢这项工作的结果,是否有更专业的东西可以做到这一点?
我不会安装新软件,只是知道数据库设计者必须如何完成该任务。
编辑1 正如@Serg 建议的那样,我可以使用 View 并将 View 作为实体进行图表化。
如果我理解了类似的内容:
客户需要的是了解每个查询的数据来自哪里。
编辑2 我正在做类似以下的事情:
哪里
driver_tabella_utenti 是一个表
driver_imp_causali_preparazione 是一个查询
driver_query_riepilogo_prsp 是一个查询
我认为这不是最糟糕的做法!如何像处理实体和关系一样可视化设计 SQL 查询?
最佳答案
简短摘要
我看到基于规范的 2 个选项。这仅基于字面上的规范,而不是网络上的任何其他研究。
- 模型类提供表示 SQL 查询功能的操作。将此操作描述为一个使用 <> 构造型的类,并具有 OpaqueBehavior 类型的链接对象,并提供属性主体(SQL 查询)和语言(“SQL”)的值。
- 模型类提供表示 SQL 查询功能的操作。提供链接到包含相应不透明行为(正文和语言)描述的类的注释
我在规范中找到了另一个解决方案
- 将 SQL 查询建模为操作。该操作可以像通常在事件图(带圆角的矩形)中一样进行描述,并将 SQL 直接放在矩形内。该操作需要成为事件图的一部分(即使用此 SQL 的行为的描述)。
说明
您可以使用BehavioralFeature(例如操作)来定义一些 SQL可用(它应该是公开此操作的某个类),然后您可以定义一个描述OpaqueBehavior的方法(方法)包含正文(SQL 语句)和语言(“SQL”)。
由于规范没有提供有关符号的任何信息,您可以将其指定为将方法表示为对象(这是 OpaqueBehavior 的特定实例)或使用注释。在这两种情况下,它都应该链接到描述 SQL 语句本身提供的行为(例如事件)的相应对象。
参见 UML 规范的 13.2.3.3。下面是描述该区域的图表。
根据进一步研究的结果进行编辑: UML 规范在第 16.2 节中逐字描述了您的情况(作为 OpaqueAction)。第 16.2.5.1 节中的示例图 16.8 正是我作为第三个可能答案描述的情况。
但是请注意(正如评论中已经提到的)UML 并不总是最合适的解决方案。虽然我强烈建议使用 UML 对系统进行建模,但 SQL 代码本身应该是文本文档的一部分,应该与 UML 图一起创建。它将受益于更清晰、搜索的可能性、复制粘贴代码的可能性等。此外,如果您的查询超过 2-3 行短行,甚至可能很难注意到它仍然是 UML 图的一部分。
关于sql - 如何记录sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37742478/