1. A method of arranging and searching for data in a database comprising: creating a first table storing data comprising at least one data entry, the data entry comprising a plurality of data components, the first table comprising one row for each data entry; creating a second table storing the plurality of data components of the data entry of the first table, the second table comprising one row for each of the plurality of data components of the data entry of the first table; and searching the rows of the second table to identify a particular one of the plurality of data components; and returning the given data entry from the first table that includes the particular one of the plurality of data components.