Lists Home |
Date Index |
Hierarchical model had to represent all relationships using parent-child.
There was no concept of foreign keys. Hence redundancy cannot be avoided,
if you want to represent m:n relationships.
for example, if you want to represent books, people, and authors of books
who are people. If a book can be written by many people, and a person can
write many books, then hierarchical model will have redundancies.
An example is:
Suppose, "Compilers" is written by Hopcroft and Ullman, and "Automata" is
written by Motwani and Ullman. Suppose books also have attributes like
publisher, and authors also have say age..
What we need in such cases is to be able to represent relationships other
than using hierarchies. This should be represented in schema, much like
relational schema. XML provides 2 ways of doing so, which are foreign
keys, and also IDREF (which is similar to foreign keys)..
XML also has an equivalent 3rd normal form, which will exhibit the same
properties. This is still ongoing work, but I believe there is excellent
progress by folks at University of Toronto, and some folks who used to be
at UCLA :)
cheers and regards - murali.
On Mon, 25 Aug 2003, Michael Kay wrote:
> > Ah, yes. The main problems with the hierarchical model are
> > that it encourages data redundancy which leads to problems
> > during updates and deletions.
> 3rd normal form was about showing that you could move to a relational
> representation of data without introducing redundancy. The problems with
> hierarchical and network database systems were quite different: the lack
> of declarative data manipulation languages with good closure properties,
> the close coupling of the data model and its implementation in physical
> storage, the consequent high cost of data loading and reorganization.
> Another urban myth...
> Michael Kay