The present invention specifies database security at a row level and,
optionally, at a column and table level. The systems and methods cluster
one or more sets of rows with similar security characteristics and treat
them as a named expression, wherein clustered data is accessed based on
associated row-level security. The systems and methods specify a syntax
that invokes row(s), column(s) and/or table(s) security via programming
statements. Such statements include arbitrary Boolean expressions
(predicates) defined over, but not restricted to table columns and/or
other contextual data. These statements typically are associated with
query initiators, incorporated into queries therefrom, and utilized while
querying data. Rows of data that return "true" when evaluated against an
aggregate of associated security expressions are said to "satisfy" the
security expressions and enable access to the data stored therein. Such
security expressions can be created and invoked via the Structured Query
Language (SQL) database programming language.