So by answering the two questions about possible populations with a simple Yes/No, CaseTalk is able to work out which uniqueness constraints should be placed. Once this has been completed the model can be automatically transformed into a logical model.

Foreign keys are derivable from fact types and their constraints. The constraints themselves can be created using a simple question-and-answer wizard presented to the domain expert and modeler without much hassle of confusion, the modeler is able to communicate the population to the domain experts and the whole discussion about foreign keys has become almost a non-issue.

This article shows how foreign keys and the difficulty with them is easily tackled when using fact based modeling. This is achieved by using the population and the verbalization of these examples in natural language. Even untrained users can answer these questions, eventually leading to correct foreign keys in the final logical model.