A method of generating a database that is compatible with multiple end-user systems and using such a database in an end user system , the method comprising the steps of: generating a data section ; storing a plurality of data records (204-1 .. 204-N) in the data section, dividing the data section into a plurality of data tables that each include a plurality of the data records; characterised by : each data record (204-1 .. 204-N) including a feature field (206-2) associating one or more features with each data record (204-1 .. 204-N); supplying each feature field (206-2) with one or more feature bits that represent each of the features associated therewith; and generating a structure section that comprises a plurality of feature mask tables, each feature mask table including a feature mask record (1004-1 .. 1004-N) for each of the end-user systems that use one or more of the data tables that include the data records having one or more features; and including one or more feature mask values, in each feature mask record (1004-1.. 1004-N), that indicate whether one or more of the features associated with a data record are compatible with one or more of the end- user systems , to thereby indicate whether the data record is compatible with one or more of the end-user systems loading the database on to an end user system ; and retrieving data stored in the database using feature mask records (1004-1 .. 1004-N) to determine whether one or more of the features associated with a data record are compatible with the end-user system . generating a data section ; storing a plurality of data records (204-1 .. 204-N) in the data section, dividing the data section into a plurality of data tables that each include a plurality of the data records; characterised by : each data record (204-1 .. 204-N) including a feature field (206-2) associating one or more features with each data record (204-1 .. 204-N); supplying each feature field (206-2) with one or more feature bits that represent each of the features associated therewith; and generating a structure section that comprises a plurality of feature mask tables, each feature mask table including a feature mask record (1004-1 .. 1004-N) for each of the end-user systems that use one or more of the data tables that include the data records having one or more features; and each data record (204-1 .. 204-N) including a feature field (206-2) associating one or more features with each data record (204-1 .. 204-N); supplying each feature field (206-2) with one or more feature bits that represent each of the features associated therewith; and generating a structure section that comprises a plurality of feature mask tables, each feature mask table including a feature mask record (1004-1 .. 1004-N) for each of the end-user systems that use one or more of the data tables that include the data records having one or more features; and including one or more feature mask values, in each feature mask record (1004-1.. 1004-N), that indicate whether one or more of the features associated with a data record are compatible with one or more of the end- user systems , to thereby indicate whether the data record is compatible with one or more of the end-user systems loading the database on to an end user system ; and retrieving data stored in the database using feature mask records (1004-1 .. 1004-N) to determine whether one or more of the features associated with a data record are compatible with the end-user system . <EOS>