Data Structure
The data structure in spunQ represents the ideas of object-relational databases.
The structures of an object-relational database management offers us the possibility to represent data in a different way then in legacy databases. A spunQ object refers to a class (a table in legacy view) to store the metadata of this object. The reference is the object_class_ref in the object-table. To handle this views spunQ knows the attributes of each table.
Let's turn around and take a look at the object-oriented view on this idea. The object data itself is split into two tables: object and object_adds. The tables are combined by a SQL view. If you have any needs to extend the object core data for your project, use the object_adds table to create new columns.
A table in the view of relational databases is a class to store metadata of an object. An attribute (a column) of a table is a member of this class. spunQ knows every time all classes and all members of the system you created by the database modelling steps.
We use these skills to create the interfaces for the data and to have a low-level security and permission system.
spunQ stores the objects in a hierarchical structure. Behind this structure lays the same idea of relations and references between objects. A folder in spunQ is an object of the struct class. The connection between the struct object and the content object is handled by the relation table (see below in section 3.1.4) Those of you being familiar with the basic idea of file systems will easily understand. Technically it is done in a recursive integration.
