I converted the Talent Agency file to Constellation Query Language using my ActiveFacts converter, which worked correctly (and generated an SQL database design almost the same as NORMA's, with just these tiny changes:
- Dropping the space from "Stage Name" (the version of CQL that supports multi-word names isn't yet finalised)
- Adding an initial upper-case to the "agency" role name to avoid ambiguity within the reading
- Dropping the trailing hyphen-binding -photo from BinaryFile (trailing adjectives are broken in the released version of CQL)
Then, to improve the appearance of the CQL (without changing its functionality) I:
- Added a number of reverse readings for fact types that have embedded uniqueness or mandatory constraints; such constraints can only be absorbed onto the last role player of a reading so were appearing as external constraints in CQL.
- Changed the reference mode "id" to "Id", "code" to "Code" and dropped the underscore (this is not removed automatically by my NORMA converter at present.
The result is this attached CQL, directly from the converter (no edits). It still generates the same SQL database, which has a list of tables differing only from NORMAs in that the Login table is absorbed by ActiveFacts, independent in NORMA (due to the deontic constraint which is disregarded by the current version of ActiveFacts.
I hope you'll be surprised how tractable the resultant CQL is.