There is no foreign key between the tables in the repository in SQL Server.

From the architect point of view, there are 2 common places to have the logic: in the database (by having triggers, stored procedure, foreign key etc) or in the application server. Different architects have different opinions. We choose to have the logic in the application server, SourceAnywhere Standalone server.

For most OLTP systems (like SourceAnywhere Standalone), the backend SQL database usually is the bottleneck of the whole system. By moving the logic away from the database server, the throughput of the whole system can be greatly improved.