For background info on the method I'm going to use see this article on Anchor Buoy methodology:
Start with a new table occurrence of your Book table and then set up these relationships with it:
AuthorPerson and AgentPerson are new table occurrences of Person.
Base your layout on BookForLayout and you can place two portals on your Book layout to list agents and authors. (This assumes you can have both multiple authors and multiple agents for a single book. If you can only have a single agent for any given book, you do not need the second join table.)
Thanks very much for this, it seems to be working properly.
Yes, there can be agents and authors for a single book. One can also be an agent AND an author (although this is a rare case). Will this structure allow that?
This structure allows links to both agents and authors. The person record can be the same (agent is an author), but you have separate links to it in the two different join tables.
I'm trying to point out that the join table for agents will be unecessary unless you have situations where you have more than one agent for the same book.
Yes, I believe that's how I've set it up, and it seems to work properly. Oh, and yes, there can be multiple agents and multiple authors for the same book (they are both many-to-many relationships).
Thanks again, for now this seems to be doing the job!