I usually try to thing like this. I have lots of books in my table, every book has an author but an author has many books.
To reduce repetition I extract the authors to their own table. The same goes for the genre since a books has a genre and a genre has many books. Then I continue through each of the fields I need and extract them if needed.
As for images I'd probably use a pivot table to join my images table to my product table.