Originariamente inviato da Gumble
io creerei le seguenti tabelle

libro (titolo, casa_editrice_id, autore_id, anno, pagine, versione)
casa_editrice (casa_editrice_id, nome, indirizzo, ....)
autore (autore_id, nome, cognome, ...)

oppure, dato il fatto che certi libri sono scritti da piu autori:

libro (titolo, casa_editrice_id, anno, pagine, versione)
casa_editrice (casa_editrice_id, nome, indirizzo, ....)
autore (autore_id, nome, cognome, ...)
libro_join_autore (libro_id, autore_id)

e non ti preoccupare se la tabella libri diventa bella grande. io ho tabelle con un milione di record e non ho problemi (chiaro, devi indicizzare correttamente e via dicendo).
All'interno della tabella libro hai l'id dell'autore e della casa editrice... con questi id ti ricavi i dettagli dell'autore appunto e della casa editrice.