1. A method for automatic and dynamic adaptation of cache groups in a database system having one or more processors, the method comprising: analyzing a database query and determining if a set of predicates in a predicate pattern are suitable for inclusion in one or more cache groups, the one or more cache groups having one or more cache tables; mapping value-based predicates in the predicate pattern to a filling column in the one or more cache tables; and mapping equi-join predicates in the predicate pattern to a referential cache constraint in the one or more cache tables, wherein new cache groups are created for predicate patterns occurring more frequently and existing cache groups are deleted if the frequency of the predicate pattern falls below a predetermined threshold value.