Lists Home |
Date Index |
> > The network model from the CODASYL DBTG supports many-to-many
> > relationships but,
> > like a hierarchical database, it's based on pointers.
> No, the model is not based on pointers: this is a popular myth. It is the
> implementations that were based on pointers.
You've made an important point about separating the logical model for data from
the physical model.
For set members, the network model uses a link to the prior member, to the next,
and to the set owner. The common practice for providing those links was to use
pointers. That was not mandated by the logical model, it was simply industry
practice (like digital computing and base 2 arithmetic).
> But it would be perfectly possible to design an implementation of the network
model that was optimised for evolution rather than being
> optimised for speed of navigation.
Even if you eliminate the pointer dependencies, the logical model requires
someone to define set relationships that are necessary for determining access
paths. Developers and/or tools need to understand how to navigate the sets (for
example, whether the members are in ascending or descending order as you
traverse a set).
When the sets, relationships and access paths are dynamic, we need a good
versioning system for schemas.
(Aside: Software AG's Tamino might implement XML over a network model. Adabas
was one of the most successful CODASYL DBMS products.)