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 associating one or more features with each data record (204-1.. 204-N); supplying each feature field 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 associating one or more features with each data record (204-1.. 204-N); supplying each feature field 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 associating one or more features with each data record (204-1.. 204-N); supplying each feature field 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.