What the AI Copilot can do with subtypes and supertypes
In logical projects, the AI assistant can build and manage subtype and supertype hierarchies for you, creating discriminators, defining their differentiator attributes, and linking subtype tables, all from plain-language requests.
For the concepts behind discriminators, supertypes, subtypes, differentiator attributes, completeness, exclusivity, and transformation options, see the Logical Projects article, section "Defining subtypes and supertypes through discriminators." This article covers only what the AI assistant adds on top.
What the assistant can do
Create a discriminator. Add a discriminator to a supertype table, defining its differentiator attributes and setting its name, description, completeness, and exclusivity, in one step. Example: "Add a discriminator to the Person table with a person_type attribute (varchar), exclusive and complete."
Update a discriminator. Rename it, edit its description, switch Complete or Incomplete and Inclusive or Exclusive, or replace its differentiator attributes. Example: "Mark the discriminator on Vehicle as complete and inclusive."
Delete a discriminator. Remove the discriminator from a table. The table itself is kept. Example: "Remove the discriminator from the Contract table."
Link a subtype. Connect an existing table as a subtype of another table's discriminator, establishing the subtype and supertype relationship. Example: "Link the PartTimeEmployee table as a subtype of Employee."
Ask about your hierarchy. The assistant can read your model to answer questions such as:
- "Which tables have discriminators?"
- "What subtypes does the Vehicle supertype have?"
- "List every subtype relationship in the model."
Differentiator attributes the assistant can set
For each differentiator attribute, the assistant can specify a logical name, physical name, data type, nullability, and description. Attribute names must be unique within the table.
Putting it together
A single request can create the discriminator and link the subtypes in one move. Example: "Make Person a supertype with a discriminator on a person_type attribute, then add the existing Employee and Customer tables as subtypes." The assistant creates the discriminator on Person with the person_type differentiator attribute and links Employee and Customer as subtypes.