Consider multiple relational database schemas that have an inheritance dependency structure as known from OOP systems:
Tables are just a placeholder for arbitrary database objects such as Views, Stored Procedures, etc.
Are there any methods or tools that might help me express this abstraction? Such as a package manager that builds modular create and upgrade scripts?
(I am not talking of O/R Mapping within one database schema. Actually I am primarily thinking about an BI application, so there is no ORM anyway.)
4
Perhaps Liquibase can help with its include tag. Put the more common table definitions in separate changesets. Then include these in the more specific ones.
This allows you to maintain the different levels of tables separately, but generate specific databases as required. Plus it adds all the versioning options of Liquibase.
For more information see the documentation of the Liquibase include tag.