There are many rules for good set design. These are a few good recommendations from Alpha Anywhere developers for designing sets that are easier to maintain and use.
Place all tables in the same directory.
Keep set designs simple, especially for data entry.
Always make the main linking field the first field in the table.
Name all indexes that are the main link either the name of the table or the name of the linking field.
Avoid using spaces in table, field, or index names.
Keep all table, field, or index names to 10 character or less.
Make all linking fields character type (even if numbers or dates.)
If the linking fields are numbers, they must be left padded with zeros in order for them to sort correctly. For example:
0001 0002 0011 0100 0022 0033
The linking key should be a meaningless value (such as an auto-incremented field) that has no relation to real data.
Place memo field(s) in a separate 1-to-1 child table(s). This allows more compatible data exchange with other programs.
If you need to link tables with data fields, or an expression using multiple field values, then create separate sets for displaying/reporting these relationships.