Re: Definition of Navigational (was: The wisdom of the object mentors)
Date: 23 Jun 2006 13:05:23 -0700
> > The court-house example? I didn't agree it was too messy for RDBS:
> Then I probably misunderstood. If someone would like to post the SQL
> script to model the data shown in
> www.dbfordummies.com/example/ex012.asp , I think I could demonstrate
> that swampish data structures (aka networks/graphs) are easier to
> "navigate" with dbd's queries than with RM.
> > http://www.c2.com/cgi/wiki?CourtRoomSchemaExample
> I don't think this schema can hold the data in the above example, but
> if someone could post the script to do so, I would like to see it. In
> particular, note that persons can be located in a building, on a floor
> of a building, in a room of a floor of building, etc.
Do you mean in some cases we don't know the room number, but know the floor number? Such can be modeled in a schema if it is really needed, but I've never encountered it in practice. It is not much use to anybody to store the fact that they are on Floor 4, but nobody knows where on the floor. If it is not known, then sometimes one is assigned to the receptionists desk (office) such that the receptionist can help out finding somebody.
I suppose a security guard could be assigned to watch a particular floor, but that would be specific to some kind of Guard_Assignment table or the like.
IIRC, I may have agreed that your approach may be good for some kind of physical simulation or game. That may be what you remembered as far as me agreeing to something. But generally in biz we focus on logical modeling where the viewpoints or grouping need to change depending on need. For example, somebody's physical location and their function/job-title may be completely unrelated. Organizing by one makes it hard to sift/query by the other. I suppose one could traverse the whole tree to search for such, but you are essentially bypassing the structure more or less, not using it. You now require one approach to sift by one aspect (physical decomposition) and another different approach to find some kind of logical grouping or search. Why reinvent the wheel twice?
-T- Received on Fri Jun 23 2006 - 22:05:23 CEST