5

Consider multiple relational database schemas that have an inheritance dependency structure as known from OOP systems:

layers

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.)

asked Apr 5, 2015 at 15:42
4
  • Are you trying to develop a multi tenant system? (multiple clients using basically the same app but with the possibility of some customization?) Commented Apr 6, 2015 at 14:53
  • No, this is not required. Consider thousands of database instances/installations Commented Apr 7, 2015 at 19:26
  • I am still not quite sure what you are trying to accomplish. From the diagram it looks like a software as a service platform with multiple clients and possible customization per client. Commented Apr 7, 2015 at 19:32
  • I understand "multi tenant system" as multiple clients in one hosting environment, maybe I am wrong here. What I am trying to achieve is a clean versioning at each level. Liquibase looks interesting. Commented Apr 8, 2015 at 19:49

1 Answer 1

1

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.

answered Apr 6, 2015 at 10:14

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.