Re: Equivalence of hierarchical and flat data formats
Michael Kay <[email protected]>
| Newsgroups | gmane.text.xml.devel |
|---|---|
| Message-ID | <[email protected]> |
> > I don’t understand. The following flat data format uses primary/foreign keys to implement nesting: In relational database normalization, a one-to-many relationship like book-has-author is usually represented by adding a primary key to the "one" end (book) and a foreign key to the "many" end (author). The problem then is how to represent the fact that there is a defined ordering to the authors of a book; and there's a variety of ways of handling this. You've completely ignored normalization here - which is your prerogative, but it makes it meaningless to talk about primary and foreign keys. Actually of course the book-has-author relationship is many-to-many, which creates another raft of issues. Michael Kay Saxonica > > BookList.dat > Compilers Principles, Techniques, Tools AUT01 Addison-Wesley 1986 > Introduction to Compiling Techniques AUT02 McGraw-Hill 1996 > Economic Facts and Fallacies AUT03 Basic Books 2011 > Economics in One Lesson AUT04 Harper & Brothers 1946 > > AuthorsList.dat > AUT01 Alfred V. Aho, Ravi Sethi, Jeffrey Ullman > AUT02 J. P. Bennett > AUT03 Thomas Sowell > AUT04 Henry Hazlitt > > Suppose I want to update the list of authors. Specifically, I want to add “John Doe” to the beginning of the AUT01 author list: > > AUT01 John Doe, Alfred V. Aho, Ravi Sethi, Jeffrey Ullman > > That update operation seems pretty straightforward to me. What is the issue that I’m not seeing? > > /Roger