I have ERP database whose good
or person
entities each have several hundreds of fields. Many of them are used for some subjects only. And hence senior companions (especially from the business division) are quite reluctant to allow me to add new fields when such need arises. E.g. I am not allowed to add such new fields as 'The country of tax residence' or 'Business form', but I am required to seek existing unused fields with the same data type (but with possibly quite different names) and to use them for my new data. I am not happy with this, but I have keep extensive documentation and with it the development process is manageable though it is not nice to work with uncomprehensible names.
As I understand the database practice, then adding new fields whose value is null for the most objects does not increase database size and consumption of resources but it greatly facilites maintainability. However, it increases the size of Java/PHP/JavaScript entities when I synchronize them with the database.
We do not use the notion of inheritance in database. We use Firebird 2.1, 3.0, but, of course, the question can be applied to other databases as well.
Clearly, this is not question about customizable fields, because new fields are used in the main software, there are quite a programming work around them, though this programming concerns only small part of the customers of the main program.