Re: Navigation question

From: mAsterdam <>
Date: Sat, 24 Feb 2007 02:00:59 +0100
Message-ID: <45df8ddd$0$322$>

dawn wrote:
> mAsterdam wrote:

>> dawn wrote:
>>> mAsterdam wrote:
>>>> dawn wrote:
>> [snip]
>>>>> Add 8 "User Layer" to the OSI layers.  My questions are regarding
>>>>> layer 7, where "logical navigation" of a database might take place.

>>>> The OSI layering hides the complexity
>>>> in the lower layer from the layers above it by hiding
>>>> the concepts in the lower layer from the one above it,
>>>> except for a clean request/service interface. >>>> By using RM terms (what layer is that? - hm, dunno,

>>> It is layer 7, the application layer. The RM relates to the interace >>> between app code and the DBMS, both of which are application layer.

>> So 7d and 7a? Sub layers? I don't get it.

> 7, just 7. Do you have some other take on it?

This was an attempt to find out what you mean. I thought you introduced the OSI layers to explain which navigation you want to talk about. Not navigating disk space or memory space, in which space is the navigation taking place you /do/ want to talk about? See below.

>>>> but for the
>>>> argument it only matters that it is lower than 8 in your stack)
>>>> in the added layer 8 you are doing the opposite.

>>> Not tracking with you, the opposite of what?

>> The opposite of hiding the complexity in the lower layer
>> from the layers above it by hiding the concepts in the lower
>> layer from the one above it ...

(>> ... by mixing the terms.)
> I accept that whatever the user is doing need not be coupled to what
> the application software is doing. I was looking at different places
> for "navigation" and trying to figure out what, precisely, is the
> navigation that is frowned upon and why, precisely, is it frowned
> upon.

ISTM it is highly context sensitive why something is frowned upon.

What navigation was frowned upon? Why was it frowned upon? Was that navigation itself or the inappropriate use of the term? Who frowned?

Taken in isolation it doesn't mean much if anything. Why should I care?

Maybe you are hinting at this:
Using a CODASYL or hierarchical DBMS it is inevitable that programmers think of navigating the network or the tree: next, prior, up. The network and the tree or dag are the spaces they have to navigate. When there is no such space there is no need to navigate. Navigating where there is no space may be frowned upon.

Again, without context it doesn't really matter, does it?

> At this point I am now asking more specifically about
> navigation in the application layer of the software. That includes
> all components of applications and application suites, including the
> database and the DBMS.

>>> I'm agreeing with some who have
>>> suggested that when we are talking about the user navigating, via the
>>> code (layer 8), that does not imply we are navigating in layer 7.
>> ... by mixing the terms.

> Which terms am I mixing?

Foreign keys and links, for example.
Documents and data - how many time have you called the web a database?

>>>> earlier:
>>>>  > The question is whether the logical navigation described above has
>>>>  > something inherently "bad" about it so that we must always avoid
>>>>  > coding such navigation into our applications (combination of
>>>>  > metadata and code, for example).
>>>> This would be about the application layer, right?
>>> Yes.
>>>> (and still good/"bad", and still "logical navigation".)
>>> Yes.  So, your answer is...?
>> Mu.

> and I adore you too, mAsterdam, but no matter how I form this question
> I am either not getting straight answers or not understanding them.

Have you considered the possibility that that might be due to the question?

> I really would like to get to the point where I fully comprehend just
> what navigation is to be avoided and why. In particular, is either of
> the following an anti-pattern?
> 1. DBMS includes metadata specifications for "links" so that it is
> able to "navigate" when questions are asked that require such.

To much roman numerals.
Is this a correct arabic rephrase?

  1. The catalog can be queried in order to generate relevant queries on the fly.

No navigation going on at the interface between program and dbms, but the user may experience using this feature as navigating the database. The user interface may even be designed to emphasize this.

[snip repetition] Received on Sat Feb 24 2007 - 02:00:59 CET

Original text of this message