# Considerations when defining subset IDs

Database designers need to define the subsets and the subset IDs.

This is often trivial work in the following case:

- The subsets are defined as the database records belonging to a branch office.
- The branch office ID is contained at a fixed location of the database root key.

In this case, the subset ID is defined as the branch office ID. A subset is the group of database records belonging to the same branch office.

The following points should be observed:

- The subset ID must be completely embedded within the root key and must start at a fixed location within the root key. The length of the subset ID is fixed and must be smaller than or equal to the length of the root key.
- The number of bytes within the subset ID should be smaller than the number of bytes within the root key if the application needs the support of the Sequential Subset Randomizer in order to retrieve the first database record of a subset.
- For each subset, the user must define a value for the subset ID
during the generation of the Sequential Subset Randomizer. The Sequential Subset Randomizer supports
the following two different interpretations of the subset ID values:
- VALTYPE=E (Value type=Exact)
- The Sequential Subset Randomizer assumes that all database records belonging to a subset will have the exact value specified during the generation of Sequential Subset Randomizer as a subset ID.
- VALTYPE=H (Value type=High)
- The Sequential Subset Randomizer assumes that the value specified during the generation of the Sequential Subset Randomizer is a high value. The database records belonging to a subset have subset IDs in the range between two specified subset ID values (between the high value of the preceding subset and the high value of this subset).

- The implementation of the Sequential Subset Randomizer does not support more than 1000 subsets.