In 2002 at OzOmnis, I introduced a – at that time totally different – concept for organizing data. It was no more than just an idea, and only intended as a small side step in my lecture about the Omnis datafiles. Amazingly, the audience was very keen about the introduction and a lot of questions were asked. Now, after more than one decade, the DataUniverse has developed from a concept to a fully working SQL-based implementation, that is used in my application.
In this lecture, we first will go through the requisites, that allow us to literally organize the world. The DataUniverse in fact is a cosmos of data, with individual links between its elements, that are not relational but symmetric. The implications are huge: You now can navigate and interpret your data set from any individual element’s perspective, giving you a dynamic point of view representation of your whole database. We will find out that it does not take much to implement a DataUniverse into existing frameworks with only a few generic elements.
In a second step, we learn how to technically implement inheritance of schema classes, so that for example a person table is inherited in a client table at one place, and a patient table at another place, without the need of duplicating the person data. In principle, we can nest data definitions
to every level we want, allowing us to implement data hierarchies within our database, and – most important – simply by using Studio’s own inheritance features and some code lines in the superclass of the table definitions.
A running gag in the Omnis community says, that every developer has his own framework. This lecture wants to enable you to partially or fully implement the DataUniverse into your own individual framework without the need of reinventing the wheel, but also without breaking your own development. All features can be expressed in your own terms and SQL implementations other than demonstrated. The session introduces a terrific way of organizing data, and how I implemented it; it is by default open for brainstorming, additional features and different implementation strategies and hopefully will give you a brand new view to data organization.
This session needs a little experience in SQL and in the object oriented paradigm of Omnis Studio.