Sql 维护面向查询的应用程序

Sql 维护面向查询的应用程序,sql,mysql,database,data-mining,Sql,Mysql,Database,Data Mining,我目前正在做某种报告系统。这些数字、表格、图表都是基于查询的结果。不知何故,我发现复杂的查询不容易维护,尤其是在有大量过滤的情况下。这使得查询很长,不容易理解。此外,有时会执行具有类似筛选器的查询,从而产生大量冗余代码,例如,当我要在“2010-03-10”和“2010-03-15”之间选择某个对象,并且位置为“US”,客户群为“ZZ”时,每次在此范围内进行查询时,我都需要重写这些条件。dbms(在我的例子中是mysql)是否支持任何“作用域/上下文”,以使编码更易于维护,速度更快 此外,是否有

我目前正在做某种报告系统。这些数字、表格、图表都是基于查询的结果。不知何故,我发现复杂的查询不容易维护,尤其是在有大量过滤的情况下。这使得查询很长,不容易理解。此外,有时会执行具有类似筛选器的查询,从而产生大量冗余代码,例如,当我要在“2010-03-10”和“2010-03-15”之间选择某个对象,并且位置为“US”,客户群为“ZZ”时,每次在此范围内进行查询时,我都需要重写这些条件。dbms(在我的例子中是mysql)是否支持任何“作用域/上下文”,以使编码更易于维护,速度更快

此外,是否有设计此类应用程序的行业标准或最佳实践? 我想我所做的就是所谓的数据挖掘,对吗

  • 了解如何创建视图以消除查询中的冗余代码

  • 不,这不是数据挖掘,这是简单的旧报告。有时称为“决策支持”。信息技术的面包和黄油。归根结底,播放旧的报告是我们编写软件的原因。有人需要信息来做出决定和采取行动

    数据挖掘有点专业化,因为关系还不容易定义。有人试图发现这些关系,这样他们就可以编写一个适当的查询来利用他们发现的关系

  • 了解如何创建视图以消除查询中的冗余代码

  • 不,这不是数据挖掘,这是简单的旧报告。有时称为“决策支持”。信息技术的面包和黄油。归根结底,播放旧的报告是我们编写软件的原因。有人需要信息来做出决定和采取行动

    数据挖掘有点专业化,因为关系还不容易定义。有人试图发现这些关系,这样他们就可以编写一个适当的查询来利用他们发现的关系


  • 如果您手工编写查询代码,那么您将不会成为一个非常灵活的报告工具。每当一个需求发生变化,你都会绞尽脑汁地编写精巧的代码,试图满足它——这种方式就是疯狂

    相反,您应该开始考虑在查询基础结构之上的元层,并根据用户表示的条件生成sql。您可以向他们展示一组选项,从中可以生成查询。如果您考虑一下如何使这些选择具有可扩展性,那么您将很好地走上已经存在的许多BI和报告产品的道路

    您可能还希望开始寻找已经实现这一点的基础架构,例如(被业务对象吞没,被SAP吞没)或Eclipse的。根据您是在进行编程练习还是在解决用户的报告问题,您可能只想获得一个现成的产品,它已经有了数万人年的开发,例如上面的产品,甚至(被IBM吞并)或(被Oracle吞并)


    祝你好运。

    如果你手工编写查询代码,你就不会成为一个非常灵活的报告工具。每当一个需求发生变化,你都会绞尽脑汁地编写精巧的代码,试图满足它——这种方式就是疯狂

    相反,您应该开始考虑在查询基础结构之上的元层,并根据用户表示的条件生成sql。您可以向他们展示一组选项,从中可以生成查询。如果您考虑一下如何使这些选择具有可扩展性,那么您将很好地走上已经存在的许多BI和报告产品的道路

    您可能还希望开始寻找已经实现这一点的基础架构,例如(被业务对象吞没,被SAP吞没)或Eclipse的。根据您是在进行编程练习还是在解决用户的报告问题,您可能只想获得一个现成的产品,它已经有了数万人年的开发,例如上面的产品,甚至(被IBM吞并)或(被Oracle吞并)

    祝你好运