For database tables that do not have explicit primary keys, you can specify the primary key relationships in Iron Speed Designer, allowing you to create Add Record, Edit Record and Show Record pages for these tables. You don’t have to change your database schema in order to generate full-featured applications.
Virtual primary keys provide all of the benefits of a real primary key (explicitly declared within the database) to a database table or database view:
Physical tables: Virtual primary keys allow you to create Add Record, Edit Record, Show Record, Show Table and Edit Table pages.
Database views: Virtual primary keys allow you to create Show Record and Show Table pages and, in many cases Add Record and Edit Record pages.
Custom queries: Virtual primary keys are not supported.
Virtual primary keys have several additional benefits:
Images in tables with virtual primary keys can be displayed, since binary database images can only be displayed for tables with primary keys. This overcomes a limitation resulting from technical issues involving HTML/HTTP capabilities.
Improving the accuracy of the table's default keys (implicit IDs) and decreasing the size of each record's default key for many tables, views, and custom queries. This improves the runtime performance of Show Table pages and decreases the size of the ViewState for such pages.
Add virtual primary keys in the Field Display Properties dialog, accessible from either the Databases folder in the Application Explorer or the Page Properties dialog.

To create a composite virtual primary key, check the “Virtual primary key” box for each field in the composite primary key.
Virtual primary keys cannot be added to physical tables that already have a physical primary key. Tables cannot have multiple primary keys, either physical or virtual.
Setting Field Display and Data Validation Options
Primary and Foreign Key Options
Adding Virtual Foreign Key Relationships