1

SQL newby here.

I have a complex database situation I would like to implement, involving books.

What I have come up with so far is three hierarchal terms that help me define all of this, each of which requires some sort of unique id.

A) Author B) Work - a unique author/title combination C) Volume - a production of a work in a specific edition

these are required to handle all the cases below:

  1. you cannot have a book without an author (whether that is acknowledged or not), so I think this is primary.

  2. the author may be a real person, or the pseudonym of a real person (or persons), or the author may be a name used by different authors on different titles. So now you have multiple connections to the author table.

  3. an author can have many titles.

  4. In cases 2 and 3, sometimes, there are co-authors on some titles, either real or pseudonymous.

  5. Titles are not unique, there can be books by other authors with the same title.

  6. The book can be released with a different title, either under the same author’s name, or a pseudonym. There could be multiple alternate titles.

  7. each title by an author, can be released by multiple publishers, or a single publisher with multiple editions which are distinguishable, and need to be identified (differences could be book number, artist, design change, price, etc.)

  8. each author-title relationship (called a work) can have multiple other author-title relationships. e.g. Peter could edit a book called Ghosts, which includes a story by John called Haunts, and another by Harry called Werewolf. These are common to all appearances of the work.

  9. each publisher release can have multiple other author-title relationships. these are specific to a an individual volume. e.g. the cover artist for a book could be Tom, and the cover art could be a copy of his famous painting which has a title.

  10. each piece of artwork could appear on multiple works by different authors. e.g. quite common for a piece of art to appear on an American book by one author, and a totally unrelated work by a different author, on a British book.

and then all of those relationships can be defined as to whether they apply only to the author, or to all editions of a work, or only a specific volume of a work. so I think I need a unique ID for author, another for work in a different table, and a third for volume, one to which I would be attaching a cover scan.

I think this structure might work, but it seems complex. Is it efficient?

my raw diagram

4
  • Can the same author go by multiple names?
    – J.D.
    Commented May 16, 2022 at 1:24
  • better example would be Sherlock Holmes creator Doyle. A. Conan Doyle and Sir Arthur Conan Doyle would be normalized to the most common name: Arthur Conan Doyle. Commented May 16, 2022 at 3:04
  • More so I meant multiple pseudonyms, for example Stephen King also wrote under the name Richard Bachman. Obviously it's easy to make Stephen King the normalized name in this case because we know his true name, but I'm sure there's other cases or past authors whose names we don't truly know but we do know are associated among multiple names. So how would you handle such a case?
    – J.D.
    Commented May 16, 2022 at 4:33
  • Richard Bachman would be shown as the author, but it would require a link to show that Bachman is a pseudonym of Stephen King. And in fact, these particular cases represent an additional situation, in that the books were first released as by Bachman, but later editions were as by Stephen King. So there has to be a relationship between the original work as by Bachman, and subsequent works as by King. This is my point 6. Commented May 16, 2022 at 5:27

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.