[Home] [By Thread] [By Date] [Recent Entries]

  • From: Michael Kay <mike@s...>
  • To: Roger L Costello <costello@m...>
  • Date: Thu, 28 Jul 2022 14:31:07 +0100


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



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member