1. A method for using query signatures to provide security for a database, comprising: receiving a query at the database; parsing the query to determine a signature for the query, wherein the signature specifies a structure based on operations for the query and is independent of the value of literals in the query; determining if the signature is located in a signature cache, which contains signatures for valid queries; and if so, processing the query.