The app can contain one or more databases at the root level, each of which will contain the data containers of Contract Manager. In the sample app, there are two databases (see screenshot below): Contract Database and Company Database. Within each database you can build a hierarchical structure of containers, and you can link containers across databases via loose links.
Containers and hierarchy
A hierarchical structure within a database is constructed by creating containers and then defining parent–child relationships between containers. You can add any number of top-level containers. Within each container, you can define one or more child containers. You can use loose links to link containers across the different hierarchies of a container.
For example, in the screenshot above, there are three top-level containers: Contract (in the Contract Database DB), and Company Group and Company (in the Company Database DB) Of these three containers, only the Company container has a child container (the Department container), which itself has a child container (the Person container). Note that, while a parent can have multiple child containers, a child can have only one parent.
Each container has a set of definitions (shown below for the Person container). The most important of these are: the container's fields, the forms designed for the container, and the filters to restrict data selection. These definitions are described in their respective topics: Containers, Fields, Filters, and Forms.
When data is entered, it is entered as a record of a container. For example, records of all persons are entered as records of the Person container. These records are entered in a (data) entry form of the Person container, which is designed to contain data entry options for fields of the Person container (such as Name, ID, and Email). The Person entry form would also contain an option to link the Person record to a field value of another container (for example, to the Legal department, where Legal is the value of the Department container's Name field). In this way, a relationship is built between Person records and another container, say the Department container. It is through these relationships that records in different containers are linked and the data is available for structuring. For example, it would now be possible to list, say, all the persons in a company's different departments, or all the software contracts that expire in the next quarter.
Also see How the App's Data Is Structured.