A method of generating a database query, the method comprising the steps of; receiving a user selection of one of a number of predetermined generic database queries from a user; automatically generating user specific data from the user profile data corresponding to the user, the user profile data comprising a user data statement table comprising a number of user data statements, wherein each user data statement comprises a relationship identifier and two or more data items, the user specific data being generated by: i) generating a user data items list comprising all of the data items comprised in the user data statement table; ii) for each of a set of predetermined applicable query statements associated with the selected generic database queries, each of the applicable query statements comprising an applicable relationship identifier, an applicable data item and a variable, inserting each of the data items held in the user data statement table into the applicable query statement and storing the applicable query statement in an applicability criteria data set if it matches one of the user data statements held in the user data statement table; iii) for each of a set of predetermined effects query statements associated with the selected generic database queries, each of the effects query statements comprising an effects relationship identifier and a variable, inserting each of the elements of the applicability criteria data set into the effects query statement and storing it in the user specific data if it matches one of the user data statements held in the user data statement table; and automatically applying the user specific data to a number of user specific generator query statement associated with the selected generic database queries, each of the query generator statements comprising a predetermined relationship identifier, a data item variable and a search term, in order to generate one or more user specific queries. receiving a user selection of one of a number of predetermined generic database queries from a user; automatically generating user specific data from the user profile data corresponding to the user, the user profile data comprising a user data statement table comprising a number of user data statements, wherein each user data statement comprises a relationship identifier and two or more data items, the user specific data being generated by: i) generating a user data items list comprising all of the data items comprised in the user data statement table; ii) for each of a set of predetermined applicable query statements associated with the selected generic database queries, each of the applicable query statements comprising an applicable relationship identifier, an applicable data item and a variable, inserting each of the data items held in the user data statement table into the applicable query statement and storing the applicable query statement in an applicability criteria data set if it matches one of the user data statements held in the user data statement table; iii) for each of a set of predetermined effects query statements associated with the selected generic database queries, each of the effects query statements comprising an effects relationship identifier and a variable, inserting each of the elements of the applicability criteria data set into the effects query statement and storing it in the user specific data if it matches one of the user data statements held in the user data statement table; i) generating a user data items list comprising all of the data items comprised in the user data statement table; ii) for each of a set of predetermined applicable query statements associated with the selected generic database queries, each of the applicable query statements comprising an applicable relationship identifier, an applicable data item and a variable, inserting each of the data items held in the user data statement table into the applicable query statement and storing the applicable query statement in an applicability criteria data set if it matches one of the user data statements held in the user data statement table; iii) for each of a set of predetermined effects query statements associated with the selected generic database queries, each of the effects query statements comprising an effects relationship identifier and a variable, inserting each of the elements of the applicability criteria data set into the effects query statement and storing it in the user specific data if it matches one of the user data statements held in the user data statement table; and automatically applying the user specific data to a number of user specific generator query statement associated with the selected generic database queries, each of the query generator statements comprising a predetermined relationship identifier, a data item variable and a search term, in order to generate one or more user specific queries.