Controlul concurenei poate fi definit ca o activitate de divizare sau distribuire a
datelor coninute n baza de date, ntre diferii utilizatori ai acesteia, n o astfel de manier nct procesul acestei divizri s fie complet transparent pentru utilizatori. Controlul execuiei concurente a mai multor tranzacii este necesar pentru a asigura proprietile de atomicitate, izolare i durabilitate a tranzaciilor i, prin aceasta, consistena datelor memorate n bazele de date. Controlul concurenei se poate realiza prin protocoale (set de reguli) impuse tranzaciilor astfel nct, dac acestea sunt respectate de fiecare tranzacie, orice planificare n care astfel de tranzacii particip este corect. Cele mai utilizate tehnici de control al concurenei sunt: cele bazate pe blocarea datelor prin intermediul zvoarelor (locks)-- care se bazeaz pe accesul mutual exclusiv al tranzaciilor la datele partajate. Excluderea mutual este asigurat prin primitive de tip LOCK i UNLOCK; cele bazate pe mrci de timp (timestamps)-- care ncearc s ordoneze execuia tranzaciilor conform unui set de reguli. Ordonarea tranzaciilor este asigurat prin mrci de timp asociate att tranzaciilor, ct i datelor pe care le acceseaz. O alt modalitate de control ar putea fi izolarea ntregii baze de date n timpul execuiei sau prelucrrii fiecrei tranzacii, izolarea fiind realizat de un SGBD. Protocoalele de control al concurenei sunt implementate de sistemele de gestiune a bazelor de date astfel nct programatorii de aplicaii nu opereaz n mod explicit cu zvoare sau mrci de timp, ci stabilesc opiunile prin care sistemul SGBD adopt anumite tehnici de control al concurenei.