Didn't even wait for a bathroom break to read this!  

My comments:  I don't understand what his Q1-Qn column are for in his 
table.  I'm hoping he doesn't mean that you would need to create a finite 
amount 
of columns for levels....

I'm interested in your quote:  "and self-joining allows any part to be 
tracked to n depth."   Is that just a thought of yours, or did Codd have an 
example of how a self-join would achieve that?

Karen


In a message dated 3/22/2012 1:23:41 PM Central Daylight Time, 
[email protected] writes: 
> All:
> 
> Bathroom reading, perhaps.
> 
> Last week's thread dealt with the question of how one might process a
> BOM of any depth; but the introduction of 'nested sets' and Karen's use
> yesterday of a recursive self-join ("SQL Help") tripped a memory.
> 
> Dr. Codd dealt with the BOM question very early on in his development
> and exposition of the relational model, and gave the issue a meaningful
> review (Ch.28) in his book: 'The Relational Model for Database
> Management Version 2' (Codd, E.F. Addison-Wesley 1990).
> 
> In response to critics who held forth that the relational model could
> not handle BOM-type hierarchies, Dr. Codd wrote (p453):
> 
> "A hierarchy may be an adequate representation in a few manufacturing
> environments, but in many - probably most - it is not adequate. In these
> latter environments, a particular type of part may be an immediate
> component of several types of parts, not just one. A second,
> all-too-rapid conclusion is that a DBMS is needed that exposes
> network-structured data to users.
> 
> "In fact, in 1970 I presented [Codd 1970] an extremely simple
> representation of product structure in the relational model by means of
> the COMPONENT relation:
> 
> COMPONENT (SUB_P# SUP_P# Q1 Q3 ...Qn)
> 
> "where SUB_P# denotes subordinate part number, SUP_P# denotes superior
> part number, and Q1, Q2, ..., Qn denote immediate properties of each
> particular subordination.
> 
> "Incidentally, if (p1,p2,q1,q2,...,qn) is a row of the COMPONENT
> relation, then part p1 is an IMMEDIATE component of part p2." [And
> here's the rub:] "The fact that part p is a non-immediate component of a
> part p7 (say) is not directly represented in the COMPONENT relation. A
> fact of this type can be easily derived by the RECURSIVE JOIN operator
> ...
> 
> "In a computer-oriented sense, this kind of representation in a relation
> is adequate for all kinds of networks, whether they happen to be pure
> hierarchies, acyclic nets, or nets in which cycles may recur..."
> 
> "...the relational representation is probably not the best for use by
> human beings, for whom graphs drawn as pictures appear to be more
> comprehensible and suitable. However, that subject can be discussed
> separately, and handled by separate code, when presenting data to people
> in a form more consumable by people (e.g., the formatting of reports)-it
> has very little relevance to mechanizing the management of data."
> 
> ****************
> 
> What Dr. Codd appears to say is that ANY LEVEL of BOM subordination can
> be achieved with the simple "COMPONENT" structure described above. No
> extension (add'l columns) is required to recognize n LEVELS of
> subordination; and self-joining allows any part to be tracked to n
> depth.
> 
> And he addresses the applicability of 'nested sets' to this application.
> It didn't take long last week to figure out that a) the nested set
> approach is the 'visual', 'human-suitable' approach which he considers
> representational, b) that the right/left adjacency proposed within the
> nested set model wraps a layer of 'metadata' around base data values,
> and c) where a given part appears in two or more nesting paths, the
> model chokes, at best requiring that an additional layer of 'metadata'
> be constructed around data values.
> 
> Interestingly, the nested set approach does seem to have value in
> situations where the child-parent relationships are eternally fixed, for
> example, in a condominium complex where the number of buildings and the
> number of units within each building will never (barring catastrophe)
> change; or where PHYSICAL adjacency needs to be described, for instance,
> in a mapping application. Something to play with.
> 
> Thanks to Karen, Ben, A.G. and others who sent me down this path.
> 
> Yours in learning
> 
> Bruce Chitiea
> SafeSectors, Inc.
> 
> 
> 

Reply via email to