Patent ID: 8626715

Claim:
A computer program product for performing a method of facilitating generic database editing to allow for data to be received from a user for entry into a database without requiring the data to conform to schema constraints for the database, the schema including a set of constraints on data to be entered into the database, the computer program product comprising computer readable memory having encoded thereon computer executable instructions which when executed within a computing environment perform the method comprising: examining a first schema for a first database, the first database comprising one or more database tables, columns, rows and a first set of fields, the first schema including a first set of constraints specified in the first schema on data to be entered into the first database, wherein at least some of the constraints are specified for a particular table, column or row and wherein the first set of constraints specified in the first schema requires that a first field of the first database can only accept a data value which is one of a particular set of data types; and constructing a second database corresponding to the first database, the second database being parallel to the first database and comprising a second set of fields such that each field in the first set of fields has a corresponding field in the second set of fields, wherein the second database is associated with a second schema with a second set of constraints, the second set of constraints includes zero or more constraints on a first database table column or row in the second database that are less strict than a constraint from the first set of constraints on a database column or row in the first database to which the first database table column or row corresponds and wherein the second set of constraints allows a second field of the second database corresponding to the first field of the first database to accept a data value of a data type which is not among the particular set of data types required by the field of the first database and allows the second field of the second database corresponding to the first field of the first database to accept a data value of a data type which is among the particular set of data types required by the field of the first database.