Cette question introduit une complexité inutile dans l'application. Ce n'est pas parce que les notes ont la même structure qu'elles sont la même entité. Lors de la modélisation de la base de données en 3NF, il ne s'agit pas de la même entité car une note ne peut pas être déplacée d'un Carnet vers une Adresse. Dans votre description, il existe une relation parent-enfant définitive entre book et book_note, etc., alors modélisez-la comme telle.
Plus de tables n'est pas un problème pour la base de données, mais la complexité du code inutile l'est, comme le montre cette question. C'est juste être intelligent pour l'amour des intelligents. C'est le problème avec les ORM, les gens arrêtent de faire une normalisation complète et ne modélisent pas correctement la base de données.