The document discusses various techniques for concurrency control in databases including locking, timestamping, and optimistic methods. Locking techniques like two-phase locking and timestamp ordering are explained in detail. Two-phase locking divides a transaction into a growing phase where locks are acquired and a shrinking phase where locks are released. Timestamp ordering assigns each transaction a unique timestamp based on submission time to prevent deadlocks. The document also discusses problems like deadlocks and starvation as well as solutions like deadlock detection and timeouts.