For columns of type enumeration, the enum keywords are stored in a lookup table, and the corresponding keyword lookup IDs are stored in the user table columns. This lookup schema has two advantages. First, it reduces the storage space for enum columns. Second, it makes it easy to change the keyword, because the keyword name is stored in just one place. This is an important feature for solution customization. The tradeoff for this schema, however, is when working with your solution database, you must provide views that resolve lookups rather than work with the table directly. For more information about schema requirements, see Database Schema Model.
Each lookup column has an associated lookup table. This makes it easier for the Access Workflow Designer to connect directly to the database and manage keywords for enum columns without having to know the column ID.
The link between the lookup columns in the user table and the lookup table is stored in the modColumns table.
Lookup tables have the ID column set up as primary key. All the tables using lookups, such as user tables and column relation tables, should store the ID and define it as a foreign key referring back to the lookup. The primary key-foreign key constraint ensures no invalid IDs are inserted into the solution.
Lookup tables contain columns used by the team solutions. The following table lists those columns and their data types and provides a brief description of each.
Column | Data type | Description |
Id | identity (int) | Unique identifier for each keyword used in the solution. |
Name | nvarchar(128) | Lookup value name. |
Users can add new keywords to a column. This feature is controlled by the permissions set on each lookup table. When a new keyword is added offline, the new identity value for the keyword is generated within the identity domain allocated for that client by replication. This ensures the uniqueness of identity values created offline across each team solution.