As databases are increasingly outsourced to the cloud, data owners
require various security assurances. This paper investigates one
particular assurance, query integrity, by which a database querier
(either the data owner or a third party) can verify that its queries
were faithfully executed by the cloud server with respect to the outsourced database. Query integrity is investigated in the setting of
dynamic databases, where the outsourced databases can be updated
by the data owners as needed. We present a formal security definition
of query integrity and a provably-secure efficient construction.
Our solution improves upon the state-of-the-art solutions by additionally allowing aggregate queries and more flexible join queries. In addition, we provide better performance by eliminating a linear factor in the extra storage complexity for security purpose. Our solution also achieves a trade-off between computational and communication complexities.