Learning from exceptions in databases

To utilize database management systems, a database designer must construct a schema, which is used to validate the data stored and help set up efficient access structures. Because database design is an art, and because the real world is irregular, unpredictable, and evolves, truly useful database systems must be tolerant of occasional deviations from the constraints imposed by the schema, including so-called “semantic integrity constraints,” which are first-order assertions about consistent database states. For example, the integrity constraint