1. A method to be executed at least in part in a computing device for managing ad hoc relationships between entities, the method comprising: determining at least two entities to be associated; associating the at least two entities from a set of: accounts, contacts, users, opportunities, and custom entities; determining a relationship associating the at least two entities, wherein the relationship is provided by at least one of: user input and an automatic process; determining a first attribute of the at least two entities that is not capturable by a query; determining a second attribute of the at least two entities that is in an unstructured format; de-normalizing a primary attribute from one of the first attribute and second attribute of the at least two entities that is in a queriable, structured format; determining at least one attribute of the relationship; determining a secondary supporting role for each of the at least two entities; assigning a type parameter and an identifier to the at least two entities; and generating a relationship record representing a connection relationship between the at least two entities and containing connection data in a single customizable intersect table enabling efficient queries over the connection data, wherein the relationship record defines the associated entities, their relationship, the first attribute and the second attribute of the at least two entities, the de-normalized primary attribute of the at least two entities in a queriable and structured format, the secondary supporting roles, the type parameters, and the at least one attribute of the relationship.