Parent and Child Roles
- A table may participate in any number of ‘is-part-of’ relations or associations in either of two ways: as parent container or child component (but not both).
- A table’s child roles are explicitly identified by the fact that it contains a foreign key or ‘fkey’ field for each child role (e.g. ‘XXid’ identifies parent type as ‘XX’).
- Chgen finds out a table’s parent roles indirectly (by detecting the parent table type in the name of some fkey attribute in another (child) table.
- Chgen does not suport cyclic schemas in which an fkey references the table type which contains it.