1. A method for analyzing a data source to find association relationships between attributes recorded in the data source, comprising: (a) receiving two or more data records, each record containing one or more of attributes of interest; (b) defining at least two attribute k-patterns by reference to a subset of the attributes, where k is an integer and represents the number of attributes that are included in a k-pattern and k is assigned at least two non-zero integer values; (c) using an invertible mapping algorithm, mapping each of the at least two attribute k-patterns into an associated key; (d) determining a distribution pattern for each of the at least two attribute k-patterns defined in step (b); (e) inverting the mapping to decode from the keys to the associated attribute k-pattern; and (f) using the keys, associating the distribution patterns determined with each of the at least two attribute k-patterns.