Re: Navigation question

From: Andy Dingley <dingbat_at_codesmiths.com>
Date: 21 Feb 2007 02:27:17 -0800
Message-ID: <1172053637.665300.7510_at_a75g2000cwd.googlegroups.com>


On 20 Feb, 17:57, "Walt" <wami..._at_verizon.net> wrote:
> "Andy Dingley" <ding..._at_codesmiths.com> wrote in message
>

> news:1171990396.924858.28580_at_p10g2000cwp.googlegroups.com...> On 14 Feb, 19:47, "Marshall" <marshall.spi..._at_gmail.com> wrote:
>
> > > select * from orders where date > '2006-01-01' and status =
> > > 'fulfilled' and customerid = 1234
>
> > > You say what you want and you get just that. No sifting
> > > through stuff you don't want; no navigating.
>
> > Why is that good though? Because it avoids navigation, or because it
> > avoids round-tripping?
> > IMHO it's avoiding the second thhat is the advantage here, not the
> > first
>
> Neither of the above. It's good because it does not require the inquirer to
> know about anything other than the data.

That depends on what you care about most. IMHO, it's _both_ that are important, however some may be locally more important than others.

My experience comes from mid-size intranet web apps, where the real performance hit comes from excess round-tripping to the DB server. I would agree completely with Marshall's comment, "If get-customer and get-order run over the network, then
this software will perform poorly." However I don't see _this_statement_alone_ as sufficient reason to avoid navigational solutions. You can navigate on the DB server alone without requiring
round-tripping.

> "Navigation" as commonly used around here, means following "paths" between
> the data. If the inquirer has to navigate, the inquirer has to know about
> the available paths.

I agree, and it's a bad thing. But it's not bad for the reason that Marshall gave.

At present I'm working on a SQL system that was bucket-shop rebuilt a few years ago out of an old Unibasic hierarchical DB model. The data model wasn't refactored and we're now left with a SQL DB that's poorly designed in SQL terms and relies on lots of navigational querying. Ugly piece of cruft that it is. Navigation is certainly bad, but its bad for its own reasons. Received on Wed Feb 21 2007 - 11:27:17 CET

Original text of this message