Rollback is a process of undoing all the changes made in the transaction, freeing the resources, and bringing them back to the initial state. Rollbacks have to be done in case of transactions where different transactions depend on each other in terms of data and execution order. Locks are used to ensure serialisability and recoverability. There are two types of locks: shared lock and exclusive lock, also known as the read-and-write lock. If a data item has a lock to it, no other data transaction can access it until the lock on that data item is released. Rollbacks and locks are needed to prevent inconsistencies and ensure that a transaction's ACID properties are satisfied.