The present invention relates to the usage pattern, commonly found in many
software applications, of defining sets of objects based on object
attributes. A specifically designed set definition language for defining
sets, called SDL, is described and a software system that implements this
language efficiently on top of a standard relational database management
system (RDBMS) is presented. The unique features of the SDL language are
the implicit constraints that are enforced on the relational data that
belong to the objects. Unique to the SDL system is also the logical
metadata of dimensions that enables the SDL system to enforce these
constraints across relations. The SDL system utilizes several
optimization techniques to enable efficient implementation on top of
RDBMS. It is also shown how the SDL language and the SQL language can be
merged with bidirectional inlining using syntactic gates. Query
composition tools are also described that facilitate the creation of SDL
expressions.