I was reading the book "Database Design" by Teorey, Simison et al. At a certain point it explains how to map an entity with a multivalued attribute into a relational table. The example is the following, where the multivalued attribute is hobby.
Employee(Employee_ID(PK),name,surname,hobby)
which leads to two tables
Employee(Employee_ID(PK),name,surname)
Hobby(Employee_ID(PK),hobby(PK))
The book says more or less that "given an entity E with a primary key p, a multivalued attribute E attached to an ER diagram is mapped to a a table of its own with a primary key composed of p and the attribute value(s) a". Is this a general rule ? Conisder the follwing relation with a multivalued attribute book.
Author(Author_ID(PK),name,book)
Wouldn't it be enough to create the follwing two tables where the PK of book is simply Book_ID and Author_ID is a FK without becoming part of the Book's PK ?
Author(Author_ID(PK),name)
Book(Book_ID,book,Author_id(FK))