With just a few basic and easy-to-implement concepts developers can leave the traditional file- or table based data organization behind, and enter the fantastic world of the DataUniverse. Symmetric links on record base provides a point-of-view data representation, while inheritance of file/schema definitions allow organizing the data itself hierarchically with inheritable data attributes.
At OzOmnis 2002, Misha introduced this ‘totally different’ concept for organizing data. It was no more than just an idea, and only intended as a small aside in a session about Omnis datafiles. Amazingly, the attendee’s were very keen about the concept, raising many questions.
After more than a decade, the DataUniverse has progressed from concept to a fully working SQL-based implementation used in Misha’s 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.