Patent ID: 8108367

Claim:
A method comprising: creating a constraint in a storage device for a database table, wherein the constraint specifies a condition for a first column in the database table and an action, wherein the action specifies whether data that violates the condition is allowed to be stored in the first column; receiving a value and a specification of a second column in the database table from a data source; if the second column is identical to the first column, if the value that has been received by the receiving but has not yet been stored to the database table violates the condition, and if the action specifies that data that violates the condition is allowed to be stored, storing the value in a row in the database and marking the row in a view status column in the database as hidden, wherein the row comprises the first column and the view status column, wherein a query returns the row if the row is marked as readable in the view status column, and wherein the query does not return the row if the row is marked as hidden in the view status column in the database by the storing in response to the data violating the condition of the constraint; and in response to a command that specifies the constraint and requests a recommendation for changing the constraint, recommending a change to the constraint that causes the value in the row to satisfy the constraint, wherein the recommending the change to the constraint further comprises searching a plurality of rows that comprise a plurality of values that violate the constraint, wherein the searching finds an extreme value in the plurality of values, wherein the extreme value has a greatest difference from an operand specified by the condition of the constraint and recommending that the operand of the condition be changed to the extreme value, wherein the recommending specifies the extreme value.