Table Relations

By David Gyenes, Senior Consultant

Many people ask the same question about table relations (Parent – Child, know as “inner join” or equivalent, also called “outer join”) but they don’t seem to have the right answer. They wonder when or why we see a “plus” with a “search” or just the “search” sign within the link field or the “unlink” option.

We all know that Ninox has one-to-many relationships between two tables that have two types. When we create a “link”, by default it is an outer join, or a sub-table that will be a child table to the parent we are in, inner join. This is the key we need to understand. Both sides of the outer join can exist without the other while a child cannot without its parent.

If we have an outer join we will see both the “plus” and the “search” icons in the link field. So we not only can connect a record to the one we are in, but we can create a new one as well. The reason behind this is the linked table is not a child of any other table. If the linked table was a child of another table we could not create a new record (we wouldn’t see the “plus” icon) because a child cannot exist without a parent. We would need to create the child record from the parent record first then connect the record to the “foreign” table record.

The other side is when a child record is created we don’t have the option to unlink from the parent. Again, child cannot exist without a parent, we cannot separate (unlink) we only have the option to delete the child record.