Re: Navigation question

From: dawn <dawnwolthuis_at_gmail.com>
Date: 2 Mar 2007 16:01:45 -0800
Message-ID: <1172880105.054982.39170_at_t69g2000cwt.googlegroups.com>


On Mar 2, 5:47 pm, "Walt" <wami..._at_verizon.net> wrote:
> "dawn" <dawnwolth..._at_gmail.com> wrote in message
>
> news:1172877660.688429.210570_at_v33g2000cwv.googlegroups.com...
>
>
>
> > > > That is my term. Again, I am still trying to figure what what people
> > > > mean when they indicate that we as a profession have already learned
> > > > that "database navigation" is a bad thing. What navigation is bad,
> > > > what about navigation is bad, and why is it bad. I'm am not
> > > > interested in anything related to physical navigation but to database
> > > > navigation at a logical level (the level where a logical data model
> > > > fits).
>
> > > I give up. I have no idea what you are talking about.
>
> > > > What type of navigation do you think that paper is arguing against?
>
> > > It's arguing against "navigation".
>
> > This is such a circular discussion. I apologize if I am making it
> > such. My original question was whether there really is large data-
> > based software that does not have whatever this navigation is that is
> > pooh-poohed. I think that most here will agree that many database
> > folks speak ill of "navigation." I'm trying to figure out what this
> > navigation is that is so bad because I see navigation, database
> > navigation, all over the place and seems to be a viable design
> > pattern, to be employed as any other design pattern (with due
> > diligence to the quality attributes of the product, peformance,
> > maintainability, etc).
>
> Yes, and the original answer (I think from JOG) was that SQL does not do
> navigation.

I didn't effing ask if SQL did navigation, did I? (copping an attitude ;-)

> And your reply was that "oh, yes, it does". That's what started the spiral
> (not quite a circle).

I definitely agree that SQL, itself, does not do navigation, but that does not mean that software cannot navigate around a DBMS, possibly employing SQL as one of the tools. A single SQL statement is not about navigation, agreed, but taking a foreign key value as output from one and using it to prime another is navigation, right, or is that type of navigation not considered navigation?

> I think the paper you quoted, JOG, and myself have roughly the same
> understanding of what "navigation" is. If your understanding is different,
> I can live with that. But it's up to you to explain the difference between
> your understanding and the common understanding.

I'm trying to understand the common understanding because I don't see anything inherently wrong with employing a "database navigation design pattern" in software.

So, is the following database navigation and (since it obviously is) is it of the form considered bad?

Software developer specifies to the DBMS that attribute addressId is a foreign key to Address.
Software developer executes query corresponding to pseudocode: select name, Address.city from Person;

> > I quoted one paper that is mentioned in other writings that speaks
> > against navigation but this navigation seems to be conflated, perhaps,
> > or at least aligned with physical navigation. So, I would like an
> > example of what is spoken against when folks are pooh-poohing
> > navigation. The two examples I gave, were one where an application
> > developer uses output from one query (foreign key value) to "navigate
> > to" another "spot" in the DBMS and the other where the DBMS takes the
> > query plus the metadata specification of a foreign key link and
> > "logically navigates"
>
> Yes, and JOG told you that that's not navigation, right?

No, I don't think that is what he said was not navigation, but I might have misunderstood -- can you find the spot where he says that? It obviously is navigation. It is in the example I gave above. Would you say that is NOT navigation? If not, then what IS navigation?

> > (that is, I don't care if it sequentially reads
> > the entire medium multiple times at the physical layer, but to the
> > developer the database is navigated). If no one can give an example
> > of bad navigation (at the logical level), then could someone at least
> > tell if either or both of the examples I have provided for navigation
> > are bad and, if so, why.
>
> If there is no navigation at the logical level, then there is no bad
> navigation at the logical level.

I'm starting to pull my hair out on this one. I might have to shave it off and get some tattoos.

> > I very much appreciate any effort given to try to help me understand
> > more precisely what database navigation is considered bad and why.
>
> Address based access.

These are logical addresses, what is bad about them? I understand and have heard repeatedly the mantra, but I am not getting a clear picture of why this design pattern, why "address based access" is considered bad.

Thanks. --dawn Received on Sat Mar 03 2007 - 01:01:45 CET

Original text of this message