Parent Table
A table designated as a parent table when it is created, can act as the root, or parent in a join relationship. A parent table can have multiple child tables. The child table is linked to its parent table when it is created. So, it is necessary to create the parent table before creating the child table.
In Joins Example, "Persons" is the parent table for the joined set of tables: "Persons", "Addresses", and "Phones."
A parent table is also a standard table. Parent tables behave as standard tables when regular searches are performed on them. The process for adding, deleting, or updating records of a parent table is the same as that of a standard table. However, there are a few limitations when working with parent tables.
Restrictions
| • | A parent table cannot have more than one primary predicate index associated with it. Although it is allowed to have more than one primary index on a standard table, it is not recommended. So, this is not a major restriction. For more information about partitioned indexes, see Predicate Indexes and Joined Searches. |
| • | A parent table cannot be deleted if one or more child tables are linked to it. You cannot have a child table without a parent table. The TIBCO Patterns - Search server handles this by rejecting the deletion of any parent table that has one or more child tables linked to it. This also includes delete operations performed using the table rename function. When reloading a parent table, the standard method of loading the new version of the table to a temporary table name, and then renaming it to the permanent name, does not work. The rename operation fails because the existing parent table cannot be deleted unless all the child tables are deleted. |
| • | A parent table cannot be a child table. Therefore, TIBCO Patterns - Search does not support cascaded or multiple level join structures. |