We present a new method of detecting privacy violations in the context of database publishing. Our method defines a published view V to preserve the privacy of a secret query Q if V and Q return no tuples in common, over all possible database instances. We then establish necessary and sufficient conditions that characterize when V preserves the privacy of Q in terms of the projected inequalities in the queries, both for conjunctive queries and queries with negation. We also show that integrity constraints have an effect on privacy, and derive a test for ensuring privacy preservation in the presence of FD constraints. The issue of privacy preservation in the presence of multiple views is investigated, and we show that it can reduced to the single view case for a suitably chosen view.