Důrazně doporučuji, abyste se podívali na Dědičnost tabulky tříd vzor podle definice Martina Fowlera.
Tento návrhový vzor vytvoří jednu tabulku, která obsahuje data, která jsou například společná pro všechny budovy, a poté vyžaduje samostatnou tabulku pro všechna data související s konkrétním typem budovy. Jedna věc, kterou považuji za užitečnou, je uložit pole 'typ' do nadřazené tabulky, abyste věděli, jaký typ entity máte, aniž byste museli hledat odpovídající záznamy v podřízených tabulkách.
Doporučil bych, abyste se tomu vyhnuli, pokud nemáte velmi konkrétní, dobře definovaný důvod pro použití návrhu Entity-Attribute. Jednak se při použití tohoto typu návrhu stává nemožným využít omezení na databázi k řízení toho, jaké vstupy jsou vyžadovány a jaké typy hodnot jsou povoleny. Za druhé to drasticky zpomalí veškeré dotazy, které potřebují vytáhnout data z těchto typů polí, protože data uložená v těchto polích nelze indexovat, jako byste to obvykle dělali.