Saya sangat menyarankan Anda melihat Pewarisan Tabel Kelas pola seperti yang didefinisikan oleh Martin Fowler.
Pola desain ini membuat tabel tunggal yang menyimpan data yang umum untuk semua Bangunan, misalnya, lalu memerlukan tabel terpisah untuk data apa pun yang terkait dengan tipe bangunan tertentu. Satu hal yang menurut saya berguna adalah menyimpan bidang 'tipe' di tabel induk sehingga Anda mengetahui jenis entitas apa yang Anda miliki tanpa harus mencari catatan terkait di tabel anak.
Saya akan merekomendasikan bahwa kecuali Anda memiliki alasan yang sangat spesifik dan terdefinisi dengan baik untuk menggunakan desain Entitas-Atribut, Anda menghindarinya. Untuk satu hal, menjadi tidak mungkin ketika menggunakan jenis desain ini untuk memanfaatkan batasan pada database untuk mengontrol input apa yang diperlukan dan tipe nilai apa yang diizinkan. Di sisi lain, ini akan secara drastis memperlambat kueri apa pun yang perlu mengeluarkan data dari jenis bidang tersebut karena data yang disimpan di bidang tersebut tidak dapat diindeks seperti biasanya.