Re: suggestions for good graphical DB query builder
Date: Thu, 27 Sep 2007 07:57:15 -0700
Message-ID: <1190905026.320127_at_bubbleator.drizzle.com>
Martijn Tonies wrote:
>>> We're doing a product comparison for graphical query builders. Would
>>> appreciate
>>> your input on what you like (or don't).
>>>
>>> We're an Oracle shop, but we need connectivity w/ any ODBC compliant
>>> DB.
>>> Also need query result export options (esp Excel), pivot capability,
>>> printable results,
>>> Windows compliant.
>>>
>>> We don't need write capability, and if the tool has it, we need
>>> to be able to turn it off. DB Admin tools not needed.
>>>
>>> I've heard great things about AQT (Advanced Query Tool)... comments?
>>>
>>> Thanks,
>>> Carol
>> I think all of the tools are bad. They produce simplistic queries,
>> poorly tuned, and hide from the end-user the information required
>> to do the job well.
>>
>> Better to invest the money in good training than in a dumb-as-dirt
>> GUI.
> > Although I do agree with you that an understanding of SQL helps > you to write proper queries, your opinion about tools producing > simplistic queries is a bit over the top, in my opinion. > > There are tools available that allow you to use derived tables, > sub-selects, multiple unions, complex multi joins etc etc. It's not > all "select * from ... " :-)
[Quoted] Can you find INTERSECT and MINUS?
Can you find WITH?
[Quoted] Can you find the SAMPLE clause?
Can you find regular expressions?
[Quoted] Can you find the analytic functions?
Can you find CONNECT BY PRIOR?
[Quoted] How about CUBE? ROLLUP? GROUPING SETS? GROUP_ID?
Partition and subpartition selections?
Database links?
Could you write this?
[Quoted] SELECT CAST(POWERMULTISET(cust_address_ntab)
AS cust_address_tab_tab_typ)
FROM customers_demo;
or this?
[Quoted] SELECT customer_id, SET(cust_address_ntab) address
FROM customers_demo;
or this?
SELECT COUNT(*)
FROM all_objs
[Quoted] WHERE data_object_id IS NOT NAN;
or this?
SELECT *
FROM persons p
[Quoted] WHERE VALUE(p) IS OF TYPE (employee_t);
or this?
SELECT COUNT(*)
FROM customer_demo
[Quoted] WHERE cust_address_ntab IS NOT EMPTY;
or this?
SELECT path(1), depth(2)
FROM resource_view
[Quoted] WHERE UNDER_PATH(res, '/sys/schemas', 1)=1
AND UNDER_PATH(res, '/sys/schemas', 2)=1;
[Quoted] Trained people can.
[Quoted] I will repeat my statement again for anyone that missed it. Money is better spent on hiring and training good employees than buying dumbed down GUI tools that give the impression of competence without the substance of actually having it. The result is almost always SELECT * FROM ....
-- Daniel A. Morgan University of Washington damorgan_at_x.washington.edu (replace x with u to respond) Puget Sound Oracle Users Group www.psoug.orgReceived on Thu Sep 27 2007 - 16:57:15 CEST