31. The method of claim 25 , wherein the user's selection of one of the presented natural language query options includes a selection to combine columns of the first and second datasets to create the combination dataset, which includes columns found in the first and second datasets that are chosen based on criteria specified by the user, wherein the method further comprises receiving the specified criteria from the user.
25. A method of constructing a query with which to retrieve information from a database, the method comprising: representing graphically a first dataset of a database as a first icon and a second dataset of the database as a second icon in a canvas presented to a user on a display of a computer system; receiving an indication to combine the first dataset with the second dataset, wherein the indication is received in response to the first icon being graphically associated with the second icon in the canvas; based on the received indication and metadata associated with the first dataset and the second dataset, presenting to the user on the display of the computer system natural language query options for combining elements of the first and second datasets, the natural language query options including intuitive descriptions of the combining elements based on the metadata and an experience level of the user, the intuitive descriptions being different for users with different experience levels; in response to the user's selection of one of the presented natural language query options, generating a third icon in the canvas representing a combination dataset of elements of the first and second datasets; representing user-defined relationships between the first and second datasets and the combination dataset as a connected graph of the first, second and third icons, wherein the connected graph presents a graphical representation of the query to the user; constructing, by at least one processor of the computer system, a machine-readable structured query based on the connected graph; and returning data from the database, the returned data corresponding to an execution of the machine-readable structured query against the database.