Advancement in information technology has been tremendous in the recent years. Distributed computing concepts are being applied to the database systems as well, leading to the development of distributed databases. A distributed database is a collection of multiple logically interrelated databases distributed over a computer network. With the making of distributed databases rose the problem of deadlocks, concurrency and management of databases. In an operating system, a deadlock is a situation which occurs when a process enters a waiting state because a resource requested by it is being held by another waiting process, which in turn is waiting for another resource. If a process is unable to change its state indefinitely because the resources requested by it are being used by another waiting process, then the system is said to be in a deadlock.Concurrency refers to the process of simultaneous accesses to the database by various processes. One needs to synchronize the accesses to ensure consistency and avoid deadlocks. In this paper, we discuss the various deadlock detection techniques and explain a new approach developed to detect and solve deadlocks.