Content types with a field that get data from my custom table
Did you already try the Entity reference module? If I understand your question correctly, you could create a content type Writer and add a reference field on your Book content type. This reference field can be used to select (i.e., use the 'Select list' widget) the appropriate Writer for your Book. No need to create a custom table yourself.

With permissions you can control who's allowed to create/edit/delete each of the content types.