OOOGUI natively gives you the ability to create and manage any custom data model. The way OOOGUI achieves this, is by implementing CRUD functionalities for a serie of base elements. To understand what these elements mean, we will compare their definitions according to 3 different paradigma. If you know how a database works, or how object oriented languages work, then will be immediate for you to understand how OOOGUI works and its data model.
In this table for each row there is an element of OOOGUI compared with its equivalent element in OOP languages and in DATABASES:
OOOGUI paradigma | Object Oriented Programming paradigma | Database Schema paradigma |
Object | Class | Table |
Instance | Instance | Record |
Property | Class Variable | Field |
Property data type | Variable type | Field data type |
Relation | Ability for my class to instantiate other classes | Relations tables with foreign keys |
Relation Instance |
Instance of another class stored in a variable of my class |
A single row in a relation table |
Query | Method that returns instances of some objects according to some rules | SQL query on ome or more tables |
So base elements in OOOGUI are: Objects, Instances, Properties, Data types, Relations and Relations Instances.