我正在研究一种工具,它允许用户以用户友好的方式执行查询数据库以提取数据和创建报告。
主要要求是我们无法知道用户将要执行的查询。因此,我们需要设计一个灵活的UI,允许它们以非技术方式指定。
我的问题是:你知道任何类似的工具吗?你有一些鼓舞人心的用户界面吗?
答案 0 :(得分:2)
为了获得灵感,我知道有五种既定的方法:
属性列表。对于给定的表,您(设计者)提供用户指定查询属性值的所有属性的列表。有时用户还指定运算符(例如,Like,<,>等);否则它由你修复,具体取决于数据类型(字符串使用Like,数字和日期属性使用范围)。属性之间的所有标准由逻辑AND组合。如果允许用户列出单个属性的值,则它们将通过逻辑OR连接。用户通常假设空白属性值意味着该属性未包括在标准中。通常,您指定可能对用户主要感兴趣的表并硬连接联接。由于表,连接和布尔可能性是固定的,因此它具有有限的临时灵活性,但在大多数情况下,这是绰绰有余的。这是最常见的方法。
按示例查询。用户选择他们想要查询的表,并提供包含所连接表的所有属性的空多记录表单(例如,网格);也就是说,一个空的查询结果(在某些情况下,用户也会选择要显示的属性)。用户完成属性值,就好像它们是示例记录一样,其中假定空白属性发生变化。因此,如果为同一记录输入优先级和状态值,则它们的属性由逻辑AND组合。如果它们在不同的记录中输入,则它们由逻辑OR组合。在一些情况下,用户还可以为每个属性指定运算符(例如,指定值的范围)。这提供了非常高的灵活性,对用户来说似乎相对直观。
图表式查询。 Tiziana Cararci的Query by Diagram方法允许用户通过图形操作实体关系图来指定复杂的Joins和Boolean。有关详细信息,请访问Google:
Catarci T& Santucci G(1995)。图解与文本查询语言:比较实验。 IFIP工作组的会议记录。 2.6视觉数据库工作会议,(3月)。
Catarci T,Costabile M F,Levialdi S,& Batini C.(1997)。可视化查询系统:分析与比较。 Journal of Visual Languages and Computing,8(2),215-260,(June)。
图形过滤查询。 Ben Shneiderman的Filter Flow方法允许用户通过构建运算符和标准的可视网络来指定复杂的布尔值,利用管道或电子隐喻。谷歌:
Shneiderman B(1991)。用于信息探索的可视化用户界面。继续参加美国信息科学学会第54届年会,28(华盛顿特区,10月)。
Murray NS,Paton NW,Goble CA,Bryce J(2000)。 Kaleidoquery:基于流的视觉语言及其评估。视觉语言杂志&计算,11(2),151-189(四月)。
自然语言查询尝试将自然语言或半自然语言解析为结构化查询已经付出了很多努力,但它没有取得多大成功,部分原因在于自然语言的模糊性(例如,“分配给英国和爱尔兰的所有销售人员的佣金收入”,“和”可以被解释为逻辑OR或AND)。您可以尝试返回多个结果(每个解释一个)供用户选择(有点像Google)。对于不熟练的用户而言,这种方法可能就足够了,而且只要足够而不是完全正确的结果就足够了。
答案 1 :(得分:1)
许多现代Web开发框架允许您从您的daabases制作支架。这是包含crud操作的简单网页。您可以在其中搜索和浏览相关记录。
我个人已经看到Linq2SQL for asp和Ruby on rails就是这么做的。还有更多
答案 2 :(得分:1)
“用户友好”和“非技术方式”听起来像Ad-Hoc报告。在这种情况下,您可以查看此Ad-Hoc reporting demo。但是还有许多其他的Ad-Hoc报告工具。