  Since 2005, significant progress has been made in the problem of Consistent
Query Answering (CQA) with respect to primary keys. In this problem, the input
is a database instance that may violate one or more primary key constraints. A
repair is defined as a maximal subinstance that satisfies all primary keys.
Given a Boolean query q, the question then is whether q holds true in every
repair.
  So far, theoretical research in this field has not addressed the combination
of primary key and foreign key constraints, despite the importance of
referential integrity in database systems. This paper addresses the problem of
CQA with respect to both primary keys and foreign keys. In this setting, it is
natural to adopt the notion of symmetric-difference repairs, because foreign
keys can be repaired by inserting new tuples.
  We consider the case where foreign keys are unary, and queries are
conjunctive queries without self-joins. In this setting, we characterize the
boundary between those CQA problems that admit a consistent first-order
rewriting, and those that do not.
