Pertanyaan ini memperkenalkan kompleksitas yang tidak perlu ke dalam aplikasi. Hanya karena catatan memiliki struktur yang sama tidak berarti bahwa mereka adalah entitas yang sama. Saat memodelkan database dalam 3NF, mereka bukan entitas yang sama karena catatan tidak dapat dipindahkan dari Buku ke Alamat. Dalam deskripsi Anda, ada hubungan orang tua-anak yang pasti antara buku dan catatan_buku, dll, jadi buatlah model seperti itu.
Lebih banyak tabel bukanlah masalah untuk database tetapi kompleksitas kode yang tidak perlu, seperti yang ditunjukkan pertanyaan ini. Itu hanya menjadi pintar demi kepintaran. Ini adalah masalah dengan ORM, orang berhenti melakukan normalisasi penuh dan tidak memodelkan database dengan benar.