I have desktop application and the database on desktop too (sqlite). I have all validations I the application. Transactions are required in this case?
Transactions are useful to ensure that every part between
begin transaction and
commit have to run without an error. If a error occurs the whole query has no effect.
This has nothing to do with
validation. You can get errors like timeouts.
All the work in the transaction is treated as a single unit. Either it is all performed or none of it is. Consistent means that a completed transaction leaves the database in a consistent internal state.
You can find more information on SQL Team - Introduction to Transactions