1. A computer-implemented method performed by a computerized device, comprising: intercepting a first command issued by an application and being addressed to a database, prior to the first command being received by the database; subject to determining that the database does not comprise data for satisfying the first command as intercepted: formulating the first command as intercepted, as a mathematical or logical problem, wherein said formulating comprises one or more biasing directives in accordance with a distribution; determining by a solver, a solution to the mathematical or logical problem, the solution comprising data fabricated in accordance with pre-determined distribution of values of one or more fields, wherein the fabricated data comprises at least one value from a predetermined collection of values, wherein the fabricated data is in accordance with the distribution, wherein the fabricated data is generated in accordance with a user directive, wherein the user directive relates to a minimal and maximal number of records comprised in the response to the first command, wherein the user directive further relates to a value correlated to another value; receiving the solution for the problem; and providing to the database a second command for updating the database with the solution, thereby gathering data in the database for further usage; and providing the first command to the database, whereby a response to the first command from the database based on the fabricated data is provided to the application.