Relaxing constraints on base variables simplifies data entry applications.
The idea is for the application to directly view/edit the unconstrained base variables, rather than temporary variables. This is called in-place data entry.
The following illustrates in-place data entry on a table:
The rendition (which highlights errors) is a pure function of the database state.
UI event handlers open short lived transactions and directly update the database. This corresponds to individual mouse and keyboard events, such as the insertion of a single character in a string.
When database replication and synchronisation is used, interactive multi-user editing of the data happens automatically, without any extra coding effort.