Dissertação para obtenção do Grau de Mestre em
Engenharia InformáticaDatabases store information that is intended to model the real world and to help in
modeling, they use constraints that shape the information according to the world view.
However, when a new constraint is defined, the data contained in the database may not
respect it and so the database should be repaired. Those repairs are made by adding,
removing or updating tuples, making as few modifications as possible to satisfy the constraints.
In order to determine the repairs of a database with respect to new constraints,
there are already some available approaches that provide a solution. But databases also
need to contain information that is absence, which is represented through null values.
Null values are not regular values and they represent information that is missing or
unknown. When using null values, there is no consensus in the literature on how to
interpret them when checking constraint satisfaction. Also, there is not a practical implementation to do the repairing regarding null values.
In this document, we study the problem of dealing with null values in the repairing
process and propose a (both practical and theoretically sound) solution for this problem including the definition of semantics for null values to achieve constraint satisfaction, and how to proceed to make the databases repairs, ending with a practical implementation of the proposed solution using Answer-set Programming.FCT project ASPEN - Answer Set Programming
with BoolEaN Satisfiability (PTDC/EIA-CCO/110921/2009