Jacamar maintains a meta model, which is well known from relational databases.
It consists of TYPES which have PROPERTIES.
Different to traditional databases, RELATIONS between types are “first class citizens”, which make foreign keys obsolete.
The meta model is visualised in a 3D room.
Types are shown as barrels.
Relations are shown as rubber bands between the barrels.
Properties are shown in a popup list with all their detailed settings.
Whenever changes are done in the MetaModel, all underlying data tables as well as all Navigation Paths are updated immediately.
This is the advantage of an online “Desktop Database”, there is no offline programming or adaptation required.
Views are used for creating, processing and presentation of data.
There are different types of views, simple views which look like flat lists. Then there are cascaded views which can fold out in a tree structure and thus clearly represent relationships in a tabular form. There are also subviews that can display detailed information on data elements in a separate window, and all views can be divided according to their function in sections. see video…
There are two general views how to look to data: a “bird view” and a “keyhole view”.
Table views are for the “bird view”.
But we wanted to be better than poor/pure flat tables.
This is another advantage to be a “Desktop database”, having an own “Rich Client” user interface, which gives the opportunity to create an Excel like feeling and handling activities.
– direct Editability in the cells incl. different types of cell editors: Fix value, content proposal, Date, … editors.
– Filter/temporary Sorting. Filters can also be saved (better than Excel)
View configuration happens directly in the system. (column navigation path definition in a “curtain” on top of the table itself.
Tables can be cascaded, showing detail information in sub tree structures (particularly interesting for for to-many relations)
The JACAMAR query language can be better described as a “Navigation language”.
Imagine all elements in the database are spheres in the space, connected as a network of rubber bands.
To define which information should be shown in a view, you “navigate” from one element along the rubber bands to the related elements and finally to the properties inside the elements.
Person.address[zip = “39108”)].town.single()
Starting with all Person elements in the database, we navigate at first to its addresses, filter the results for zip codes starting with “3” and take their town names. The last segment is a function which takes each name only one time.
This example shows:
– It is a lot easier to deal with relations compared to an SQL language, where you have to deal with JOIN statements, which is indeed only made for IT specialists.
– The language consists only of terms that were defined by the Database users themselves (except the function names).
This is the reason why we say, it has everything that makes a “Do-It-Yourself” database.
The filter function allows the flexible display of records for each user. The quick filter picks out individual records using a proposal list and complex filters can be created with multiple conditions across various branches in a cascaded view. Parametric filters can also be stored centrally and this enables the selection of relevant records in an initial view and can be included in any views.
The column sort function can be easily activated and sorts the records into ascending or descending order. see video…
In JACAMAR colour can be used to highlight or to differentiate between lines in a view, for individual cells or cell ranges and also in the Meta Model. That is to say that multiple lines of data elements can be coloured differently and the individual user can decide and display each view to their requirements. see video…
Data can be easily copied and pasted from one table and inserted into a view.
An intelligent import function automates repetitive tasks and parameters such as column titles can be imported together with the table of data.
Views and their structures can be edited on the screen and exported as you see them, resulting in a comma separated value (csv) file being created.
The role concept allows you to assign edit, read and no read privileges to different users and user groups within a project, thus managing protected and public data with a uniformed structure in a single repository. The privileges can be applied separately to a view and to the lines, columns and cells within a view and also to the specific elements of the business Meta Model such as the object types, properties and relations.
Multiple user roles also enables administrators to switch roles to carry out their daily work without affecting other users.